On Fri May 3, 2024 at 11:32 PM CEST, Douglas Anderson wrote: > As talked about in commit d2aacaf07395 ("drm/panel: Check for already > prepared/enabled in drm_panel"), we want to remove needless code from > panel drivers that was storing and double-checking the > prepared/enabled state. Even if someone was relying on the > double-check before, that double-check is now in the core and not > needed in individual drivers. > > Cc: Luca Weiss <luca.weiss@xxxxxxxxxxxxx> > Cc: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Seems to match with the changes I did for another (generated) panel driver I upstreamed - see also: https://github.com/msm8916-mainline/linux-mdss-dsi-panel-driver-generator/commit/74c104440dfd828aa94194fd279c0c505ab55854 Functionally also seems to be fine, I don't see any problems. Thanks! Tested-by: Luca Weiss <luca.weiss@xxxxxxxxxxxxx> Regards Luca > --- > > Changes in v2: > - New > > drivers/gpu/drm/panel/panel-raydium-rm692e5.c | 10 ---------- > 1 file changed, 10 deletions(-) > > diff --git a/drivers/gpu/drm/panel/panel-raydium-rm692e5.c b/drivers/gpu/drm/panel/panel-raydium-rm692e5.c > index a613ba5b816c..21d97f6b8a2f 100644 > --- a/drivers/gpu/drm/panel/panel-raydium-rm692e5.c > +++ b/drivers/gpu/drm/panel/panel-raydium-rm692e5.c > @@ -23,7 +23,6 @@ struct rm692e5_panel { > struct drm_dsc_config dsc; > struct regulator_bulk_data supplies[3]; > struct gpio_desc *reset_gpio; > - bool prepared; > }; > > static inline struct rm692e5_panel *to_rm692e5_panel(struct drm_panel *panel) > @@ -171,9 +170,6 @@ static int rm692e5_prepare(struct drm_panel *panel) > struct device *dev = &ctx->dsi->dev; > int ret; > > - if (ctx->prepared) > - return 0; > - > ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); > if (ret < 0) { > dev_err(dev, "Failed to enable regulators: %d\n", ret); > @@ -213,8 +209,6 @@ static int rm692e5_prepare(struct drm_panel *panel) > > mipi_dsi_generic_write_seq(ctx->dsi, 0xfe, 0x00); > > - ctx->prepared = true; > - > return 0; > } > > @@ -222,13 +216,9 @@ static int rm692e5_unprepare(struct drm_panel *panel) > { > struct rm692e5_panel *ctx = to_rm692e5_panel(panel); > > - if (!ctx->prepared) > - return 0; > - > gpiod_set_value_cansleep(ctx->reset_gpio, 1); > regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); > > - ctx->prepared = false; > return 0; > } >