aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/s390/driver-model.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/s390/driver-model.txt')
-rw-r--r--Documentation/s390/driver-model.txt15
1 files changed, 12 insertions, 3 deletions
diff --git a/Documentation/s390/driver-model.txt b/Documentation/s390/driver-model.txt
index df09758bf3fe..efb674eda4d4 100644
--- a/Documentation/s390/driver-model.txt
+++ b/Documentation/s390/driver-model.txt
@@ -16,10 +16,12 @@ devices/
16 - 0.0.0000/0.0.0815/ 16 - 0.0.0000/0.0.0815/
17 - 0.0.0001/0.0.4711/ 17 - 0.0.0001/0.0.4711/
18 - 0.0.0002/ 18 - 0.0.0002/
19 - 0.1.0000/0.1.1234/
19 ... 20 ...
20 21
21In this example, device 0815 is accessed via subchannel 0, device 4711 via 22In this example, device 0815 is accessed via subchannel 0 in subchannel set 0,
22subchannel 1, and subchannel 2 is a non-I/O subchannel. 23device 4711 via subchannel 1 in subchannel set 0, and subchannel 2 is a non-I/O
24subchannel. Device 1234 is accessed via subchannel 0 in subchannel set 1.
23 25
24You should address a ccw device via its bus id (e.g. 0.0.4711); the device can 26You should address a ccw device via its bus id (e.g. 0.0.4711); the device can
25be found under bus/ccw/devices/. 27be found under bus/ccw/devices/.
@@ -97,7 +99,7 @@ is not available to the device driver.
97 99
98Each driver should declare in a MODULE_DEVICE_TABLE into which CU types/models 100Each driver should declare in a MODULE_DEVICE_TABLE into which CU types/models
99and/or device types/models it is interested. This information can later be found 101and/or device types/models it is interested. This information can later be found
100found in the struct ccw_device_id fields: 102in the struct ccw_device_id fields:
101 103
102struct ccw_device_id { 104struct ccw_device_id {
103 __u16 match_flags; 105 __u16 match_flags;
@@ -208,6 +210,11 @@ Each ccwgroup device also provides an 'ungroup' attribute to destroy the device
208again (only when offline). This is a generic ccwgroup mechanism (the driver does 210again (only when offline). This is a generic ccwgroup mechanism (the driver does
209not need to implement anything beyond normal removal routines). 211not need to implement anything beyond normal removal routines).
210 212
213A ccw device which is a member of a ccwgroup device carries a pointer to the
214ccwgroup device in the driver_data of its device struct. This field must not be
215touched by the driver - it should use the ccwgroup device's driver_data for its
216private data.
217
211To implement a ccwgroup driver, please refer to include/asm/ccwgroup.h. Keep in 218To implement a ccwgroup driver, please refer to include/asm/ccwgroup.h. Keep in
212mind that most drivers will need to implement both a ccwgroup and a ccw driver 219mind that most drivers will need to implement both a ccwgroup and a ccw driver
213(unless you have a meta ccw driver, like cu3088 for lcs and ctc). 220(unless you have a meta ccw driver, like cu3088 for lcs and ctc).
@@ -230,6 +237,8 @@ status - Can be 'online' or 'offline'.
230 a channel path the user knows to be online, but the machine hasn't 237 a channel path the user knows to be online, but the machine hasn't
231 created a machine check for. 238 created a machine check for.
232 239
240type - The physical type of the channel path.
241
233 242
2343. System devices 2433. System devices
235----------------- 244-----------------