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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 2019-10-07 1:14 a.m., Marc Zyngier wrote:
On Mon, 07 Oct 2019 08:30:50 +0100,
Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
Hi Chris,

CC MarcZ

On Thu, Oct 3, 2019 at 2:03 AM Chris Packham
<chris.packham@xxxxxxxxxxxxxxxxxxx> 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 <chris.packham@xxxxxxxxxxxxxxxxxxx>
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.
Thanks Marc/Geert.  Sounds like we should drop patch 2 from series.

See also "[PATCH 0/4] irqchip: renesas: Use proper irq_chip name and parent"
(https://lore.kernel.org/lkml/20190607095858.10028-1-geert+renesas@xxxxxxxxx/)
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 -- geert@xxxxxxxxxxxxxx

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





[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux