aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2007-05-04 12:47:50 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-05-04 12:48:25 -0400
commit52706ec903dcc7679acf5b93400d68fbc5384553 (patch)
treef8cef143d1ced3138201f9657490fbca36da6f4d
parent00c0c6466c66bdf05f2a3dcf59e6895179ea8b76 (diff)
[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.txt17
-rw-r--r--include/asm-s390/ccwdev.h6
2 files changed, 20 insertions, 3 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 5c88ba1ea262..1a9e600a73a8 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
314Who: David S. Miller <davem@davemloft.net> 314Who: David S. Miller <davem@davemloft.net>
315 315
316--------------------------- 316---------------------------
317
318What: read_dev_chars(), read_conf_data{,_lpm}() (s390 common I/O layer)
319When: December 2007
320Why: These functions are a leftover from 2.4 times. They have several
321 problems:
322 - Duplication of checks that are done in the device driver's
323 interrupt handler
324 - common I/O layer can't do device specific error recovery
325 - device driver can't be notified for conditions happening during
326 execution of the function
327 Device drivers should issue the read device characteristics and read
328 configuration data ccws and do the appropriate error handling
329 themselves.
330Who: Cornelia Huck <cornelia.huck@de.ibm.com>
331
332---------------------------
333
diff --git a/include/asm-s390/ccwdev.h b/include/asm-s390/ccwdev.h
index cfc81533b9ba..6795ecefd15b 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 *);
164extern int ccw_device_halt(struct ccw_device *, unsigned long); 164extern int ccw_device_halt(struct ccw_device *, unsigned long);
165extern int ccw_device_clear(struct ccw_device *, unsigned long); 165extern int ccw_device_clear(struct ccw_device *, unsigned long);
166 166
167extern int read_dev_chars(struct ccw_device *cdev, void **buffer, int length); 167extern int __deprecated read_dev_chars(struct ccw_device *cdev, void **buffer, int length);
168extern int read_conf_data(struct ccw_device *cdev, void **buffer, int *length); 168extern int __deprecated read_conf_data(struct ccw_device *cdev, void **buffer, int *length);
169extern int read_conf_data_lpm(struct ccw_device *cdev, void **buffer, 169extern int __deprecated read_conf_data_lpm(struct ccw_device *cdev, void **buffer,
170 int *length, __u8 lpm); 170 int *length, __u8 lpm);
171 171
172extern int ccw_device_set_online(struct ccw_device *cdev); 172extern int ccw_device_set_online(struct ccw_device *cdev);