[PATCH 2/4] drm/i915/panel: add panel register/unregister
Jani Nikula
jani.nikula at intel.com
Tue Jun 10 09:00:55 UTC 2025
On Tue, 10 Jun 2025, "Murthy, Arun R" <arun.r.murthy at intel.com> wrote:
>> -----Original Message-----
>> From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf Of Jani
>> Nikula
>> Sent: Friday, June 6, 2025 2:35 PM
>> To: dri-devel at lists.freedesktop.org
>> Cc: intel-gfx at lists.freedesktop.org; intel-xe at lists.freedesktop.org; Heikki
>> Krogerus <heikki.krogerus at linux.intel.com>; Wysocki, Rafael J
>> <rafael.j.wysocki at intel.com>; Lee, Shawn C <shawn.c.lee at intel.com>; Yang,
>> Simon1 <simon1.yang at intel.com>; Doug Anderson <dianders at chromium.org>;
>> Maxime Ripard <mripard at kernel.org>; Nikula, Jani <jani.nikula at intel.com>
>> Subject: [PATCH 2/4] drm/i915/panel: add panel register/unregister
>>
>> 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 at intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>> ---
>> .../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);
> Can intel_display be used over here?
i915 is passed to i915_inject_probe_failure() below, so no.
BR,
Jani.
>
> Apart from the above one, patch looks good to me.
> Reviewed-by: Arun R Murthy <arun.r.murthy at gmail.com>
>
> Thanks and Regards,
> Arun R Murthy
> --------------------
>
>> 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
>
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list