On June 6, 2025, 9:05, Jani Nikula <[email protected]> wrote: >Add panel register/unregister functions, and handle backlight >register/unregister from there. This is in preparation for adding more panel >specific register/unregister functionality. > >Cc: Lee Shawn C <[email protected]> >Signed-off-by: Jani Nikula <[email protected]> >---
This patch series was tested on my local device. And panel follower works well. Tested-by: Lee Shawn C <[email protected]> > .../gpu/drm/i915/display/intel_connector.c | 23 +++++++++---------- > drivers/gpu/drm/i915/display/intel_panel.c | 10 ++++++++ > drivers/gpu/drm/i915/display/intel_panel.h | 2 ++ > 3 files changed, 23 insertions(+), 12 deletions(-) > >diff --git a/drivers/gpu/drm/i915/display/intel_connector.c >b/drivers/gpu/drm/i915/display/intel_connector.c >index 9a61c972dce9..2867d76d1a5e 100644 >--- a/drivers/gpu/drm/i915/display/intel_connector.c >+++ b/drivers/gpu/drm/i915/display/intel_connector.c >@@ -32,7 +32,6 @@ > > #include "i915_drv.h" > #include "i915_utils.h" >-#include "intel_backlight.h" > #include "intel_connector.h" > #include "intel_display_core.h" > #include "intel_display_debugfs.h" >@@ -153,36 +152,36 @@ void intel_connector_destroy(struct drm_connector >*connector) > kfree(connector); > } > >-int intel_connector_register(struct drm_connector *connector) >+int intel_connector_register(struct drm_connector *_connector) > { >- struct intel_connector *intel_connector = to_intel_connector(connector); >- struct drm_i915_private *i915 = to_i915(connector->dev); >+ struct intel_connector *connector = to_intel_connector(_connector); >+ struct drm_i915_private *i915 = to_i915(_connector->dev); > int ret; > >- ret = intel_backlight_device_register(intel_connector); >+ ret = intel_panel_register(connector); > if (ret) > goto err; > > if (i915_inject_probe_failure(i915)) { > ret = -EFAULT; >- goto err_backlight; >+ goto err_panel; > } > >- intel_connector_debugfs_add(intel_connector); >+ intel_connector_debugfs_add(connector); > > return 0; > >-err_backlight: >- intel_backlight_device_unregister(intel_connector); >+err_panel: >+ intel_panel_unregister(connector); > err: > return ret; > } > >-void intel_connector_unregister(struct drm_connector *connector) >+void intel_connector_unregister(struct drm_connector *_connector) > { >- struct intel_connector *intel_connector = to_intel_connector(connector); >+ struct intel_connector *connector = to_intel_connector(_connector); > >- intel_backlight_device_unregister(intel_connector); >+ intel_panel_unregister(connector); > } > > void intel_connector_attach_encoder(struct intel_connector *connector, diff > --git a/drivers/gpu/drm/i915/display/intel_panel.c > b/drivers/gpu/drm/i915/display/intel_panel.c >index f5c972880391..5ae302bee191 100644 >--- a/drivers/gpu/drm/i915/display/intel_panel.c >+++ b/drivers/gpu/drm/i915/display/intel_panel.c >@@ -462,3 +462,13 @@ void intel_panel_fini(struct intel_connector *connector) > drm_mode_destroy(connector->base.dev, fixed_mode); > } > } >+ >+int intel_panel_register(struct intel_connector *connector) { >+ return intel_backlight_device_register(connector); >+} >+ >+void intel_panel_unregister(struct intel_connector *connector) { >+ intel_backlight_device_unregister(connector); >+} >diff --git a/drivers/gpu/drm/i915/display/intel_panel.h >b/drivers/gpu/drm/i915/display/intel_panel.h >index b60d12322e5d..3d592a4404f3 100644 >--- a/drivers/gpu/drm/i915/display/intel_panel.h >+++ b/drivers/gpu/drm/i915/display/intel_panel.h >@@ -23,6 +23,8 @@ void intel_panel_init_alloc(struct intel_connector >*connector); int intel_panel_init(struct intel_connector *connector, > const struct drm_edid *fixed_edid); void > intel_panel_fini(struct intel_connector *connector); >+int intel_panel_register(struct intel_connector *connector); void >+intel_panel_unregister(struct intel_connector *connector); > enum drm_connector_status > intel_panel_detect(struct drm_connector *connector, bool force); bool > intel_panel_use_ssc(struct intel_display *display); >-- >2.39.5 >
