Re: [PATCH] genirq: Refactor the irq_chip_xxx_parent()
From: Thomas Gleixner
Date: Tue May 14 2024 - 13:24:07 EST
On Tue, May 14 2024 at 21:19, Jinjie Ruan wrote:
> +static inline void irq_chip_do_common_parent(void (*chip_action)(struct irq_data *),
> + struct irq_data *data)
> +{
> + data = data->parent_data;
> + chip_action(data);
> +}
> void irq_chip_eoi_parent(struct irq_data *data)
> {
> - data = data->parent_data;
> - data->chip->irq_eoi(data);
> + irq_chip_do_common_parent(data->chip->irq_eoi, data);
> }
> EXPORT_SYMBOL_GPL(irq_chip_eoi_parent);
How is this equivalent?
The original code does:
data = data->parent_data;
data->chip->irq_eoi(data);
which is equivalent to:
data->parent_data->chip->irq_eoi(data->parent_data);
while your change resolves to:
data->chip->irq_eoi(data->parent_data);
Seriously?
I'm starting to get tired of your flood of half baken 'cleanup' patches.
Thanks,
tglx