Skip to content

Commit

Permalink
[media] omap3isp: Replace cpu_is_omap3630() with ISP revision check
Browse files Browse the repository at this point in the history
Drivers must not rely on cpu_is_omap* macros (they will soon become
private). Use the ISP revision instead to identify the hardware.

Signed-off-by: Laurent Pinchart <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
  • Loading branch information
pinchartl authored and Mauro Carvalho Chehab committed Nov 28, 2012
1 parent b057c3c commit d8658bc
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions drivers/media/platform/omap3isp/isp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1350,10 +1350,7 @@ static int isp_enable_clocks(struct isp_device *isp)
* has to be twice of what is set on OMAP3430 to get
* the required value for cam_mclk
*/
if (cpu_is_omap3630())
divisor = 1;
else
divisor = 2;
divisor = isp->revision == ISP_REVISION_15_0 ? 1 : 2;

r = clk_prepare_enable(isp->clock[ISP_CLK_CAM_ICK]);
if (r) {
Expand Down Expand Up @@ -2111,7 +2108,11 @@ static int __devinit isp_probe(struct platform_device *pdev)
isp->isp_csiphy1.vdd = regulator_get(&pdev->dev, "VDD_CSIPHY1");
isp->isp_csiphy2.vdd = regulator_get(&pdev->dev, "VDD_CSIPHY2");

/* Clocks */
/* Clocks
*
* The ISP clock tree is revision-dependent. We thus need to enable ICLK
* manually to read the revision before calling __omap3isp_get().
*/
ret = isp_map_mem_resource(pdev, isp, OMAP3_ISP_IOMEM_MAIN);
if (ret < 0)
goto error;
Expand All @@ -2120,6 +2121,16 @@ static int __devinit isp_probe(struct platform_device *pdev)
if (ret < 0)
goto error;

ret = clk_enable(isp->clock[ISP_CLK_CAM_ICK]);
if (ret < 0)
goto error;

isp->revision = isp_reg_readl(isp, OMAP3_ISP_IOMEM_MAIN, ISP_REVISION);
dev_info(isp->dev, "Revision %d.%d found\n",
(isp->revision & 0xf0) >> 4, isp->revision & 0x0f);

clk_disable(isp->clock[ISP_CLK_CAM_ICK]);

if (__omap3isp_get(isp, false) == NULL) {
ret = -ENODEV;
goto error;
Expand All @@ -2130,10 +2141,6 @@ static int __devinit isp_probe(struct platform_device *pdev)
goto error_isp;

/* Memory resources */
isp->revision = isp_reg_readl(isp, OMAP3_ISP_IOMEM_MAIN, ISP_REVISION);
dev_info(isp->dev, "Revision %d.%d found\n",
(isp->revision & 0xf0) >> 4, isp->revision & 0x0f);

for (m = 0; m < ARRAY_SIZE(isp_res_maps); m++)
if (isp->revision == isp_res_maps[m].isp_rev)
break;
Expand Down

0 comments on commit d8658bc

Please sign in to comment.