diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c index 5d30ba3af456..d98b08c65db9 100644 --- a/drivers/gpu/drm/drm_mipi_dsi.c +++ b/drivers/gpu/drm/drm_mipi_dsi.c @@ -346,8 +346,7 @@ static int mipi_dsi_remove_device_fn(struct device *dev, void *priv) { struct mipi_dsi_device *dsi = to_mipi_dsi_device(dev); - if (dsi->attached) - mipi_dsi_detach(dsi); + mipi_dsi_detach(dsi); mipi_dsi_device_unregister(dsi); return 0; @@ -370,18 +369,11 @@ EXPORT_SYMBOL(mipi_dsi_host_unregister); int mipi_dsi_attach(struct mipi_dsi_device *dsi) { const struct mipi_dsi_host_ops *ops = dsi->host->ops; - int ret; if (!ops || !ops->attach) return -ENOSYS; - ret = ops->attach(dsi->host, dsi); - if (ret) - return ret; - - dsi->attached = true; - - return 0; + return ops->attach(dsi->host, dsi); } EXPORT_SYMBOL(mipi_dsi_attach); @@ -393,14 +385,9 @@ int mipi_dsi_detach(struct mipi_dsi_device *dsi) { const struct mipi_dsi_host_ops *ops = dsi->host->ops; - if (WARN_ON(!dsi->attached)) - return -EINVAL; - if (!ops || !ops->detach) return -ENOSYS; - dsi->attached = false; - return ops->detach(dsi->host, dsi); } EXPORT_SYMBOL(mipi_dsi_detach); diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h index 5190fd48d318..d9af72024d66 100644 --- a/include/drm/drm_mipi_dsi.h +++ b/include/drm/drm_mipi_dsi.h @@ -166,7 +166,6 @@ struct mipi_dsi_device_info { * struct mipi_dsi_device - DSI peripheral device * @host: DSI host for this peripheral * @dev: driver model device node for this peripheral - * @attached: the DSI device has been successfully attached * @name: DSI peripheral chip type * @channel: virtual channel assigned to the peripheral * @format: pixel format for video mode @@ -182,7 +181,6 @@ struct mipi_dsi_device_info { struct mipi_dsi_device { struct mipi_dsi_host *host; struct device dev; - bool attached; char name[DSI_DEV_NAME_SIZE]; unsigned int channel;