diff options
| -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 | ----------------- |
