All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>,
	Linux Media Mailing List <linux-media@vger.kernel.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Rob Herring <robh+dt@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>
Subject: Re: [PATCH 06/13] media: davinci: vpif: Use platform_get_irq_optional() to get the interrupt
Date: Tue, 4 Jan 2022 17:22:52 +0000	[thread overview]
Message-ID: <CA+V-a8snJU6YYtfcN_mWCJGxYnbNGrLdU+Y5g06mjV4dhsABMw@mail.gmail.com> (raw)
In-Reply-To: <CAHp75VeCwR-eP930s3miv-ux8=_P+vmdkhN+K=weTL1nwNA1ig@mail.gmail.com>

Hi Andy,

Thank you for the review.

On Sat, Dec 25, 2021 at 5:32 PM Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
>
> On Sat, Dec 25, 2021 at 3:04 AM Lad Prabhakar
> <prabhakar.mahadev-lad.rj@bp.renesas.com> wrote:
> >
> > platform_get_resource(pdev, IORESOURCE_IRQ, ..) relies on static
> > allocation of IRQ resources in DT core code, this causes an issue
> > when using hierarchical interrupt domains using "interrupts" property
> > in the node as this bypasses the hierarchical setup and messes up the
> > irq chaining.
> >
> > In preparation for removal of static setup of IRQ resource from DT core
> > code use platform_get_irq_optional().
> >
> > Also this patch propagates error code in case devm_request_irq()
> > fails instead of returing -EINVAL.
>
> returning
>
> ...
>
> > +       res_irq->flags = IORESOURCE_IRQ | irq_get_trigger_type(irq);
> > +       res_irq->start = irq;
> > +       res_irq->end = irq;
> > +       res_irq->name = dev_of_node(&pdev->dev) ? of_node_full_name(pdev->dev.of_node) : NULL;
>
> If you convert DEFINE_RES_NAMED() to return a compound literal, then
> you may use it here like
>
> res_irq = DEFINE_RES_NAMED(...);
>
> or even do like this
>
> if (dev_of_node(...))
>   res_irq = DEFINE_RES_IRQ_NAMED(...)
> else
>   res_irq = DEFINE_RES_IRQ(...);
> res_irq->flags |= irq_get_trigger_type(irq);
>
There are quite a few users of DEFINE_RES_IRQ_NAMED()/DEFINE_RES_IRQ()
changing this macos just for this single user tree wide doesn't make
sense. Let me know if you think otherwise.

> I'm not sure why you can't simply use the NAMED variant in both cases
> (yes, I see that of_node_full_name() will return something, not NULL).
>
> ...
>
> > +       while ((err = platform_get_irq_optional(pdev, res_idx)) != -ENXIO) {
> > +               if (err < 0)
> > +                       goto vpif_unregister;
>
> Needs a better error checking, i.e. consider 0 as no-IRQ (equivalent
> to -ENXIO (note, OF code never returns 0 as valid vIRQ).
>
Will fix that.

> >                 res_idx++;
> >         }
>
> ...
>
> > +       while ((err = platform_get_irq_optional(pdev, res_idx)) != -ENXIO) {
> > +               if (err < 0)
> > +                       goto vpif_unregister;
>
> Ditto.
>
Will fix that.

Cheers,
Prabhakar

  reply	other threads:[~2022-01-04 17:23 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-23 17:30 [PATCH 00/13] media: Use platform_get_irq*() variants to fetch IRQ's Lad Prabhakar
2021-12-23 17:30 ` [PATCH 01/13] media: vsp1: Use platform_get_irq() to get the interrupt Lad Prabhakar
2021-12-30  0:06   ` Laurent Pinchart
2021-12-30 12:32     ` Lad, Prabhakar
2021-12-23 17:30 ` [PATCH 02/13] media: camss: Use platform_get_irq_byname() " Lad Prabhakar
2021-12-23 18:06   ` Bjorn Andersson
2021-12-23 17:30 ` [PATCH 03/13] media: bdisp: Use platform_get_irq() " Lad Prabhakar
2021-12-23 17:30 ` [PATCH 04/13] media: s5p-mfc: " Lad Prabhakar
2021-12-23 17:30   ` Lad Prabhakar
2021-12-28  8:42   ` Andrzej Hajda
2021-12-28  8:42     ` Andrzej Hajda
2021-12-23 17:30 ` [PATCH 05/13] media: stm32-dma2d: " Lad Prabhakar
2021-12-23 17:30   ` Lad Prabhakar
2021-12-23 17:30 ` [PATCH 06/13] media: davinci: vpif: Use platform_get_irq_optional() " Lad Prabhakar
2021-12-25 17:32   ` Andy Shevchenko
2022-01-04 17:22     ` Lad, Prabhakar [this message]
2022-01-05  9:42       ` Andy Shevchenko
2022-01-05 17:41         ` Lad, Prabhakar
2022-01-06 13:43           ` Andy Shevchenko
2022-01-06 14:14             ` Andy Shevchenko
2022-01-06 15:27               ` Lad, Prabhakar
2022-01-06 16:01                 ` Andy Shevchenko
2022-01-06 16:10                   ` Lad, Prabhakar
2022-01-06 16:28                     ` Andy Shevchenko
2022-01-06 16:46                       ` Lad, Prabhakar
2021-12-23 17:30 ` [PATCH 07/13] media: exynos-gsc: Use platform_get_irq() " Lad Prabhakar
2021-12-23 17:30   ` Lad Prabhakar
2021-12-23 17:30 ` [PATCH 08/13] media: marvell-ccic: " Lad Prabhakar
2021-12-23 17:30 ` [PATCH 09/13] media: mtk-vcodec: Drop unnecessary call to platform_get_resource() Lad Prabhakar
2021-12-23 17:30   ` Lad Prabhakar
2021-12-23 17:30   ` Lad Prabhakar
2021-12-23 17:30 ` [PATCH 10/13] media: exynos4-is: Use platform_get_irq() to get the interrupt Lad Prabhakar
2021-12-23 17:30   ` Lad Prabhakar
2021-12-23 17:30 ` [PATCH 11/13] media: s5p-g2d: " Lad Prabhakar
2021-12-23 17:30   ` Lad Prabhakar
2021-12-23 17:30 ` [PATCH 12/13] media: mtk-vpu: Drop unnecessary call to platform_get_resource() Lad Prabhakar
2021-12-23 17:30   ` Lad Prabhakar
2021-12-23 17:30   ` Lad Prabhakar
2021-12-23 17:30 ` [PATCH 13/13] media: coda: Use platform_get_irq() to get the interrupt Lad Prabhakar
2021-12-23 17:30   ` Lad Prabhakar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+V-a8snJU6YYtfcN_mWCJGxYnbNGrLdU+Y5g06mjV4dhsABMw@mail.gmail.com \
    --to=prabhakar.csengg@gmail.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.