diff options
Diffstat (limited to 'Documentation/s390/driver-model.txt')
-rw-r--r-- | Documentation/s390/driver-model.txt | 15 |
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 | ||
21 | In this example, device 0815 is accessed via subchannel 0, device 4711 via | 22 | In this example, device 0815 is accessed via subchannel 0 in subchannel set 0, |
22 | subchannel 1, and subchannel 2 is a non-I/O subchannel. | 23 | device 4711 via subchannel 1 in subchannel set 0, and subchannel 2 is a non-I/O |
24 | subchannel. Device 1234 is accessed via subchannel 0 in subchannel set 1. | ||
23 | 25 | ||
24 | You should address a ccw device via its bus id (e.g. 0.0.4711); the device can | 26 | You should address a ccw device via its bus id (e.g. 0.0.4711); the device can |
25 | be found under bus/ccw/devices/. | 27 | be found under bus/ccw/devices/. |
@@ -97,7 +99,7 @@ is not available to the device driver. | |||
97 | 99 | ||
98 | Each driver should declare in a MODULE_DEVICE_TABLE into which CU types/models | 100 | Each driver should declare in a MODULE_DEVICE_TABLE into which CU types/models |
99 | and/or device types/models it is interested. This information can later be found | 101 | and/or device types/models it is interested. This information can later be found |
100 | found in the struct ccw_device_id fields: | 102 | in the struct ccw_device_id fields: |
101 | 103 | ||
102 | struct ccw_device_id { | 104 | struct 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 | |||
208 | again (only when offline). This is a generic ccwgroup mechanism (the driver does | 210 | again (only when offline). This is a generic ccwgroup mechanism (the driver does |
209 | not need to implement anything beyond normal removal routines). | 211 | not need to implement anything beyond normal removal routines). |
210 | 212 | ||
213 | A ccw device which is a member of a ccwgroup device carries a pointer to the | ||
214 | ccwgroup device in the driver_data of its device struct. This field must not be | ||
215 | touched by the driver - it should use the ccwgroup device's driver_data for its | ||
216 | private data. | ||
217 | |||
211 | To implement a ccwgroup driver, please refer to include/asm/ccwgroup.h. Keep in | 218 | To implement a ccwgroup driver, please refer to include/asm/ccwgroup.h. Keep in |
212 | mind that most drivers will need to implement both a ccwgroup and a ccw driver | 219 | mind 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 | ||
240 | type - The physical type of the channel path. | ||
241 | |||
233 | 242 | ||
234 | 3. System devices | 243 | 3. System devices |
235 | ----------------- | 244 | ----------------- |