Message ID | 20201124112822.29414-1-festevam@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: coda: Convert the driver to DT-only | expand |
On 24/11/2020 12:28, Fabio Estevam wrote: > Since 5.10-rc1 i.MX is a devicetree-only platform, so simplify the code > by removing the unused non-DT support. > > Signed-off-by: Fabio Estevam <festevam@gmail.com> > --- > drivers/media/platform/coda/coda-common.c | 21 +-------------------- > 1 file changed, 1 insertion(+), 20 deletions(-) > > diff --git a/drivers/media/platform/coda/coda-common.c b/drivers/media/platform/coda/coda-common.c > index d30eafea701d..b1b29c13dba3 100644 > --- a/drivers/media/platform/coda/coda-common.c > +++ b/drivers/media/platform/coda/coda-common.c > @@ -3102,13 +3102,6 @@ static const struct coda_devtype coda_devdata[] = { > }, > }; > > -static const struct platform_device_id coda_platform_ids[] = { > - { .name = "coda-imx27", .driver_data = CODA_IMX27 }, > - { /* sentinel */ } > -}; > -MODULE_DEVICE_TABLE(platform, coda_platform_ids); > - > -#ifdef CONFIG_OF > static const struct of_device_id coda_dt_ids[] = { > { .compatible = "fsl,imx27-vpu", .data = &coda_devdata[CODA_IMX27] }, > { .compatible = "fsl,imx51-vpu", .data = &coda_devdata[CODA_IMX51] }, > @@ -3118,13 +3111,9 @@ static const struct of_device_id coda_dt_ids[] = { > { /* sentinel */ } > }; > MODULE_DEVICE_TABLE(of, coda_dt_ids); > -#endif > > static int coda_probe(struct platform_device *pdev) > { > - const struct of_device_id *of_id = > - of_match_device(of_match_ptr(coda_dt_ids), &pdev->dev); > - const struct platform_device_id *pdev_id; > struct coda_platform_data *pdata = pdev->dev.platform_data; So this can be dropped as well (and all related code), right? > struct device_node *np = pdev->dev.of_node; > struct gen_pool *pool; > @@ -3135,14 +3124,7 @@ static int coda_probe(struct platform_device *pdev) > if (!dev) > return -ENOMEM; > > - pdev_id = of_id ? of_id->data : platform_get_device_id(pdev); > - > - if (of_id) > - dev->devtype = of_id->data; > - else if (pdev_id) > - dev->devtype = &coda_devdata[pdev_id->driver_data]; > - else > - return -EINVAL; > + dev->devtype = of_device_get_match_data(&pdev->dev); > > dev->dev = &pdev->dev; > dev->clk_per = devm_clk_get(&pdev->dev, "per"); > @@ -3342,7 +3324,6 @@ static struct platform_driver coda_driver = { > .of_match_table = of_match_ptr(coda_dt_ids), > .pm = &coda_pm_ops, > }, > - .id_table = coda_platform_ids, > }; > > module_platform_driver(coda_driver); > And you can also remove include/linux/platform_data/media/coda.h. Regards, Hans
Hi Hans, On Wed, Dec 2, 2020 at 5:50 AM Hans Verkuil <hverkuil-cisco@xs4all.nl> wrote: > > struct coda_platform_data *pdata = pdev->dev.platform_data; > > So this can be dropped as well (and all related code), right? Yes, you are right. > And you can also remove include/linux/platform_data/media/coda.h. Yes, thanks for the review. I have sent v2 with your suggestions. Cheers
diff --git a/drivers/media/platform/coda/coda-common.c b/drivers/media/platform/coda/coda-common.c index d30eafea701d..b1b29c13dba3 100644 --- a/drivers/media/platform/coda/coda-common.c +++ b/drivers/media/platform/coda/coda-common.c @@ -3102,13 +3102,6 @@ static const struct coda_devtype coda_devdata[] = { }, }; -static const struct platform_device_id coda_platform_ids[] = { - { .name = "coda-imx27", .driver_data = CODA_IMX27 }, - { /* sentinel */ } -}; -MODULE_DEVICE_TABLE(platform, coda_platform_ids); - -#ifdef CONFIG_OF static const struct of_device_id coda_dt_ids[] = { { .compatible = "fsl,imx27-vpu", .data = &coda_devdata[CODA_IMX27] }, { .compatible = "fsl,imx51-vpu", .data = &coda_devdata[CODA_IMX51] }, @@ -3118,13 +3111,9 @@ static const struct of_device_id coda_dt_ids[] = { { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, coda_dt_ids); -#endif static int coda_probe(struct platform_device *pdev) { - const struct of_device_id *of_id = - of_match_device(of_match_ptr(coda_dt_ids), &pdev->dev); - const struct platform_device_id *pdev_id; struct coda_platform_data *pdata = pdev->dev.platform_data; struct device_node *np = pdev->dev.of_node; struct gen_pool *pool; @@ -3135,14 +3124,7 @@ static int coda_probe(struct platform_device *pdev) if (!dev) return -ENOMEM; - pdev_id = of_id ? of_id->data : platform_get_device_id(pdev); - - if (of_id) - dev->devtype = of_id->data; - else if (pdev_id) - dev->devtype = &coda_devdata[pdev_id->driver_data]; - else - return -EINVAL; + dev->devtype = of_device_get_match_data(&pdev->dev); dev->dev = &pdev->dev; dev->clk_per = devm_clk_get(&pdev->dev, "per"); @@ -3342,7 +3324,6 @@ static struct platform_driver coda_driver = { .of_match_table = of_match_ptr(coda_dt_ids), .pm = &coda_pm_ops, }, - .id_table = coda_platform_ids, }; module_platform_driver(coda_driver);
Since 5.10-rc1 i.MX is a devicetree-only platform, so simplify the code by removing the unused non-DT support. Signed-off-by: Fabio Estevam <festevam@gmail.com> --- drivers/media/platform/coda/coda-common.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-)