diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-28 14:38:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-28 14:38:39 -0400 |
commit | 2da6dc28867b6cad6181291ed03093a487587d61 (patch) | |
tree | b69255137267b8ac217705d2c19eb30ff2cdfc0d /drivers | |
parent | 0c6cb974636dd29681b03f8eb0ae227decab01fb (diff) | |
parent | 3c9da7ba049d11caccc219576a3a23404aa2fc50 (diff) |
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] cio: Make ccw_device_register() static.
[S390] Improve AP bus device removal.
[S390] uaccess error handling.
[S390] cio: css_probe_device() must be called enabled.
[S390] Initialize interval value to 0.
[S390] sys_getcpu compat wrapper.
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/s390/cio/css.c | 7 | ||||
-rw-r--r-- | drivers/s390/cio/device.c | 3 | ||||
-rw-r--r-- | drivers/s390/cio/device.h | 1 | ||||
-rw-r--r-- | drivers/s390/crypto/ap_bus.c | 7 |
4 files changed, 10 insertions, 8 deletions
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index a2dee5bf5a17..ad7f7e1c0163 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c | |||
@@ -271,10 +271,6 @@ static int css_evaluate_known_subchannel(struct subchannel *sch, int slow) | |||
271 | /* Reset intparm to zeroes. */ | 271 | /* Reset intparm to zeroes. */ |
272 | sch->schib.pmcw.intparm = 0; | 272 | sch->schib.pmcw.intparm = 0; |
273 | cio_modify(sch); | 273 | cio_modify(sch); |
274 | |||
275 | /* Probe if necessary. */ | ||
276 | if (action == UNREGISTER_PROBE) | ||
277 | ret = css_probe_device(sch->schid); | ||
278 | break; | 274 | break; |
279 | case REPROBE: | 275 | case REPROBE: |
280 | device_trigger_reprobe(sch); | 276 | device_trigger_reprobe(sch); |
@@ -283,6 +279,9 @@ static int css_evaluate_known_subchannel(struct subchannel *sch, int slow) | |||
283 | break; | 279 | break; |
284 | } | 280 | } |
285 | spin_unlock_irqrestore(&sch->lock, flags); | 281 | spin_unlock_irqrestore(&sch->lock, flags); |
282 | /* Probe if necessary. */ | ||
283 | if (action == UNREGISTER_PROBE) | ||
284 | ret = css_probe_device(sch->schid); | ||
286 | 285 | ||
287 | return ret; | 286 | return ret; |
288 | } | 287 | } |
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index 94bdd4d8a4c9..39c98f940507 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c | |||
@@ -532,8 +532,7 @@ device_remove_files(struct device *dev) | |||
532 | 532 | ||
533 | /* this is a simple abstraction for device_register that sets the | 533 | /* this is a simple abstraction for device_register that sets the |
534 | * correct bus type and adds the bus specific files */ | 534 | * correct bus type and adds the bus specific files */ |
535 | int | 535 | static int ccw_device_register(struct ccw_device *cdev) |
536 | ccw_device_register(struct ccw_device *cdev) | ||
537 | { | 536 | { |
538 | struct device *dev = &cdev->dev; | 537 | struct device *dev = &cdev->dev; |
539 | int ret; | 538 | int ret; |
diff --git a/drivers/s390/cio/device.h b/drivers/s390/cio/device.h index c6140cc97a80..9233b5c0bcc8 100644 --- a/drivers/s390/cio/device.h +++ b/drivers/s390/cio/device.h | |||
@@ -78,7 +78,6 @@ void io_subchannel_recog_done(struct ccw_device *cdev); | |||
78 | 78 | ||
79 | int ccw_device_cancel_halt_clear(struct ccw_device *); | 79 | int ccw_device_cancel_halt_clear(struct ccw_device *); |
80 | 80 | ||
81 | int ccw_device_register(struct ccw_device *); | ||
82 | void ccw_device_do_unreg_rereg(void *); | 81 | void ccw_device_do_unreg_rereg(void *); |
83 | void ccw_device_call_sch_unregister(void *); | 82 | void ccw_device_call_sch_unregister(void *); |
84 | 83 | ||
diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c index c5ccd20b110c..79d89c368919 100644 --- a/drivers/s390/crypto/ap_bus.c +++ b/drivers/s390/crypto/ap_bus.c | |||
@@ -739,11 +739,16 @@ static void ap_scan_bus(void *data) | |||
739 | dev = bus_find_device(&ap_bus_type, NULL, | 739 | dev = bus_find_device(&ap_bus_type, NULL, |
740 | (void *)(unsigned long)qid, | 740 | (void *)(unsigned long)qid, |
741 | __ap_scan_bus); | 741 | __ap_scan_bus); |
742 | rc = ap_query_queue(qid, &queue_depth, &device_type); | ||
743 | if (dev && rc) { | ||
744 | put_device(dev); | ||
745 | device_unregister(dev); | ||
746 | continue; | ||
747 | } | ||
742 | if (dev) { | 748 | if (dev) { |
743 | put_device(dev); | 749 | put_device(dev); |
744 | continue; | 750 | continue; |
745 | } | 751 | } |
746 | rc = ap_query_queue(qid, &queue_depth, &device_type); | ||
747 | if (rc) | 752 | if (rc) |
748 | continue; | 753 | continue; |
749 | rc = ap_init_queue(qid); | 754 | rc = ap_init_queue(qid); |