Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 294311
b: refs/heads/master
c: cd3b344
h: refs/heads/master
i:
  294309: 7bd7d18
  294307: 7f3bf35
  294303: c721474
v: v3
  • Loading branch information
Tomi Valkeinen committed Feb 21, 2012
1 parent 0ed1ff9 commit 1a94cbb
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 72 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3f60db4bde17088feed5f143582d7661cdbb9a01
refs/heads/master: cd3b34493f9b5de1d617e0be39f6cb5c59c9889c
33 changes: 15 additions & 18 deletions trunk/drivers/video/omap2/dss/dispc.c
Original file line number Diff line number Diff line change
Expand Up @@ -3341,15 +3341,6 @@ static int omap_dispchw_probe(struct platform_device *pdev)

dispc.pdev = pdev;

clk = clk_get(&pdev->dev, "fck");
if (IS_ERR(clk)) {
DSSERR("can't get fck\n");
r = PTR_ERR(clk);
goto err_get_clk;
}

dispc.dss_clk = clk;

spin_lock_init(&dispc.irq_lock);

#ifdef CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS
Expand All @@ -3362,30 +3353,38 @@ static int omap_dispchw_probe(struct platform_device *pdev)
dispc_mem = platform_get_resource(dispc.pdev, IORESOURCE_MEM, 0);
if (!dispc_mem) {
DSSERR("can't get IORESOURCE_MEM DISPC\n");
r = -EINVAL;
goto err_ioremap;
return -EINVAL;
}

dispc.base = devm_ioremap(&pdev->dev, dispc_mem->start,
resource_size(dispc_mem));
if (!dispc.base) {
DSSERR("can't ioremap DISPC\n");
r = -ENOMEM;
goto err_ioremap;
return -ENOMEM;
}

dispc.irq = platform_get_irq(dispc.pdev, 0);
if (dispc.irq < 0) {
DSSERR("platform_get_irq failed\n");
r = -ENODEV;
goto err_ioremap;
return -ENODEV;
}

r = devm_request_irq(&pdev->dev, dispc.irq, omap_dispc_irq_handler,
IRQF_SHARED, "OMAP DISPC", dispc.pdev);
if (r < 0) {
DSSERR("request_irq failed\n");
goto err_ioremap;
return r;
}

clk = clk_get(&pdev->dev, "fck");
if (IS_ERR(clk)) {
DSSERR("can't get fck\n");
r = PTR_ERR(clk);
return r;
}

dispc.dss_clk = clk;

pm_runtime_enable(&pdev->dev);

r = dispc_runtime_get();
Expand All @@ -3406,9 +3405,7 @@ static int omap_dispchw_probe(struct platform_device *pdev)

err_runtime_get:
pm_runtime_disable(&pdev->dev);
err_ioremap:
clk_put(dispc.dss_clk);
err_get_clk:
return r;
}

Expand Down
37 changes: 17 additions & 20 deletions trunk/drivers/video/omap2/dss/dsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -4688,10 +4688,8 @@ static int omap_dsihw_probe(struct platform_device *dsidev)
struct dsi_data *dsi;

dsi = devm_kzalloc(&dsidev->dev, sizeof(*dsi), GFP_KERNEL);
if (!dsi) {
r = -ENOMEM;
goto err_alloc;
}
if (!dsi)
return -ENOMEM;

dsi->pdev = dsidev;
dsi_pdev_map[dsi_module] = dsidev;
Expand All @@ -4714,12 +4712,6 @@ static int omap_dsihw_probe(struct platform_device *dsidev)
mutex_init(&dsi->lock);
sema_init(&dsi->bus_lock, 1);

r = dsi_get_clocks(dsidev);
if (r)
goto err_alloc;

pm_runtime_enable(&dsidev->dev);

INIT_DELAYED_WORK_DEFERRABLE(&dsi->framedone_timeout_work,
dsi_framedone_timeout_work_callback);

Expand All @@ -4731,28 +4723,27 @@ static int omap_dsihw_probe(struct platform_device *dsidev)
dsi_mem = platform_get_resource(dsi->pdev, IORESOURCE_MEM, 0);
if (!dsi_mem) {
DSSERR("can't get IORESOURCE_MEM DSI\n");
r = -EINVAL;
goto err_ioremap;
return -EINVAL;
}

dsi->base = devm_ioremap(&dsidev->dev, dsi_mem->start,
resource_size(dsi_mem));
if (!dsi->base) {
DSSERR("can't ioremap DSI\n");
r = -ENOMEM;
goto err_ioremap;
return -ENOMEM;
}

dsi->irq = platform_get_irq(dsi->pdev, 0);
if (dsi->irq < 0) {
DSSERR("platform_get_irq failed\n");
r = -ENODEV;
goto err_ioremap;
return -ENODEV;
}

r = devm_request_irq(&dsidev->dev, dsi->irq, omap_dsi_irq_handler,
IRQF_SHARED, dev_name(&dsidev->dev), dsi->pdev);
if (r < 0) {
DSSERR("request_irq failed\n");
goto err_ioremap;
return r;
}

/* DSI VCs initialization */
Expand All @@ -4764,9 +4755,15 @@ static int omap_dsihw_probe(struct platform_device *dsidev)

dsi_calc_clock_param_ranges(dsidev);

r = dsi_get_clocks(dsidev);
if (r)
return r;

