Subject: Re: [PATCH v2 2/2] pinctrl: iproc: use unique name for irq chip

From: Marc Zyngier <[email-masked]>
Date: Mon, 07 Oct 2019 09:14:38 +0100

On Mon, 07 Oct 2019 08:30:50 +0100,
Geert Uytterhoeven <[email-masked]> wrote:
> 
> Hi Chris,
> 
> CC MarcZ
> 
> On Thu, Oct 3, 2019 at 2:03 AM Chris Packham
> <[email-masked]> wrote:
> > Use the dev_name(dev) for the irqc->name so that we get unique names
> > when we have multiple instances of this driver.
> >
> > Signed-off-by: Chris Packham <[email-masked]>
> 
> A while ago, Marc Zyngier pointed out that the irq_chip .name field
> should contain the device's class name, not the instance's name.
> Hence the current code is correct?

Thanks Geert for looping me in. The main reasons why I oppose this
kind of "let's show as much information as we can in /proc/interrupts"
are:

- It clutters the output badly: the formatting of this file, which is
  bad enough when you have a small number of CPUs, becomes unreadable
  when you have a large number of them *and* stupidly long strings
  that only make sense on a given platform.

- Like it or not, /proc is ABI. We don't change things randomly there
  without a good reason, and debugging isn't one of them.

- Debug information belongs to debugfs, where we already have plenty
  of stuff (see CONFIG_GENERIC_IRQ_DEBUGFS). I'd rather we improve
  this infrastructure if needed, rather than add platform specific
  hacks.

</rant>

Thanks,

	M.

> 
> See also "[PATCH 0/4] irqchip: renesas: Use proper irq_chip name and parent"
> (https://lore.kernel.org/lkml/[email-masked]/)
> Note that the irqchip patches in that series have been applied; the gpio
> patches haven't been applied yet.
> 
> > --- a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> > +++ b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
> > @@ -858,7 +858,7 @@ static int iproc_gpio_probe(struct platform_device *pdev)
> >                 struct gpio_irq_chip *girq;
> >
> >                 irqc = &chip->irqchip;
> > -               irqc->name = "bcm-iproc-gpio";
> > +               irqc->name = dev_name(dev);
> >                 irqc->irq_ack = iproc_gpio_irq_ack;
> >                 irqc->irq_mask = iproc_gpio_irq_mask;
> >                 irqc->irq_unmask = iproc_gpio_irq_unmask;
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> -- 
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email-masked]
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
> 

-- 
Jazz is not dead, it just smells funny.

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel