diff mbox series

[1/2] drm/lima: Clean up IRQ warnings

Message ID de475904091400ef6c123285f221094654d96d35.1587509150.git.robin.murphy@arm.com (mailing list archive)
State New, archived
Headers show
Series [1/2] drm/lima: Clean up IRQ warnings | expand

Commit Message

Robin Murphy April 21, 2020, 10:51 p.m. UTC
Use the optional form of platform_get_irq() for blocks that legitimately
may not be present, to avoid getting an annoying barrage of spurious
warnings for non-existent PPs on configurations like Mali-450 MP2.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
 drivers/gpu/drm/lima/lima_device.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Qiang Yu April 22, 2020, 1:29 a.m. UTC | #1
Looks good for me, patch 1&2 are:
Reviewed-by: Qiang Yu <yuq825@gmail.com>

Regards,
Qiang

On Wed, Apr 22, 2020 at 6:51 AM Robin Murphy <robin.murphy@arm.com> wrote:
>
> Use the optional form of platform_get_irq() for blocks that legitimately
> may not be present, to avoid getting an annoying barrage of spurious
> warnings for non-existent PPs on configurations like Mali-450 MP2.
>
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> ---
>  drivers/gpu/drm/lima/lima_device.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/lima/lima_device.c b/drivers/gpu/drm/lima/lima_device.c
> index 247f51fd40a2..c334d297796a 100644
> --- a/drivers/gpu/drm/lima/lima_device.c
> +++ b/drivers/gpu/drm/lima/lima_device.c
> @@ -171,8 +171,10 @@ static void lima_regulator_fini(struct lima_device *dev)
>
>  static int lima_init_ip(struct lima_device *dev, int index)
>  {
> +       struct platform_device *pdev = to_platform_device(dev->dev);
>         struct lima_ip_desc *desc = lima_ip_desc + index;
>         struct lima_ip *ip = dev->ip + index;
> +       const char *irq_name = desc->irq_name;
>         int offset = desc->offset[dev->id];
>         bool must = desc->must_have[dev->id];
>         int err;
> @@ -183,8 +185,9 @@ static int lima_init_ip(struct lima_device *dev, int index)
>         ip->dev = dev;
>         ip->id = index;
>         ip->iomem = dev->iomem + offset;
> -       if (desc->irq_name) {
> -               err = platform_get_irq_byname(dev->pdev, desc->irq_name);
> +       if (irq_name) {
> +               err = must ? platform_get_irq_byname(pdev, irq_name) :
> +                            platform_get_irq_byname_optional(pdev, irq_name);
>                 if (err < 0)
>                         goto out;
>                 ip->irq = err;
> --
> 2.23.0.dirty
>
Qiang Yu April 24, 2020, 1:06 p.m. UTC | #2
Applied to drm-misc-next.

Thanks,
Qiang

On Wed, Apr 22, 2020 at 9:29 AM Qiang Yu <yuq825@gmail.com> wrote:
>
> Looks good for me, patch 1&2 are:
> Reviewed-by: Qiang Yu <yuq825@gmail.com>
>
> Regards,
> Qiang
>
> On Wed, Apr 22, 2020 at 6:51 AM Robin Murphy <robin.murphy@arm.com> wrote:
> >
> > Use the optional form of platform_get_irq() for blocks that legitimately
> > may not be present, to avoid getting an annoying barrage of spurious
> > warnings for non-existent PPs on configurations like Mali-450 MP2.
> >
> > Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> > ---
> >  drivers/gpu/drm/lima/lima_device.c | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/lima/lima_device.c b/drivers/gpu/drm/lima/lima_device.c
> > index 247f51fd40a2..c334d297796a 100644
> > --- a/drivers/gpu/drm/lima/lima_device.c
> > +++ b/drivers/gpu/drm/lima/lima_device.c
> > @@ -171,8 +171,10 @@ static void lima_regulator_fini(struct lima_device *dev)
> >
> >  static int lima_init_ip(struct lima_device *dev, int index)
> >  {
> > +       struct platform_device *pdev = to_platform_device(dev->dev);
> >         struct lima_ip_desc *desc = lima_ip_desc + index;
> >         struct lima_ip *ip = dev->ip + index;
> > +       const char *irq_name = desc->irq_name;
> >         int offset = desc->offset[dev->id];
> >         bool must = desc->must_have[dev->id];
> >         int err;
> > @@ -183,8 +185,9 @@ static int lima_init_ip(struct lima_device *dev, int index)
> >         ip->dev = dev;
> >         ip->id = index;
> >         ip->iomem = dev->iomem + offset;
> > -       if (desc->irq_name) {
> > -               err = platform_get_irq_byname(dev->pdev, desc->irq_name);
> > +       if (irq_name) {
> > +               err = must ? platform_get_irq_byname(pdev, irq_name) :
> > +                            platform_get_irq_byname_optional(pdev, irq_name);
> >                 if (err < 0)
> >                         goto out;
> >                 ip->irq = err;
> > --
> > 2.23.0.dirty
> >
diff mbox series

Patch

diff --git a/drivers/gpu/drm/lima/lima_device.c b/drivers/gpu/drm/lima/lima_device.c
index 247f51fd40a2..c334d297796a 100644
--- a/drivers/gpu/drm/lima/lima_device.c
+++ b/drivers/gpu/drm/lima/lima_device.c
@@ -171,8 +171,10 @@  static void lima_regulator_fini(struct lima_device *dev)
 
 static int lima_init_ip(struct lima_device *dev, int index)
 {
+	struct platform_device *pdev = to_platform_device(dev->dev);
 	struct lima_ip_desc *desc = lima_ip_desc + index;
 	struct lima_ip *ip = dev->ip + index;
+	const char *irq_name = desc->irq_name;
 	int offset = desc->offset[dev->id];
 	bool must = desc->must_have[dev->id];
 	int err;
@@ -183,8 +185,9 @@  static int lima_init_ip(struct lima_device *dev, int index)
 	ip->dev = dev;
 	ip->id = index;
 	ip->iomem = dev->iomem + offset;
-	if (desc->irq_name) {
-		err = platform_get_irq_byname(dev->pdev, desc->irq_name);
+	if (irq_name) {
+		err = must ? platform_get_irq_byname(pdev, irq_name) :
+			     platform_get_irq_byname_optional(pdev, irq_name);
 		if (err < 0)
 			goto out;
 		ip->irq = err;