Merge tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linux
Pull omapdss fixes from Tomi Valkeinen: "Here are a few OMAPDSS fixes for the next -rc. I'm sending these directly to you, and quite late, as the fbdev tree maintainer (Florian) has been busy with his work and hasn't had time to manage the fb patches." * tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linux: OMAPDSS: do not fail if dpll4_m4_ck is missing OMAPFB: Fix possible null pointer dereferencing OMAPDSS: HDMI: fix missing unlock on error in hdmi_dump_regs() omapdss: dss: Fix clocks on OMAP363x OMAPDSS: DSI: fix dsi_get_dsidev_from_id()
This commit is contained in:
@@ -365,11 +365,20 @@ struct platform_device *dsi_get_dsidev_from_id(int module)
|
||||
struct omap_dss_output *out;
|
||||
enum omap_dss_output_id id;
|
||||
|
||||
id = module == 0 ? OMAP_DSS_OUTPUT_DSI1 : OMAP_DSS_OUTPUT_DSI2;
|
||||
switch (module) {
|
||||
case 0:
|
||||
id = OMAP_DSS_OUTPUT_DSI1;
|
||||
break;
|
||||
case 1:
|
||||
id = OMAP_DSS_OUTPUT_DSI2;
|
||||
break;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
out = omap_dss_get_output(id);
|
||||
|
||||
return out->pdev;
|
||||
return out ? out->pdev : NULL;
|
||||
}
|
||||
|
||||
static inline void dsi_write_reg(struct platform_device *dsidev,
|
||||
|
@@ -697,11 +697,15 @@ static int dss_get_clocks(void)
|
||||
|
||||
dss.dss_clk = clk;
|
||||
|
||||
clk = clk_get(NULL, dss.feat->clk_name);
|
||||
if (IS_ERR(clk)) {
|
||||
DSSERR("Failed to get %s\n", dss.feat->clk_name);
|
||||
r = PTR_ERR(clk);
|
||||
goto err;
|
||||
if (dss.feat->clk_name) {
|
||||
clk = clk_get(NULL, dss.feat->clk_name);
|
||||
if (IS_ERR(clk)) {
|
||||
DSSERR("Failed to get %s\n", dss.feat->clk_name);
|
||||
r = PTR_ERR(clk);
|
||||
goto err;
|
||||
}
|
||||
} else {
|
||||
clk = NULL;
|
||||
}
|
||||
|
||||
dss.dpll4_m4_ck = clk;
|
||||
@@ -805,10 +809,10 @@ static int __init dss_init_features(struct device *dev)
|
||||
|
||||
if (cpu_is_omap24xx())
|
||||
src = &omap24xx_dss_feats;
|
||||
else if (cpu_is_omap34xx())
|
||||
src = &omap34xx_dss_feats;
|
||||
else if (cpu_is_omap3630())
|
||||
src = &omap3630_dss_feats;
|
||||
else if (cpu_is_omap34xx())
|
||||
src = &omap34xx_dss_feats;
|
||||
else if (cpu_is_omap44xx())
|
||||
src = &omap44xx_dss_feats;
|
||||
else if (soc_is_omap54xx())
|
||||
|
@@ -644,8 +644,10 @@ static void hdmi_dump_regs(struct seq_file *s)
|
||||
{
|
||||
mutex_lock(&hdmi.lock);
|
||||
|
||||
if (hdmi_runtime_get())
|
||||
if (hdmi_runtime_get()) {
|
||||
mutex_unlock(&hdmi.lock);
|
||||
return;
|
||||
}
|
||||
|
||||
hdmi.ip_data.ops->dump_wrapper(&hdmi.ip_data, s);
|
||||
hdmi.ip_data.ops->dump_pll(&hdmi.ip_data, s);
|
||||
|
@@ -787,7 +787,7 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
|
||||
|
||||
case OMAPFB_WAITFORVSYNC:
|
||||
DBG("ioctl WAITFORVSYNC\n");
|
||||
if (!display && !display->output && !display->output->manager) {
|
||||
if (!display || !display->output || !display->output->manager) {
|
||||
r = -EINVAL;
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user