summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2025-05-22 13:00:36 +0300
committerJani Nikula <jani.nikula@intel.com>2025-05-22 19:08:35 +0300
commit9528e54198f29548b18b0a5b343a31724e83c68b (patch)
treea5370ae3192e09f059e4e0ed8785ced58cc5b686
parent370f86bc07bf8aa7f74cea5f6faa51ca1eb92b6f (diff)
drm/panel: abstract of_panel_find()
Add a helper to wrap OF-specific calls in drm_panel_add_follower() in preparation for adding an ACPI equivalent in the future. No functional changes. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250522100036.2529624-1-jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-rw-r--r--drivers/gpu/drm/drm_panel.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c
index 650de4da0853..fee65dc65979 100644
--- a/drivers/gpu/drm/drm_panel.c
+++ b/drivers/gpu/drm/drm_panel.c
@@ -473,6 +473,21 @@ int of_drm_get_panel_orientation(const struct device_node *np,
EXPORT_SYMBOL(of_drm_get_panel_orientation);
#endif
+static struct drm_panel *of_find_panel(struct device *follower_dev)
+{
+ struct device_node *panel_np;
+ struct drm_panel *panel;
+
+ panel_np = of_parse_phandle(follower_dev->of_node, "panel", 0);
+ if (!panel_np)
+ return ERR_PTR(-ENODEV);
+
+ panel = of_drm_find_panel(panel_np);
+ of_node_put(panel_np);
+
+ return panel;
+}
+
/**
* drm_is_panel_follower() - Check if the device is a panel follower
* @dev: The 'struct device' to check
@@ -518,16 +533,10 @@ EXPORT_SYMBOL(drm_is_panel_follower);
int drm_panel_add_follower(struct device *follower_dev,
struct drm_panel_follower *follower)
{
- struct device_node *panel_np;
struct drm_panel *panel;
int ret;
- panel_np = of_parse_phandle(follower_dev->of_node, "panel", 0);
- if (!panel_np)
- return -ENODEV;
-
- panel = of_drm_find_panel(panel_np);
- of_node_put(panel_np);
+ panel = of_find_panel(follower_dev);
if (IS_ERR(panel))
return PTR_ERR(panel);