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-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html