Message ID | 20210914150756.85190-1-knaerzche@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/rockchip: handle non-platform devices in rockchip_drm_endpoint_is_subdriver | expand |
On Tue, 14 Sep 2021 17:07:56 +0200, Alex Bee wrote: > As discussed at [1] rockchip_drm_endpoint_is_subdriver will currently always > return -ENODEV for non-platform-devices (e.g. external i2c bridges), what > makes them never being considered in rockchip_rgb_init. > > As suggested at [1] this additionally adds a of_device_is_available for > the node found, which will work for both platform and non-platform devices. > Also we can return early for non-platform-devices if they are enabled, > as rockchip_sub_drivers contains exclusively platform-devices. > > [...] Applied, thanks! [1/1] drm/rockchip: handle non-platform devices in rockchip_drm_endpoint_is_subdriver commit: 37825e07ab413187e1ea078bc33dcdb835008be2 Best regards,
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index bfba9793d238..81a5ec30ef4f 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c @@ -275,10 +275,17 @@ int rockchip_drm_endpoint_is_subdriver(struct device_node *ep) return -ENODEV; /* status disabled will prevent creation of platform-devices */ + if (!of_device_is_available(node)) { + of_node_put(node); + return -ENODEV; + } + pdev = of_find_device_by_node(node); of_node_put(node); + + /* enabled non-platform-devices can immediately return here */ if (!pdev) - return -ENODEV; + return false; /* * All rockchip subdrivers have probed at this point, so
As discussed at [1] rockchip_drm_endpoint_is_subdriver will currently always return -ENODEV for non-platform-devices (e.g. external i2c bridges), what makes them never being considered in rockchip_rgb_init. As suggested at [1] this additionally adds a of_device_is_available for the node found, which will work for both platform and non-platform devices. Also we can return early for non-platform-devices if they are enabled, as rockchip_sub_drivers contains exclusively platform-devices. [1] https://lore.kernel.org/all/20210316182753.GA25685@earth.li/ Suggested-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Alex Bee <knaerzche@gmail.com> --- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) base-commit: 6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f