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
This commit is contained in:
@@ -1306,10 +1306,11 @@ static void fbcon_cursor(struct vc_data *vc, int mode)
|
||||
int y;
|
||||
int c = scr_readw((u16 *) vc->vc_pos);
|
||||
|
||||
ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms);
|
||||
|
||||
if (fbcon_is_inactive(vc, info) || vc->vc_deccm != 1)
|
||||
return;
|
||||
|
||||
ops->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms);
|
||||
if (vc->vc_cursor_type & 0x10)
|
||||
fbcon_del_cursor_timer(info);
|
||||
else
|
||||
|
||||
@@ -298,7 +298,7 @@ config FB_ARMCLCD
|
||||
|
||||
# Helper logic selected only by the ARM Versatile platform family.
|
||||
config PLAT_VERSATILE_CLCD
|
||||
def_bool ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
|
||||
def_bool ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || ARCH_INTEGRATOR
|
||||
depends on ARM
|
||||
depends on FB_ARMCLCD && FB=y
|
||||
|
||||
|
||||
@@ -60,6 +60,8 @@ omapdss_of_get_next_port(const struct device_node *parent,
|
||||
}
|
||||
prev = port;
|
||||
} while (of_node_cmp(port->name, "port") != 0);
|
||||
|
||||
of_node_put(ports);
|
||||
}
|
||||
|
||||
return port;
|
||||
@@ -94,7 +96,7 @@ struct device_node *dss_of_port_get_parent_device(struct device_node *port)
|
||||
if (!port)
|
||||
return NULL;
|
||||
|
||||
np = of_get_next_parent(port);
|
||||
np = of_get_parent(port);
|
||||
|
||||
for (i = 0; i < 2 && np; ++i) {
|
||||
struct property *prop;
|
||||
|
||||
@@ -653,7 +653,7 @@ static int pxa3xx_gcu_probe(struct platform_device *pdev)
|
||||
goto err_free_dma;
|
||||
}
|
||||
|
||||
ret = clk_enable(priv->clk);
|
||||
ret = clk_prepare_enable(priv->clk);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "failed to enable clock\n");
|
||||
goto err_misc_deregister;
|
||||
@@ -685,7 +685,7 @@ err_misc_deregister:
|
||||
misc_deregister(&priv->misc_dev);
|
||||
|
||||
err_disable_clk:
|
||||
clk_disable(priv->clk);
|
||||
clk_disable_unprepare(priv->clk);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -44,11 +44,9 @@ int of_get_videomode(struct device_node *np, struct videomode *vm,
|
||||
index = disp->native_mode;
|
||||
|
||||
ret = videomode_from_timings(disp, vm, index);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
display_timings_release(disp);
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_get_videomode);
|
||||
|
||||
Reference in New Issue
Block a user