Commit 6bd72f05 authored by Russell King's avatar Russell King

ARM: sa1111: add shutdown hook to sa1111_driver structure

Add a shutdown hook to the sa1111_driver structure to allow drivers
to be notified of system reboots and shutdowns.
Acked-by: default avatarNicolas Pitre <nico@linaro.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 36d31213
...@@ -1348,6 +1348,14 @@ static int sa1111_bus_resume(struct device *dev) ...@@ -1348,6 +1348,14 @@ static int sa1111_bus_resume(struct device *dev)
return ret; return ret;
} }
static void sa1111_bus_shutdown(struct device *dev)
{
struct sa1111_driver *drv = SA1111_DRV(dev->driver);
if (drv && drv->shutdown)
drv->shutdown(SA1111_DEV(dev));
}
static int sa1111_bus_probe(struct device *dev) static int sa1111_bus_probe(struct device *dev)
{ {
struct sa1111_dev *sadev = SA1111_DEV(dev); struct sa1111_dev *sadev = SA1111_DEV(dev);
...@@ -1377,6 +1385,7 @@ struct bus_type sa1111_bus_type = { ...@@ -1377,6 +1385,7 @@ struct bus_type sa1111_bus_type = {
.remove = sa1111_bus_remove, .remove = sa1111_bus_remove,
.suspend = sa1111_bus_suspend, .suspend = sa1111_bus_suspend,
.resume = sa1111_bus_resume, .resume = sa1111_bus_resume,
.shutdown = sa1111_bus_shutdown,
}; };
EXPORT_SYMBOL(sa1111_bus_type); EXPORT_SYMBOL(sa1111_bus_type);
......
...@@ -548,6 +548,7 @@ struct sa1111_driver { ...@@ -548,6 +548,7 @@ struct sa1111_driver {
int (*remove)(struct sa1111_dev *); int (*remove)(struct sa1111_dev *);
int (*suspend)(struct sa1111_dev *, pm_message_t); int (*suspend)(struct sa1111_dev *, pm_message_t);
int (*resume)(struct sa1111_dev *); int (*resume)(struct sa1111_dev *);
void (*shutdown)(struct sa1111_dev *);
}; };
#define SA1111_DRV(_d) container_of((_d), struct sa1111_driver, drv) #define SA1111_DRV(_d) container_of((_d), struct sa1111_driver, drv)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment