[PATCH 2/4] irqchip/gic: Implement generic gic_irq() API for GIC & GIC-v3

Marc Zyngier maz at kernel.org
Thu Jan 18 06:03:08 PST 2024


On Thu, 18 Jan 2024 11:27:37 +0000,
Dawei Li <dawei.li at shingroup.cn> wrote:
> 
> GIC & GIC-v3 share same gic_irq() implementations, unify them into a
> generic API.
> 
> Signed-off-by: Dawei Li <dawei.li at shingroup.cn>
> ---
>  drivers/irqchip/irq-gic-common.h | 5 +++++
>  drivers/irqchip/irq-gic-v3.c     | 5 -----
>  drivers/irqchip/irq-gic.c        | 5 -----
>  3 files changed, 5 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/irqchip/irq-gic-common.h b/drivers/irqchip/irq-gic-common.h
> index f407cce9ecaa..ed18db4ab2c5 100644
> --- a/drivers/irqchip/irq-gic-common.h
> +++ b/drivers/irqchip/irq-gic-common.h
> @@ -19,6 +19,11 @@ struct gic_quirk {
>  	u32 mask;
>  };
>  
> +static inline unsigned int gic_irq(struct irq_data *d)
> +{
> +	return d->hwirq;
> +}
> +
>  int gic_configure_irq(unsigned int irq, unsigned int type,
>                         void __iomem *base, void (*sync_access)(void));
>  void gic_dist_config(void __iomem *base, int gic_irqs,
> diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
> index b9d9375a3434..474a498a521e 100644
> --- a/drivers/irqchip/irq-gic-v3.c
> +++ b/drivers/irqchip/irq-gic-v3.c
> @@ -181,11 +181,6 @@ static enum gic_intid_range get_intid_range(struct irq_data *d)
>  	return __get_intid_range(d->hwirq);
>  }
>  
> -static inline unsigned int gic_irq(struct irq_data *d)
> -{
> -	return d->hwirq;
> -}
> -

I'd rather not do that. If anything, I'd get rid of the helper
altogether, as we have irqd_to_hwirq() that does the same job, and
actually preserves the typing.

	M.

-- 
Without deviation from the norm, progress is not possible.



More information about the linux-arm-kernel mailing list