summaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2007-10-12 16:11:21 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-10-12 16:13:01 +0200
commit958974fb596ad037fb571cf2899f783764a83e1a (patch)
treed3564986786ef55ee3ee5629dfa46901efa3f09b /drivers/s390/cio
parent[S390] cio: Disable channel path measurements on shutdown/reboot. (diff)
downloadlinux-958974fb596ad037fb571cf2899f783764a83e1a.tar.xz
linux-958974fb596ad037fb571cf2899f783764a83e1a.zip
[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/cio')
-rw-r--r--drivers/s390/cio/device.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c
index 3943a4fde22a..7fb271c60c27 100644
--- a/drivers/s390/cio/device.c
+++ b/drivers/s390/cio/device.c
@@ -1433,12 +1433,22 @@ ccw_device_remove (struct device *dev)
return 0;
}
+static void ccw_device_shutdown(struct device *dev)
+{
+ struct ccw_device *cdev;
+
+ cdev = to_ccwdev(dev);
+ if (cdev->drv && cdev->drv->shutdown)
+ cdev->drv->shutdown(cdev);
+}
+
struct bus_type ccw_bus_type = {
.name = "ccw",
.match = ccw_bus_match,
.uevent = ccw_uevent,
.probe = ccw_device_probe,
.remove = ccw_device_remove,
+ .shutdown = ccw_device_shutdown,
};
/**