Use drm_for_each_bridge_in_chain_from _scoped() instead of an open-coded
loop based on drm_bridge_get_next_bridge() to ensure the bridge being
looped on is refcounted and simplify the driver code.

Signed-off-by: Luca Ceresoli <luca.ceres...@bootlin.com>
---
 drivers/gpu/drm/omapdrm/omap_encoder.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_encoder.c 
b/drivers/gpu/drm/omapdrm/omap_encoder.c
index 
4dd05bc732daebcedbfcbbc9ba7dffee7415bdfc..195715b162e38ea0cd0870f3dd79342a8cbf218b
 100644
--- a/drivers/gpu/drm/omapdrm/omap_encoder.c
+++ b/drivers/gpu/drm/omapdrm/omap_encoder.c
@@ -77,7 +77,6 @@ static void omap_encoder_mode_set(struct drm_encoder *encoder,
        struct omap_dss_device *output = omap_encoder->output;
        struct drm_device *dev = encoder->dev;
        struct drm_connector *connector;
-       struct drm_bridge *bridge;
        struct videomode vm = { 0 };
        u32 bus_flags;
 
@@ -97,8 +96,7 @@ static void omap_encoder_mode_set(struct drm_encoder *encoder,
         *
         * A better solution is to use DRM's bus-flags through the whole driver.
         */
-       for (bridge = output->bridge; bridge;
-            bridge = drm_bridge_get_next_bridge(bridge)) {
+       drm_for_each_bridge_in_chain_from(output->bridge, bridge) {
                if (!bridge->timings)
                        continue;
 

-- 
2.50.1

Reply via email to