diff mbox series

[v2,4/6] media: mediatek: vcodec: Remove encoder driver get IRQ resource

Message ID 20220720085731.11011-5-irui.wang@mediatek.com (mailing list archive)
State New, archived
Headers show
Series support mt8188 h264 encoder | expand

Commit Message

Irui Wang July 20, 2022, 8:57 a.m. UTC
The "platform_get_resource(pdev, IORESOURCE_IRQ, 0)" is no longer
used after commit a1a2b7125e107("of/platform: Drop static setup of
IRQ resource from DT core"), so just remove the function in
encoder driver to avoid driver probe failed.

Signed-off-by: Irui Wang <irui.wang@mediatek.com>
---
 .../media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c   | 8 --------
 1 file changed, 8 deletions(-)

Comments

Chen-Yu Tsai Aug. 26, 2022, 4:08 a.m. UTC | #1
Hi,

On Wed, Jul 20, 2022 at 4:58 PM Irui Wang <irui.wang@mediatek.com> wrote:
>
> The "platform_get_resource(pdev, IORESOURCE_IRQ, 0)" is no longer
> used after commit a1a2b7125e107("of/platform: Drop static setup of
> IRQ resource from DT core"), so just remove the function in
> encoder driver to avoid driver probe failed.
>
> Signed-off-by: Irui Wang <irui.wang@mediatek.com>
> ---
>  .../media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c   | 8 --------
>  1 file changed, 8 deletions(-)
>
> diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
> index ea667b867b56..6d8964fb4fa2 100644
> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
> @@ -228,7 +228,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;
> @@ -272,13 +271,6 @@ 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;
> -               goto err_res;
> -       }
> -
>         dev->enc_irq = platform_get_irq(pdev, 0);

platform_get_irq() returns a negative number on failure. You should
check for errors here as the previous check was removed.

The description of platform_get_irq() explicitly mentions:

    Device drivers should check the return value for errors so as to
    not pass a negative integer value to the request_irq() APIs.

Hans has queued up this patch, so maybe you could provide a follow-up
patch to fix this?


Regards
ChenYu


>         irq_set_status_flags(dev->enc_irq, IRQ_NOAUTOEN);
>         ret = devm_request_irq(&pdev->dev, dev->enc_irq,
> --
> 2.18.0
>
Irui Wang Aug. 26, 2022, 9:46 a.m. UTC | #2
Dear Chen-Yu,

many thanks for your comments.

On Fri, 2022-08-26 at 12:08 +0800, Chen-Yu Tsai wrote:
> Hi,
> 
> On Wed, Jul 20, 2022 at 4:58 PM Irui Wang <irui.wang@mediatek.com>
> wrote:
> > 
> > The "platform_get_resource(pdev, IORESOURCE_IRQ, 0)" is no longer
> > used after commit a1a2b7125e107("of/platform: Drop static setup of
> > IRQ resource from DT core"), so just remove the function in
> > encoder driver to avoid driver probe failed.
> > 
> > Signed-off-by: Irui Wang <irui.wang@mediatek.com>
> > ---
> >  .../media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c   | 8 ----
> > ----
> >  1 file changed, 8 deletions(-)
> > 
> > diff --git
> > a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
> > b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
> > index ea667b867b56..6d8964fb4fa2 100644
> > --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
> > +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
> > @@ -228,7 +228,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;
> > @@ -272,13 +271,6 @@ 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;
> > -               goto err_res;
> > -       }
> > -
> >         dev->enc_irq = platform_get_irq(pdev, 0);
> 
> platform_get_irq() returns a negative number on failure. You should
> check for errors here as the previous check was removed.
> 
> The description of platform_get_irq() explicitly mentions:
> 
>     Device drivers should check the return value for errors so as to
>     not pass a negative integer value to the request_irq() APIs.
> 
> Hans has queued up this patch, so maybe you could provide a follow-up
> patch to fix this?
> 
Another same patch has been already merged into linux-next tree, so
this current patch can be dropped.

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c?id=750a914adb7ded3669b47daed6d9d749110b4107
 

Thanks
Best Regards
> 
> Regards
> ChenYu
> 
> 
> >         irq_set_status_flags(dev->enc_irq, IRQ_NOAUTOEN);
> >         ret = devm_request_irq(&pdev->dev, dev->enc_irq,
> > --
> > 2.18.0
> >
diff mbox series

Patch

diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
index ea667b867b56..6d8964fb4fa2 100644
--- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
+++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c
@@ -228,7 +228,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;
@@ -272,13 +271,6 @@  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;
-		goto err_res;
-	}
-
 	dev->enc_irq = platform_get_irq(pdev, 0);
 	irq_set_status_flags(dev->enc_irq, IRQ_NOAUTOEN);
 	ret = devm_request_irq(&pdev->dev, dev->enc_irq,