Re: [PATCH v2 09/13] media: mtk-vcodec: Drop unnecessary call to platform_get_resource()
From: Hans Verkuil
Date: Thu Jan 13 2022 - 08:05:55 EST
Hi Prabhakar,
I'm skipping this patch since if I am not mistaken this patch fixes this as well
(as part of a larger overhaul):
https://patchwork.linuxtv.org/project/linux-media/patch/20220113041055.25213-9-yunfei.dong@xxxxxxxxxxxx/
I posted a PR for that series, so that's on the way in.
Please confirm so I can mark your patch as Superseded.
Regards,
Hans
On 11/01/2022 01:23, Lad Prabhakar wrote:
> mtk_vcodec_probe() calls platform_get_resource(pdev, IORESOURCE_IRQ, ..)
> to check if IRQ resource exists and later calls platform_get_irq(pdev, ..)
> to get the actual IRQ.
>
> This patch drops an unnecessary call to platform_get_resource() and
> checks the return value of platform_get_irq(pdev, ..) to check if the
> IRQ line is valid.
>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
> ---
> v1->v2
> * No change.
> ---
> .../media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 11 ++++-------
> .../media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 10 +++-------
> 2 files changed, 7 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c
> index 40c39e1e596b..1509c2a4de84 100644
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c
> @@ -200,7 +200,6 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
> {
> struct mtk_vcodec_dev *dev;
> struct video_device *vfd_dec;
> - struct resource *res;
> phandle rproc_phandle;
> enum mtk_vcodec_fw_type fw_type;
> int i, ret;
> @@ -244,14 +243,12 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
> mtk_v4l2_debug(2, "reg[%d] base=%p", i, dev->reg_base[i]);
> }
>
> - res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
> - if (res == NULL) {
> - dev_err(&pdev->dev, "failed to get irq resource");
> - ret = -ENOENT;
> + ret = platform_get_irq(pdev, 0);
> + if (ret < 0)
> goto err_res;
> - }
>
> - dev->dec_irq = platform_get_irq(pdev, 0);
> + dev->dec_irq = ret;
> +
> irq_set_status_flags(dev->dec_irq, IRQ_NOAUTOEN);
> ret = devm_request_irq(&pdev->dev, dev->dec_irq,
> mtk_vcodec_dec_irq_handler, 0, pdev->name, dev);
> diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
> index aeaecb8d416e..86e70d826754 100644
> --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
> +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c
> @@ -236,7 +236,6 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
> {
> struct mtk_vcodec_dev *dev;
> struct video_device *vfd_enc;
> - struct resource *res;
> phandle rproc_phandle;
> enum mtk_vcodec_fw_type fw_type;
> int ret;
> @@ -280,14 +279,11 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
> goto err_res;
> }
>
> - res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
> - if (res == NULL) {
> - dev_err(&pdev->dev, "failed to get irq resource");
> - ret = -ENOENT;
> + ret = platform_get_irq(pdev, 0);
> + if (ret < 0)
> goto err_res;
> - }
>
> - dev->enc_irq = platform_get_irq(pdev, 0);
> + dev->enc_irq = ret;
> irq_set_status_flags(dev->enc_irq, IRQ_NOAUTOEN);
> ret = devm_request_irq(&pdev->dev, dev->enc_irq,
> mtk_vcodec_enc_irq_handler,