diff options
author | Boris Brezillon <boris.brezillon@bootlin.com> | 2018-05-09 15:00:41 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2018-07-10 17:59:05 +0200 |
commit | 2e64a174179a144742fa70f09803a012aceca476 (patch) | |
tree | d4485b45fbdf42bd02d9a7544318efc9ea145f1a /drivers/gpu/drm/drm_of.c | |
parent | c59eb3cfde1faed960fe6de5040c4bd4310fb1cd (diff) | |
download | linux-2e64a174179a144742fa70f09803a012aceca476.tar.gz linux-2e64a174179a144742fa70f09803a012aceca476.tar.bz2 linux-2e64a174179a144742fa70f09803a012aceca476.zip |
drm/of: Make drm_of_find_panel_or_bridge() fail when the device is disabled
There's no point searching for a drm_bridge or drm_panel if the OF node
we're pointing has a status property that is not "okay" or "ok". Just
return -ENODEV in this case.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180509130042.9435-4-boris.brezillon@bootlin.com
Diffstat (limited to 'drivers/gpu/drm/drm_of.c')
-rw-r--r-- | drivers/gpu/drm/drm_of.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c index 1f4a16772583..260612958cbe 100644 --- a/drivers/gpu/drm/drm_of.c +++ b/drivers/gpu/drm/drm_of.c @@ -239,6 +239,11 @@ int drm_of_find_panel_or_bridge(const struct device_node *np, if (!remote) return -ENODEV; + if (!of_device_is_available(remote)) { + of_node_put(remote); + return -ENODEV; + } + if (panel) { *panel = of_drm_find_panel(remote); if (!IS_ERR(*panel)) |