diff options
| author | Jani Nikula <jani.nikula@intel.com> | 2025-05-22 13:00:36 +0300 |
|---|---|---|
| committer | Jani Nikula <jani.nikula@intel.com> | 2025-05-22 19:08:35 +0300 |
| commit | 9528e54198f29548b18b0a5b343a31724e83c68b (patch) | |
| tree | a5370ae3192e09f059e4e0ed8785ced58cc5b686 /drivers/gpu/drm/drm_panel.c | |
| parent | drm: renesas: rcar-du: use proper naming for R-Car (diff) | |
| download | linux-9528e54198f29548b18b0a5b343a31724e83c68b.tar.gz linux-9528e54198f29548b18b0a5b343a31724e83c68b.zip | |
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>
Diffstat (limited to 'drivers/gpu/drm/drm_panel.c')
| -rw-r--r-- | drivers/gpu/drm/drm_panel.c | 23 |
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); |
