Message ID | 20201105120333.947408-38-tomi.valkeinen@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Convert DSI code to use drm_mipi_dsi and drm_panel | expand |
Hi Tomi and Sebastian, On Thu, Nov 05, 2020 at 02:03:14PM +0200, Tomi Valkeinen wrote: > From: Sebastian Reichel <sebastian.reichel@collabora.com> > > Now, that the driver implements the common DRM panel API > the unbind no longer needs to be suppressed. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> I'd be curious to know what happens when you try to unbind through sysfs though... > --- > drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > index 5159dd51a353..086c7d71fe17 100644 > --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c > @@ -607,7 +607,7 @@ static int dsicm_probe(struct mipi_dsi_device *dsi) > return r; > } > > -static int __exit dsicm_remove(struct mipi_dsi_device *dsi) > +static int dsicm_remove(struct mipi_dsi_device *dsi) > { > struct panel_drv_data *ddata = mipi_dsi_get_drvdata(dsi); > > @@ -637,11 +637,10 @@ MODULE_DEVICE_TABLE(of, dsicm_of_match); > > static struct mipi_dsi_driver dsicm_driver = { > .probe = dsicm_probe, > - .remove = __exit_p(dsicm_remove), > + .remove = dsicm_remove, > .driver = { > .name = "panel-dsi-cm", > .of_match_table = dsicm_of_match, > - .suppress_bind_attrs = true, > }, > }; > module_mipi_dsi_driver(dsicm_driver);
On 09/11/2020 12:49, Laurent Pinchart wrote: > Hi Tomi and Sebastian, > > On Thu, Nov 05, 2020 at 02:03:14PM +0200, Tomi Valkeinen wrote: >> From: Sebastian Reichel <sebastian.reichel@collabora.com> >> >> Now, that the driver implements the common DRM panel API >> the unbind no longer needs to be suppressed. >> >> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> > > Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > I'd be curious to know what happens when you try to unbind through sysfs > though... I'm sure it crashes. The same happens if you unload the modules in wrong order (unload panel first, then omapdrm). I haven't looked at this yet, it's low priority issue... Tomi
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c index 5159dd51a353..086c7d71fe17 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c @@ -607,7 +607,7 @@ static int dsicm_probe(struct mipi_dsi_device *dsi) return r; } -static int __exit dsicm_remove(struct mipi_dsi_device *dsi) +static int dsicm_remove(struct mipi_dsi_device *dsi) { struct panel_drv_data *ddata = mipi_dsi_get_drvdata(dsi); @@ -637,11 +637,10 @@ MODULE_DEVICE_TABLE(of, dsicm_of_match); static struct mipi_dsi_driver dsicm_driver = { .probe = dsicm_probe, - .remove = __exit_p(dsicm_remove), + .remove = dsicm_remove, .driver = { .name = "panel-dsi-cm", .of_match_table = dsicm_of_match, - .suppress_bind_attrs = true, }, }; module_mipi_dsi_driver(dsicm_driver);