drm/imx: fix opencoded use of drm_panel_*
authorSam Ravnborg <sam@ravnborg.org>
Sun, 4 Aug 2019 20:16:25 +0000 (22:16 +0200)
committerSam Ravnborg <sam@ravnborg.org>
Sat, 10 Aug 2019 13:41:47 +0000 (15:41 +0200)
Use the drm_panel_get_modes() function to get the modes.

This patch leave one test for the function pointer:
    panel->funcs->get_modes

This is used to check if the panel may have any modes.
There is no direct replacement.
We may be able to just check that drm_panel_get_modes() return > 0,
but as this is not the same functionality it is left for later.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: https://patchwork.freedesktop.org/patch/msgid/20190804201637.1240-5-sam@ravnborg.org
drivers/gpu/drm/imx/imx-ldb.c
drivers/gpu/drm/imx/parallel-display.c

index db461b6..695f307 100644 (file)
@@ -124,14 +124,11 @@ static void imx_ldb_ch_set_bus_format(struct imx_ldb_channel *imx_ldb_ch,
 static int imx_ldb_connector_get_modes(struct drm_connector *connector)
 {
        struct imx_ldb_channel *imx_ldb_ch = con_to_imx_ldb_ch(connector);
-       int num_modes = 0;
+       int num_modes;
 
-       if (imx_ldb_ch->panel && imx_ldb_ch->panel->funcs &&
-           imx_ldb_ch->panel->funcs->get_modes) {
-               num_modes = imx_ldb_ch->panel->funcs->get_modes(imx_ldb_ch->panel);
-               if (num_modes > 0)
-                       return num_modes;
-       }
+       num_modes = drm_panel_get_modes(imx_ldb_ch->panel);
+       if (num_modes > 0)
+               return num_modes;
 
        if (!imx_ldb_ch->edid && imx_ldb_ch->ddc)
                imx_ldb_ch->edid = drm_get_edid(connector, imx_ldb_ch->ddc);
index 2e51b2f..e7ce175 100644 (file)
@@ -47,14 +47,11 @@ static int imx_pd_connector_get_modes(struct drm_connector *connector)
 {
        struct imx_parallel_display *imxpd = con_to_imxpd(connector);
        struct device_node *np = imxpd->dev->of_node;
-       int num_modes = 0;
+       int num_modes;
 
-       if (imxpd->panel && imxpd->panel->funcs &&
-           imxpd->panel->funcs->get_modes) {
-               num_modes = imxpd->panel->funcs->get_modes(imxpd->panel);
-               if (num_modes > 0)
-                       return num_modes;
-       }
+       num_modes = drm_panel_get_modes(imxpd->panel);
+       if (num_modes > 0)
+               return num_modes;
 
        if (imxpd->edid) {
                drm_connector_update_edid_property(connector, imxpd->edid);