pm_runtime_enable(&dsidev->dev);

r = dsi_runtime_get(dsidev);
if (r)
goto err_ioremap;
goto err_runtime_get;

rev = dsi_read_reg(dsidev, DSI_REVISION);
dev_dbg(&dsidev->dev, "OMAP DSI rev %d.%d\n",
Expand All @@ -4784,9 +4781,9 @@ static int omap_dsihw_probe(struct platform_device *dsidev)

return 0;

err_ioremap:
err_runtime_get:
pm_runtime_disable(&dsidev->dev);
err_alloc:
dsi_put_clocks(dsidev);
return r;
}

Expand Down
10 changes: 4 additions & 6 deletions trunk/drivers/video/omap2/dss/dss.c
Original file line number Diff line number Diff line change
Expand Up @@ -748,20 +748,19 @@ static int omap_dsshw_probe(struct platform_device *pdev)
dss_mem = platform_get_resource(dss.pdev, IORESOURCE_MEM, 0);
if (!dss_mem) {
DSSERR("can't get IORESOURCE_MEM DSS\n");
r = -EINVAL;
goto err_ioremap;
return -EINVAL;
}

dss.base = devm_ioremap(&pdev->dev, dss_mem->start,
resource_size(dss_mem));
if (!dss.base) {
DSSERR("can't ioremap DSS\n");
r = -ENOMEM;
goto err_ioremap;
return -ENOMEM;
}

r = dss_get_clocks();
if (r)
goto err_ioremap;
return r;

pm_runtime_enable(&pdev->dev);

Expand Down Expand Up @@ -809,7 +808,6 @@ static int omap_dsshw_probe(struct platform_device *pdev)
err_runtime_get:
pm_runtime_disable(&pdev->dev);
dss_put_clocks();
err_ioremap:
return r;
}

Expand Down
31 changes: 13 additions & 18 deletions trunk/drivers/video/omap2/dss/rfbi.c
Original file line number Diff line number Diff line change
Expand Up @@ -922,36 +922,34 @@ static int omap_rfbihw_probe(struct platform_device *pdev)
rfbi_mem = platform_get_resource(rfbi.pdev, IORESOURCE_MEM, 0);
if (!rfbi_mem) {
DSSERR("can't get IORESOURCE_MEM RFBI\n");
r = -EINVAL;
goto err_ioremap;
return -EINVAL;
}

rfbi.base = devm_ioremap(&pdev->dev, rfbi_mem->start,
resource_size(rfbi_mem));
if (!rfbi.base) {
DSSERR("can't ioremap RFBI\n");
r = -ENOMEM;
goto err_ioremap;
return -ENOMEM;
}

pm_runtime_enable(&pdev->dev);

r = rfbi_runtime_get();
if (r)
goto err_get_rfbi;

msleep(10);

clk = clk_get(&pdev->dev, "ick");
if (IS_ERR(clk)) {
DSSERR("can't get ick\n");
r = PTR_ERR(clk);
goto err_get_ick;
return PTR_ERR(clk);
}

rfbi.l4_khz = clk_get_rate(clk) / 1000;

clk_put(clk);

pm_runtime_enable(&pdev->dev);

r = rfbi_runtime_get();
if (r)
goto err_runtime_get;

msleep(10);

rev = rfbi_read_reg(RFBI_REVISION);
dev_dbg(&pdev->dev, "OMAP RFBI rev %d.%d\n",
FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0));
Expand All @@ -960,11 +958,8 @@ static int omap_rfbihw_probe(struct platform_device *pdev)

return 0;

err_get_ick:
rfbi_runtime_put();
err_get_rfbi:
err_runtime_get:
pm_runtime_disable(&pdev->dev);
err_ioremap:
return r;
}

Expand Down
21 changes: 12 additions & 9 deletions trunk/drivers/video/omap2/dss/venc.c
Original file line number Diff line number Diff line change
Expand Up @@ -795,38 +795,41 @@ static int omap_venchw_probe(struct platform_device *pdev)
venc_mem = platform_get_resource(venc.pdev, IORESOURCE_MEM, 0);
if (!venc_mem) {
DSSERR("can't get IORESOURCE_MEM VENC\n");
r = -EINVAL;
goto err_ioremap;
return -EINVAL;
}

venc.base = devm_ioremap(&pdev->dev, venc_mem->start,
resource_size(venc_mem));
if (!venc.base) {
DSSERR("can't ioremap VENC\n");
r = -ENOMEM;
goto err_ioremap;
return -ENOMEM;
}

r = venc_get_clocks(pdev);
if (r)
goto err_ioremap;
return r;

pm_runtime_enable(&pdev->dev);

r = venc_runtime_get();
if (r)
goto err_get_venc;
goto err_runtime_get;

rev_id = (u8)(venc_read_reg(VENC_REV_ID) & 0xff);
dev_dbg(&pdev->dev, "OMAP VENC rev %d\n", rev_id);

venc_runtime_put();

return omap_dss_register_driver(&venc_driver);
r = omap_dss_register_driver(&venc_driver);
if (r)
goto err_reg_panel_driver;

return 0;

err_get_venc:
err_reg_panel_driver:
err_runtime_get:
pm_runtime_disable(&pdev->dev);
venc_put_clocks();
err_ioremap:
return r;
}

Expand Down

0 comments on commit 1a94cbb

Please sign in to comment.