linux-next: manual merge of the v4l-dvb tree with the sh tree

From: Stephen Rothwell
Date: Thu Aug 27 2009 - 20:11:54 EST


Hi Mauro,

Today's linux-next merge of the v4l-dvb tree got a conflict in
drivers/media/video/sh_mobile_ceu_camera.c between commit
6d1386c6b8db54ac8d94c01194e0c27cd538532b ("v4l2: Runtime PM for SuperH
Mobile CEU") from the sh tree and commits
96d62ae620121fbf00228c925afc4439782f77e5 ("V4L/DVB (12506): soc-camera:
convert to platform device") and 7d2d23b9101115774c2b6ce5891235a4ba38ed53
("V4L/DVB (12510): soc-camera: (partially) convert to v4l2-(sub)dev API")
from the v4l-dvb tree.

I fixed it up (see below) and can carry the fix as necessary.
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

diff --cc drivers/media/video/sh_mobile_ceu_camera.c
index 61c47b8,9cdac58..0000000
--- a/drivers/media/video/sh_mobile_ceu_camera.c
+++ b/drivers/media/video/sh_mobile_ceu_camera.c
@@@ -356,11 -405,7 +404,7 @@@ static int sh_mobile_ceu_add_device(str
"SuperH Mobile CEU driver attached to camera %d\n",
icd->devnum);

- ret = icd->ops->init(icd);
- if (ret)
- goto err;
-
- clk_enable(pcdev->clk);
+ pm_runtime_get_sync(ici->dev);

ceu_write(pcdev, CAPSR, 1 << 16); /* reset */
while (ceu_read(pcdev, CSTSR) & 1)
@@@ -394,11 -439,9 +438,9 @@@ static void sh_mobile_ceu_remove_device
}
spin_unlock_irqrestore(&pcdev->lock, flags);

- clk_disable(pcdev->clk);
+ pm_runtime_put_sync(ici->dev);

- icd->ops->release(icd);
-
- dev_info(&icd->dev,
+ dev_info(icd->dev.parent,
"SuperH Mobile CEU driver detached from camera %d\n",
icd->devnum);

@@@ -860,12 -1713,16 +1711,12 @@@ static int __devinit sh_mobile_ceu_prob
goto exit_release_mem;
}

- snprintf(clk_name, sizeof(clk_name), "ceu%d", pdev->id);
- pcdev->clk = clk_get(&pdev->dev, clk_name);
- if (IS_ERR(pcdev->clk)) {
- dev_err(&pdev->dev, "cannot get clock \"%s\"\n", clk_name);
- err = PTR_ERR(pcdev->clk);
- goto exit_free_irq;
- }
+ pm_suspend_ignore_children(&pdev->dev, true);
+ pm_runtime_enable(&pdev->dev);
+ pm_runtime_resume(&pdev->dev);

pcdev->ici.priv = pcdev;
- pcdev->ici.dev = &pdev->dev;
+ pcdev->ici.v4l2_dev.dev = &pdev->dev;
pcdev->ici.nr = pdev->id;
pcdev->ici.drv_name = dev_name(&pdev->dev);
pcdev->ici.ops = &sh_mobile_ceu_host_ops;
@@@ -924,10 -1767,9 +1775,10 @@@ static struct dev_pm_ops sh_mobile_ceu_
static struct platform_driver sh_mobile_ceu_driver = {
.driver = {
.name = "sh_mobile_ceu",
+ .pm = &sh_mobile_ceu_dev_pm_ops,
},
.probe = sh_mobile_ceu_probe,
- .remove = sh_mobile_ceu_remove,
+ .remove = __exit_p(sh_mobile_ceu_remove),
};

static int __init sh_mobile_ceu_init(void)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/