drm/dsi: Support device shutdown
Hook up the MIPI DSI bus's .shutdown() function to allow drivers to implement code that should be run when a device is shut down. Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
c9eaa447e7
commit
d16218030f
@ -282,6 +282,14 @@ static int mipi_dsi_drv_remove(struct device *dev)
|
||||
return drv->remove(dsi);
|
||||
}
|
||||
|
||||
static void mipi_dsi_drv_shutdown(struct device *dev)
|
||||
{
|
||||
struct mipi_dsi_driver *drv = to_mipi_dsi_driver(dev->driver);
|
||||
struct mipi_dsi_device *dsi = to_mipi_dsi_device(dev);
|
||||
|
||||
drv->shutdown(dsi);
|
||||
}
|
||||
|
||||
/**
|
||||
* mipi_dsi_driver_register - register a driver for DSI devices
|
||||
* @drv: DSI driver structure
|
||||
@ -293,6 +301,8 @@ int mipi_dsi_driver_register(struct mipi_dsi_driver *drv)
|
||||
drv->driver.probe = mipi_dsi_drv_probe;
|
||||
if (drv->remove)
|
||||
drv->driver.remove = mipi_dsi_drv_remove;
|
||||
if (drv->shutdown)
|
||||
drv->driver.shutdown = mipi_dsi_drv_shutdown;
|
||||
|
||||
return driver_register(&drv->driver);
|
||||
}
|
||||
|
@ -135,11 +135,13 @@ ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, unsigned int channel,
|
||||
* @driver: device driver model driver
|
||||
* @probe: callback for device binding
|
||||
* @remove: callback for device unbinding
|
||||
* @shutdown: called at shutdown time to quiesce the device
|
||||
*/
|
||||
struct mipi_dsi_driver {
|
||||
struct device_driver driver;
|
||||
int(*probe)(struct mipi_dsi_device *dsi);
|
||||
int(*remove)(struct mipi_dsi_device *dsi);
|
||||
void (*shutdown)(struct mipi_dsi_device *dsi);
|
||||
};
|
||||
|
||||
#define to_mipi_dsi_driver(d) container_of(d, struct mipi_dsi_driver, driver)
|
||||
|
Loading…
Reference in New Issue
Block a user