[PATCH] irq/debug: implement missing FIXME in print_irq_desc()

yangfeng posted 1 patch 3 weeks, 1 day ago
There is a newer version of this series
kernel/irq/debug.h | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
[PATCH] irq/debug: implement missing FIXME in print_irq_desc()
Posted by yangfeng 3 weeks, 1 day ago
The original code ___PD(f) left a FIXME, so fix it.
The maximum length of a macro is 15, so modify the printk().

Signed-off-by: yangfeng <yangfeng.lucky@gmail.com>
---
 kernel/irq/debug.h | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/kernel/irq/debug.h b/kernel/irq/debug.h
index 8ccb326d2977..aa233cbeea38 100644
--- a/kernel/irq/debug.h
+++ b/kernel/irq/debug.h
@@ -5,8 +5,7 @@
 
 #define ___P(f) if (desc->status_use_accessors & f) printk("%14s set\n", #f)
 #define ___PS(f) if (desc->istate & f) printk("%14s set\n", #f)
-/* FIXME */
-#define ___PD(f) do { } while (0)
+#define ___PD(f) if (ACCESS_PRIVATE((&(desc->irq_data))->common, state_use_accessors) & f) printk("%14s set\n", #f)
 
 static inline void print_irq_desc(unsigned int irq, struct irq_desc *desc)
 {
@@ -39,9 +38,9 @@ static inline void print_irq_desc(unsigned int irq, struct irq_desc *desc)
 	___PS(IRQS_WAITING);
 	___PS(IRQS_PENDING);
 
-	___PD(IRQS_INPROGRESS);
-	___PD(IRQS_DISABLED);
-	___PD(IRQS_MASKED);
+	___PD(IRQD_IRQ_INPROGRESS);
+	___PD(IRQD_IRQ_DISABLED);
+	___PD(IRQD_IRQ_MASKED);
 }
 
 #undef ___P
-- 
2.43.0
Re: [PATCH] irq/debug: implement missing FIXME in print_irq_desc()
Posted by Thomas Gleixner 3 weeks, 1 day ago
On Thu, Sep 03 2026 at 22:19, yangfeng wrote:

The proper prefix is: genirq/debug:

> The original code ___PD(f) left a FIXME, so fix it.

That's really informative.

> The maximum length of a macro is 15, so modify the printk().

And this is just incomprehensible

> Signed-off-by: yangfeng <yangfeng.lucky@gmail.com>

You need to provide your full name not a nickname. See
Documentation/process.

> ---
>  kernel/irq/debug.h | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/kernel/irq/debug.h b/kernel/irq/debug.h
> index 8ccb326d2977..aa233cbeea38 100644
> --- a/kernel/irq/debug.h
> +++ b/kernel/irq/debug.h
> @@ -5,8 +5,7 @@
>  
>  #define ___P(f) if (desc->status_use_accessors & f) printk("%14s set\n", #f)
>  #define ___PS(f) if (desc->istate & f) printk("%14s set\n", #f)
> -/* FIXME */
> -#define ___PD(f) do { } while (0)
> +#define ___PD(f) if (ACCESS_PRIVATE((&(desc->irq_data))->common, state_use_accessors) & f) printk("%14s set\n", #f)

__irqd_to_state() exists for a reason and it's available in
internal.h. The define just needs to be before including debug.h.