Skip to content

Commit edf15b4

Browse files
committed
Merge tag 'fbdev-fixes-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux
Pull fbdev fixes from Tomi Valkeinen: - fix display regression on Versatile boards - fix OF node refcount bugs on omapdss - fix WARN about clock prepare on pxa3xx_gcu - fix mem leak in videomode helpers - fix fbconsole related boot problem on sun7i-a20-olinuxino-micro * tag 'fbdev-fixes-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: fbcon: unconditionally initialize cursor blink interval video: Fix possible leak in of_get_videomode() video: fbdev: pxa3xx_gcu: prepare the clocks OMAPDSS: Fix omap_dss_find_output_by_port_node() port refcount decrement OMAPDSS: Fix node refcount leak in omapdss_of_get_next_port() fbdev: select versatile helpers for the integrator
2 parents 7a834ba + 2a17d7e commit edf15b4

File tree

5 files changed

+9
-8
lines changed

5 files changed

+9
-8
lines changed

drivers/video/console/fbcon.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1306,10 +1306,11 @@ static void fbcon_cursor(struct vc_data *vc, int mode)
13061306
int y;
13071307
int c = scr_readw((u16 *) vc->vc_pos);
13081308

1309+
ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms);
1310+
13091311
if (fbcon_is_inactive(vc, info) || vc->vc_deccm != 1)
13101312
return;
13111313

1312-
ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms);
13131314
if (vc->vc_cursor_type & 0x10)
13141315
fbcon_del_cursor_timer(info);
13151316
else

drivers/video/fbdev/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ config FB_ARMCLCD
298298

299299
# Helper logic selected only by the ARM Versatile platform family.
300300
config PLAT_VERSATILE_CLCD
301-
def_bool ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
301+
def_bool ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || ARCH_INTEGRATOR
302302
depends on ARM
303303
depends on FB_ARMCLCD && FB=y
304304

drivers/video/fbdev/omap2/dss/dss-of.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ omapdss_of_get_next_port(const struct device_node *parent,
6060
}
6161
prev = port;
6262
} while (of_node_cmp(port->name, "port") != 0);
63+
64+
of_node_put(ports);
6365
}
6466

6567
return port;
@@ -94,7 +96,7 @@ struct device_node *dss_of_port_get_parent_device(struct device_node *port)
9496
if (!port)
9597
return NULL;
9698

97-
np = of_get_next_parent(port);
99+
np = of_get_parent(port);
98100

99101
for (i = 0; i < 2 && np; ++i) {
100102
struct property *prop;

drivers/video/fbdev/pxa3xx-gcu.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,7 @@ static int pxa3xx_gcu_probe(struct platform_device *pdev)
653653
goto err_free_dma;
654654
}
655655

656-
ret = clk_enable(priv->clk);
656+
ret = clk_prepare_enable(priv->clk);
657657
if (ret < 0) {
658658
dev_err(dev, "failed to enable clock\n");
659659
goto err_misc_deregister;
@@ -685,7 +685,7 @@ static int pxa3xx_gcu_probe(struct platform_device *pdev)
685685
misc_deregister(&priv->misc_dev);
686686

687687
err_disable_clk:
688-
clk_disable(priv->clk);
688+
clk_disable_unprepare(priv->clk);
689689

690690
return ret;
691691
}

drivers/video/of_videomode.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,9 @@ int of_get_videomode(struct device_node *np, struct videomode *vm,
4444
index = disp->native_mode;
4545

4646
ret = videomode_from_timings(disp, vm, index);
47-
if (ret)
48-
return ret;
4947

5048
display_timings_release(disp);
5149

52-
return 0;
50+
return ret;
5351
}
5452
EXPORT_SYMBOL_GPL(of_get_videomode);

0 commit comments

Comments
 (0)