Re: [PATCH v2 3/8] irqchip/qcom-pdc: Remove pdc_enable_intr() wrapper
From: Thomas Gleixner
Date: Wed Jun 03 2026 - 11:35:42 EST
On Tue, May 26 2026 at 16:24, Maulik Shah wrote:
> pdc->enable_intr() function already points to respective version
> specific enable function. pdc_enable_intr() now only kept as wrapper.
> Remove the wrapper and invoke pdc->enable_intr() from caller.
>
> Locking in pdc_enable_intr() applies lock to all pdc->enable_intr()
> however its only required for pdc_enable_intr_bank() which uses
> a shared bank across all interrupts. pdc_enable_intr_cfg() do not
> required locking as IRQ_CFG registers are one per interrupt. Move
> locking accordingly.
>
> Signed-off-by: Maulik Shah <maulik.shah@xxxxxxxxxxxxxxxx>
> ---
> drivers/irqchip/qcom-pdc.c | 18 +++++++-----------
> 1 file changed, 7 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/irqchip/qcom-pdc.c b/drivers/irqchip/qcom-pdc.c
> index 8f7802139e4e..db76737646e1 100644
> --- a/drivers/irqchip/qcom-pdc.c
> +++ b/drivers/irqchip/qcom-pdc.c
> @@ -201,11 +201,14 @@ static void pdc_x1e_irq_enable_write(u32 bank, u32 enable)
> static void pdc_enable_intr_bank(int pin_out, bool on)
> {
> unsigned long enable;
> + unsigned long flags;
> u32 index, mask;
>
> index = FIELD_GET(GENMASK(31, 5), pin_out);
> mask = FIELD_GET(GENMASK(4, 0), pin_out);
>
> + raw_spin_lock_irqsave(&pdc->lock, flags);
guard()