diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2007-10-12 10:11:21 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-10-12 10:13:01 -0400 |
commit | 958974fb596ad037fb571cf2899f783764a83e1a (patch) | |
tree | d3564986786ef55ee3ee5629dfa46901efa3f09b /drivers/s390/scsi | |
parent | a55360df406cca797ac07d722688dd7ec29bf46e (diff) |
[S390] cio: Introduce ccw_bus_type.shutdown.
Introduce a shutdown method for the ccw bus that calls the driver
specific shutdown method in struct ccw_driver.
Switch zfcp to the new ccw_driver shutdown method.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/scsi')
-rw-r--r-- | drivers/s390/scsi/zfcp_ccw.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/s390/scsi/zfcp_ccw.c b/drivers/s390/scsi/zfcp_ccw.c index 1c8f71a59855..c0d1c0eb3209 100644 --- a/drivers/s390/scsi/zfcp_ccw.c +++ b/drivers/s390/scsi/zfcp_ccw.c | |||
@@ -28,7 +28,7 @@ static void zfcp_ccw_remove(struct ccw_device *); | |||
28 | static int zfcp_ccw_set_online(struct ccw_device *); | 28 | static int zfcp_ccw_set_online(struct ccw_device *); |
29 | static int zfcp_ccw_set_offline(struct ccw_device *); | 29 | static int zfcp_ccw_set_offline(struct ccw_device *); |
30 | static int zfcp_ccw_notify(struct ccw_device *, int); | 30 | static int zfcp_ccw_notify(struct ccw_device *, int); |
31 | static void zfcp_ccw_shutdown(struct device *); | 31 | static void zfcp_ccw_shutdown(struct ccw_device *); |
32 | 32 | ||
33 | static struct ccw_device_id zfcp_ccw_device_id[] = { | 33 | static struct ccw_device_id zfcp_ccw_device_id[] = { |
34 | {CCW_DEVICE_DEVTYPE(ZFCP_CONTROL_UNIT_TYPE, | 34 | {CCW_DEVICE_DEVTYPE(ZFCP_CONTROL_UNIT_TYPE, |
@@ -51,9 +51,7 @@ static struct ccw_driver zfcp_ccw_driver = { | |||
51 | .set_online = zfcp_ccw_set_online, | 51 | .set_online = zfcp_ccw_set_online, |
52 | .set_offline = zfcp_ccw_set_offline, | 52 | .set_offline = zfcp_ccw_set_offline, |
53 | .notify = zfcp_ccw_notify, | 53 | .notify = zfcp_ccw_notify, |
54 | .driver = { | 54 | .shutdown = zfcp_ccw_shutdown, |
55 | .shutdown = zfcp_ccw_shutdown, | ||
56 | }, | ||
57 | }; | 55 | }; |
58 | 56 | ||
59 | MODULE_DEVICE_TABLE(ccw, zfcp_ccw_device_id); | 57 | MODULE_DEVICE_TABLE(ccw, zfcp_ccw_device_id); |
@@ -277,12 +275,12 @@ zfcp_ccw_register(void) | |||
277 | * Makes sure that QDIO queues are down when the system gets stopped. | 275 | * Makes sure that QDIO queues are down when the system gets stopped. |
278 | */ | 276 | */ |
279 | static void | 277 | static void |
280 | zfcp_ccw_shutdown(struct device *dev) | 278 | zfcp_ccw_shutdown(struct ccw_device *cdev) |
281 | { | 279 | { |
282 | struct zfcp_adapter *adapter; | 280 | struct zfcp_adapter *adapter; |
283 | 281 | ||
284 | down(&zfcp_data.config_sema); | 282 | down(&zfcp_data.config_sema); |
285 | adapter = dev_get_drvdata(dev); | 283 | adapter = dev_get_drvdata(&cdev->dev); |
286 | zfcp_erp_adapter_shutdown(adapter, 0); | 284 | zfcp_erp_adapter_shutdown(adapter, 0); |
287 | zfcp_erp_wait(adapter); | 285 | zfcp_erp_wait(adapter); |
288 | up(&zfcp_data.config_sema); | 286 | up(&zfcp_data.config_sema); |