]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/panel: add panel register/unregister
authorJani Nikula <jani.nikula@intel.com>
Fri, 6 Jun 2025 09:05:10 +0000 (12:05 +0300)
committerJani Nikula <jani.nikula@intel.com>
Wed, 11 Jun 2025 08:45:55 +0000 (11:45 +0300)
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 <shawn.c.lee@intel.com>
Tested-by: Lee Shawn C <shawn.c.lee@intel.com>
Reviewed-by: Arun R Murthy <arun.r.murthy@gmail.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/b737d4bc8b91df630cd4db4648f3a3571989cfd8.1749199013.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_connector.c
drivers/gpu/drm/i915/display/intel_panel.c
drivers/gpu/drm/i915/display/intel_panel.h

index 6c81c9f2fd09a76a54c1afa63c1ab4053cac6ed1..18f3a1d2666259059c6500c57ca260ed2acb222f 100644 (file)
@@ -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,
index f5c972880391636abbbcd050c00b438143a5e4d3..5ae302bee191323f1fcc4274e110fdfcd4856b2c 100644 (file)
@@ -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);
+}
index b60d12322e5d00cffac5a8eb1e583d1e96d67180..3d592a4404f37fbdc1c3836ec07a45eb6174a163 100644 (file)
@@ -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);