Commit edf15b4d authored by Linus Torvalds's avatar Linus Torvalds

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