diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2007-05-04 18:47:50 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-05-04 18:48:25 +0200 |
commit | 52706ec903dcc7679acf5b93400d68fbc5384553 (patch) | |
tree | f8cef143d1ced3138201f9657490fbca36da6f4d | |
parent | 00c0c6466c66bdf05f2a3dcf59e6895179ea8b76 (diff) | |
download | op-kernel-dev-52706ec903dcc7679acf5b93400d68fbc5384553.zip op-kernel-dev-52706ec903dcc7679acf5b93400d68fbc5384553.tar.gz |
[S390] cio: Deprecate read_dev_chars() and read_conf_data{,_lpm}().
These helper functions are a leftover from 2.4 sync I/O and are a
notorious source for bugs. They lead to device driver specific code
creeping into cio, and some issues can't really be fixed at all.
Device drivers can easily implement those functions themselves in a
more robust manner, so let's get rid of them.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | Documentation/feature-removal-schedule.txt | 17 | ||||
-rw-r--r-- | include/asm-s390/ccwdev.h | 6 |
2 files changed, 20 insertions, 3 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 5c88ba1..1a9e600 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt @@ -314,3 +314,20 @@ Why: Code was merged, then submitter immediately disappeared leaving Who: David S. Miller <davem@davemloft.net> --------------------------- + +What: read_dev_chars(), read_conf_data{,_lpm}() (s390 common I/O layer) +When: December 2007 +Why: These functions are a leftover from 2.4 times. They have several + problems: + - Duplication of checks that are done in the device driver's + interrupt handler + - common I/O layer can't do device specific error recovery + - device driver can't be notified for conditions happening during + execution of the function + Device drivers should issue the read device characteristics and read + configuration data ccws and do the appropriate error handling + themselves. +Who: Cornelia Huck <cornelia.huck@de.ibm.com> + +--------------------------- + diff --git a/include/asm-s390/ccwdev.h b/include/asm-s390/ccwdev.h index cfc8153..6795ece 100644 --- a/include/asm-s390/ccwdev.h +++ b/include/asm-s390/ccwdev.h @@ -164,9 +164,9 @@ extern int ccw_device_resume(struct ccw_device *); extern int ccw_device_halt(struct ccw_device *, unsigned long); extern int ccw_device_clear(struct ccw_device *, unsigned long); -extern int read_dev_chars(struct ccw_device *cdev, void **buffer, int length); -extern int read_conf_data(struct ccw_device *cdev, void **buffer, int *length); -extern int read_conf_data_lpm(struct ccw_device *cdev, void **buffer, +extern int __deprecated read_dev_chars(struct ccw_device *cdev, void **buffer, int length); +extern int __deprecated read_conf_data(struct ccw_device *cdev, void **buffer, int *length); +extern int __deprecated read_conf_data_lpm(struct ccw_device *cdev, void **buffer, int *length, __u8 lpm); extern int ccw_device_set_online(struct ccw_device *cdev); |