diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2006-03-24 12:15:13 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-24 16:33:15 +0100 |
commit | dc06010c62da773321258df1d8a1708a3158e29d (patch) | |
tree | 5f1981646537980d92e7c0ccc24867dfe116307e /Documentation/s390/driver-model.txt | |
parent | [PATCH] s390: wrong interrupt delivered for hsch() or csch() (diff) | |
download | linux-dc06010c62da773321258df1d8a1708a3158e29d.tar.xz linux-dc06010c62da773321258df1d8a1708a3158e29d.zip |
[PATCH] s390: cio documentation update
Update documentation of the common I/O layer:
- Add MSS-specific example.
- Add more information on ccwgroup devices.
- Add channel path type attribute.
- Fix typo.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
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/ - 0.0.0000/0.0.0815/ - 0.0.0001/0.0.4711/ - 0.0.0002/ + - 0.1.0000/0.1.1234/ ... -In this example, device 0815 is accessed via subchannel 0, device 4711 via -subchannel 1, and subchannel 2 is a non-I/O subchannel. +In this example, device 0815 is accessed via subchannel 0 in subchannel set 0, +device 4711 via subchannel 1 in subchannel set 0, and subchannel 2 is a non-I/O +subchannel. Device 1234 is accessed via subchannel 0 in subchannel set 1. You should address a ccw device via its bus id (e.g. 0.0.4711); the device can be found under bus/ccw/devices/. @@ -97,7 +99,7 @@ is not available to the device driver. Each driver should declare in a MODULE_DEVICE_TABLE into which CU types/models and/or device types/models it is interested. This information can later be found -found in the struct ccw_device_id fields: +in the struct ccw_device_id fields: struct ccw_device_id { __u16 match_flags; @@ -208,6 +210,11 @@ Each ccwgroup device also provides an 'ungroup' attribute to destroy the device again (only when offline). This is a generic ccwgroup mechanism (the driver does not need to implement anything beyond normal removal routines). +A ccw device which is a member of a ccwgroup device carries a pointer to the +ccwgroup device in the driver_data of its device struct. This field must not be +touched by the driver - it should use the ccwgroup device's driver_data for its +private data. + To implement a ccwgroup driver, please refer to include/asm/ccwgroup.h. Keep in mind that most drivers will need to implement both a ccwgroup and a ccw driver (unless you have a meta ccw driver, like cu3088 for lcs and ctc). @@ -230,6 +237,8 @@ status - Can be 'online' or 'offline'. a channel path the user knows to be online, but the machine hasn't created a machine check for. +type - The physical type of the channel path. + 3. System devices ----------------- |