Re: [patch 16/30] mfd: ab8500-debugfs: Remove the racy fiddling with irq_desc

2020-12-11 Thread Andy Shevchenko
On Thu, Dec 10, 2020 at 9:57 PM Thomas Gleixner  wrote:
>
> First of all drivers have absolutely no business to dig into the internals
> of an irq descriptor. That's core code and subject to change. All of this
> information is readily available to /proc/interrupts in a safe and race
> free way.
>
> Remove the inspection code which is a blatant violation of subsystem
> boundaries and racy against concurrent modifications of the interrupt
> descriptor.
>
> Print the irq line instead so the information can be looked up in a sane
> way in /proc/interrupts.

...

> -   seq_printf(s, "%3i:  %6i %4i",
> +   seq_printf(s, "%3i:  %6i %4i %4i\n",

Seems different specifiers, I think the intention was something like
   seq_printf(s, "%3i:  %4i %6i %4i\n",

>line,
> +  line + irq_first,
>num_interrupts[line],
>num_wake_interrupts[line]);


-- 
With Best Regards,
Andy Shevchenko
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [patch 16/30] mfd: ab8500-debugfs: Remove the racy fiddling with irq_desc

2020-12-11 Thread Lee Jones
On Thu, 10 Dec 2020, Thomas Gleixner wrote:

> First of all drivers have absolutely no business to dig into the internals
> of an irq descriptor. That's core code and subject to change. All of this
> information is readily available to /proc/interrupts in a safe and race
> free way.
> 
> Remove the inspection code which is a blatant violation of subsystem
> boundaries and racy against concurrent modifications of the interrupt
> descriptor.
> 
> Print the irq line instead so the information can be looked up in a sane
> way in /proc/interrupts.
> 
> Signed-off-by: Thomas Gleixner 
> Cc: Linus Walleij 
> Cc: Lee Jones 
> Cc: linux-arm-ker...@lists.infradead.org
> ---
>  drivers/mfd/ab8500-debugfs.c |   16 +++-
>  1 file changed, 3 insertions(+), 13 deletions(-)

Acked-by: Lee Jones 

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [patch 16/30] mfd: ab8500-debugfs: Remove the racy fiddling with irq_desc

2020-12-11 Thread Linus Walleij
On Thu, Dec 10, 2020 at 8:42 PM Thomas Gleixner  wrote:

> First of all drivers have absolutely no business to dig into the internals
> of an irq descriptor. That's core code and subject to change. All of this
> information is readily available to /proc/interrupts in a safe and race
> free way.
>
> Remove the inspection code which is a blatant violation of subsystem
> boundaries and racy against concurrent modifications of the interrupt
> descriptor.
>
> Print the irq line instead so the information can be looked up in a sane
> way in /proc/interrupts.
>
> Signed-off-by: Thomas Gleixner 
> Cc: Linus Walleij 
> Cc: Lee Jones 
> Cc: linux-arm-ker...@lists.infradead.org

Reviewed-by: Linus Walleij 

Yours,
Linus Walleij
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[patch 16/30] mfd: ab8500-debugfs: Remove the racy fiddling with irq_desc

2020-12-11 Thread Thomas Gleixner
First of all drivers have absolutely no business to dig into the internals
of an irq descriptor. That's core code and subject to change. All of this
information is readily available to /proc/interrupts in a safe and race
free way.

Remove the inspection code which is a blatant violation of subsystem
boundaries and racy against concurrent modifications of the interrupt
descriptor.

Print the irq line instead so the information can be looked up in a sane
way in /proc/interrupts.

Signed-off-by: Thomas Gleixner 
Cc: Linus Walleij 
Cc: Lee Jones 
Cc: linux-arm-ker...@lists.infradead.org
---
 drivers/mfd/ab8500-debugfs.c |   16 +++-
 1 file changed, 3 insertions(+), 13 deletions(-)

--- a/drivers/mfd/ab8500-debugfs.c
+++ b/drivers/mfd/ab8500-debugfs.c
@@ -1513,24 +1513,14 @@ static int ab8500_interrupts_show(struct
 {
int line;
 
-   seq_puts(s, "name: number:  number of: wake:\n");
+   seq_puts(s, "name: number: irq: number of: wake:\n");
 
for (line = 0; line < num_interrupt_lines; line++) {
-   struct irq_desc *desc = irq_to_desc(line + irq_first);
-
-   seq_printf(s, "%3i:  %6i %4i",
+   seq_printf(s, "%3i:  %6i %4i %4i\n",
   line,
+  line + irq_first,
   num_interrupts[line],
   num_wake_interrupts[line]);
-
-   if (desc && desc->name)
-   seq_printf(s, "-%-8s", desc->name);
-   if (desc && desc->action) {
-   struct irqaction *action = desc->action;
-
-   seq_printf(s, "  %s", action->name);
-   while ((action = action->next) != NULL)
-   seq_printf(s, ", %s", action->name);
}
seq_putc(s, '\n');
}

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel