Commit 6306b3a5 authored by Vladimir Zapolskiy's avatar Vladimir Zapolskiy Committed by Bartlomiej Zolnierkiewicz

video: ARM CLCD: use panel device node for getting backlight and mode

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: default avatarVladimir Zapolskiy <vz@mleia.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
parent be736796
...@@ -624,16 +624,11 @@ static int clcdfb_snprintf_mode(char *buf, int size, struct fb_videomode *mode) ...@@ -624,16 +624,11 @@ static int clcdfb_snprintf_mode(char *buf, int size, struct fb_videomode *mode)
mode->refresh); 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 clcd_panel *clcd_panel)
{ {
struct device_node *panel;
struct device_node *backlight; struct device_node *backlight;
panel = of_graph_get_remote_port_parent(endpoint);
if (!panel)
return -ENODEV;
/* Look up the optional backlight phandle */ /* Look up the optional backlight phandle */
backlight = of_parse_phandle(panel, "backlight", 0); backlight = of_parse_phandle(panel, "backlight", 0);
if (backlight) { if (backlight) {
...@@ -646,19 +641,14 @@ static int clcdfb_of_get_backlight(struct device_node *endpoint, ...@@ -646,19 +641,14 @@ static int clcdfb_of_get_backlight(struct device_node *endpoint,
return 0; return 0;
} }
static int clcdfb_of_get_mode(struct device *dev, struct device_node *endpoint, static int clcdfb_of_get_mode(struct device *dev, struct device_node *panel,
struct clcd_panel *clcd_panel) struct clcd_panel *clcd_panel)
{ {
int err; int err;
struct device_node *panel;
struct fb_videomode *mode; struct fb_videomode *mode;
char *name; char *name;
int len; int len;
panel = of_graph_get_remote_port_parent(endpoint);
if (!panel)
return -ENODEV;
/* Only directly connected DPI panels supported for now */ /* Only directly connected DPI panels supported for now */
if (of_device_is_compatible(panel, "panel-dpi")) if (of_device_is_compatible(panel, "panel-dpi"))
err = clcdfb_of_get_dpi_panel_mode(panel, clcd_panel); err = clcdfb_of_get_dpi_panel_mode(panel, clcd_panel);
...@@ -791,11 +781,11 @@ static int clcdfb_of_init_display(struct clcd_fb *fb) ...@@ -791,11 +781,11 @@ static int clcdfb_of_init_display(struct clcd_fb *fb)
return err; return err;
} }
err = clcdfb_of_get_backlight(endpoint, fb->panel); err = clcdfb_of_get_backlight(panel, fb->panel);
if (err) if (err)
return 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) if (err)
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment