Hi Peter. Always good to see that feedback input is used. > OK. > > >> + > >> + return 0; > >> +} > >> + > >> +static void osd101t2587_panel_shutdown(struct mipi_dsi_device *dsi) > >> +{ > >> + struct osd101t2587_panel *osd101t2587 = mipi_dsi_get_drvdata(dsi); > >> + > > Maybe call osd101t2587_panel_unprepare() here to turn off power supply? > > Make sense, in this order: > osd101t2587_panel_disable(&osd101t2587->base); > osd101t2587_panel_unprepare(&osd101t2587->base); > > But should the osd101t2587_panel_remove() do the same thing? or the > osd101t2587_panel_disable() is redundant in the osd101t2587_panel_remove()? I do not know the details to answer this. In other words - I do not know if we can rely on that panel->disbale is always called when a driver is removed. Try to read the descriptions and maybe test it. Other drivers do as far as I recall use disable in the remove function. Sam