]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
video: ARM CLCD: use panel device node for getting backlight and mode
authorVladimir Zapolskiy <vz@mleia.com>
Mon, 30 Jan 2017 16:39:48 +0000 (17:39 +0100)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Mon, 30 Jan 2017 16:39:48 +0000 (17:39 +0100)
Having obtained panel device node in clcdfb_of_init_display() it allows to
generalize and simplify two more helper functions clcdfb_of_get_backlight()
and clcdfb_of_get_mode().

Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
drivers/video/fbdev/amba-clcd.c

index f25b5fce9991237dada2b6f8f7cad6a58b75a648..0fab92c628280359ec79023b545ff893c12a2d6c 100644 (file)
@@ -624,16 +624,11 @@ static int clcdfb_snprintf_mode(char *buf, int size, struct fb_videomode *mode)
                        mode->refresh);
 }
 
-static int clcdfb_of_get_backlight(struct device_node *endpoint,
+static int clcdfb_of_get_backlight(struct device_node *panel,
                                   struct clcd_panel *clcd_panel)
 {
-       struct device_node *panel;
        struct device_node *backlight;
 
-       panel = of_graph_get_remote_port_parent(endpoint);
-       if (!panel)
-               return -ENODEV;
-
        /* Look up the optional backlight phandle */
        backlight = of_parse_phandle(panel, "backlight", 0);
        if (backlight) {
@@ -646,19 +641,14 @@ static int clcdfb_of_get_backlight(struct device_node *endpoint,
        return 0;
 }
 
-static int clcdfb_of_get_mode(struct device *dev, struct device_node *endpoint,
-               struct clcd_panel *clcd_panel)
+static int clcdfb_of_get_mode(struct device *dev, struct device_node *panel,
+                             struct clcd_panel *clcd_panel)
 {
        int err;
-       struct device_node *panel;
        struct fb_videomode *mode;
        char *name;
        int len;
 
-       panel = of_graph_get_remote_port_parent(endpoint);
-       if (!panel)
-               return -ENODEV;
-
        /* Only directly connected DPI panels supported for now */
        if (of_device_is_compatible(panel, "panel-dpi"))
                err = clcdfb_of_get_dpi_panel_mode(panel, clcd_panel);
@@ -791,11 +781,11 @@ static int clcdfb_of_init_display(struct clcd_fb *fb)
                        return err;
        }
 
-       err = clcdfb_of_get_backlight(endpoint, fb->panel);
+       err = clcdfb_of_get_backlight(panel, fb->panel);
        if (err)
                return err;
 
-       err = clcdfb_of_get_mode(&fb->dev->dev, endpoint, fb->panel);
+       err = clcdfb_of_get_mode(&fb->dev->dev, panel, fb->panel);
        if (err)
                return err;