Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/panel: jdi-lt070me05000: Stop tracking prepared/enabled

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.

NOTE: as part of this, transition the panel's direct calls to its
disable function in shutdown/remove to call through DRM panel.

Cc: Vinay Simha BN <simhavcs@gmail.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240604172305.v3.11.I2e991044def6644c18ad8d7d686f4f3006f278de@changeid
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240604172305.v3.11.I2e991044def6644c18ad8d7d686f4f3006f278de@changeid

authored by

Douglas Anderson and committed by
Neil Armstrong
698acd40 20986046

+2 -25
+2 -25
drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
··· 37 37 struct gpio_desc *dcdc_en_gpio; 38 38 struct backlight_device *backlight; 39 39 40 - bool prepared; 41 - bool enabled; 42 - 43 40 const struct drm_display_mode *mode; 44 41 }; 45 42 ··· 173 176 { 174 177 struct jdi_panel *jdi = to_jdi_panel(panel); 175 178 176 - if (!jdi->enabled) 177 - return 0; 178 - 179 179 backlight_disable(jdi->backlight); 180 - 181 - jdi->enabled = false; 182 180 183 181 return 0; 184 182 } ··· 183 191 struct jdi_panel *jdi = to_jdi_panel(panel); 184 192 struct device *dev = &jdi->dsi->dev; 185 193 int ret; 186 - 187 - if (!jdi->prepared) 188 - return 0; 189 194 190 195 jdi_panel_off(jdi); 191 196 ··· 196 207 197 208 gpiod_set_value(jdi->dcdc_en_gpio, 0); 198 209 199 - jdi->prepared = false; 200 - 201 210 return 0; 202 211 } 203 212 ··· 204 217 struct jdi_panel *jdi = to_jdi_panel(panel); 205 218 struct device *dev = &jdi->dsi->dev; 206 219 int ret; 207 - 208 - if (jdi->prepared) 209 - return 0; 210 220 211 221 ret = regulator_bulk_enable(ARRAY_SIZE(jdi->supplies), jdi->supplies); 212 222 if (ret < 0) { ··· 234 250 goto poweroff; 235 251 } 236 252 237 - jdi->prepared = true; 238 - 239 253 return 0; 240 254 241 255 poweroff: ··· 254 272 { 255 273 struct jdi_panel *jdi = to_jdi_panel(panel); 256 274 257 - if (jdi->enabled) 258 - return 0; 259 - 260 275 backlight_enable(jdi->backlight); 261 - 262 - jdi->enabled = true; 263 276 264 277 return 0; 265 278 } ··· 452 475 struct jdi_panel *jdi = mipi_dsi_get_drvdata(dsi); 453 476 int ret; 454 477 455 - ret = jdi_panel_disable(&jdi->base); 478 + ret = drm_panel_disable(&jdi->base); 456 479 if (ret < 0) 457 480 dev_err(&dsi->dev, "failed to disable panel: %d\n", ret); 458 481 ··· 468 491 { 469 492 struct jdi_panel *jdi = mipi_dsi_get_drvdata(dsi); 470 493 471 - jdi_panel_disable(&jdi->base); 494 + drm_panel_disable(&jdi->base); 472 495 } 473 496 474 497 static struct mipi_dsi_driver jdi_panel_driver = {