From: Heiko Stuebner Date: Tue, 21 Jan 2020 22:48:28 +0000 (+0100) Subject: drm/rockchip: rgb: don't count non-existent devices when determining subdrivers X-Git-Tag: v5.10.7~2352^2~6^2~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7cd7943dc55e0f75a8e51af2bbdb2b0415cc3eb7;p=platform%2Fkernel%2Flinux-rpi.git drm/rockchip: rgb: don't count non-existent devices when determining subdrivers rockchip_drm_endpoint_is_subdriver() may also return error codes. For example if the target-node is in the disabled state, so no platform-device is getting created for it. In that case current code would count that as external rgb device, which in turn would make probing the rockchip-drm device fail. So only count the target as rgb device if the function actually returns 0. Signed-off-by: Heiko Stuebner Reviewed-by: Miquel Raynal Link: https://patchwork.freedesktop.org/patch/msgid/20200121224828.4070067-1-heiko@sntech.de --- diff --git a/drivers/gpu/drm/rockchip/rockchip_rgb.c b/drivers/gpu/drm/rockchip/rockchip_rgb.c index 3e24849..9078478 100644 --- a/drivers/gpu/drm/rockchip/rockchip_rgb.c +++ b/drivers/gpu/drm/rockchip/rockchip_rgb.c @@ -98,7 +98,8 @@ struct rockchip_rgb *rockchip_rgb_init(struct device *dev, if (of_property_read_u32(endpoint, "reg", &endpoint_id)) endpoint_id = 0; - if (rockchip_drm_endpoint_is_subdriver(endpoint) > 0) + /* if subdriver (> 0) or error case (< 0), ignore entry */ + if (rockchip_drm_endpoint_is_subdriver(endpoint) != 0) continue; child_count++;