Maulik Shah writes: > Clear previous kernel's configuration during init by resetting > interrupts in enable bank to zero. > > Suggested-by: Stephen Boyd > Signed-off-by: Maulik Shah > --- > drivers/irqchip/qcom-pdc.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/irqchip/qcom-pdc.c b/drivers/irqchip/qcom-pdc.c > index dfcdfc5..80e0dfb 100644 > --- a/drivers/irqchip/qcom-pdc.c > +++ b/drivers/irqchip/qcom-pdc.c > @@ -389,7 +389,8 @@ static const struct irq_domain_ops qcom_pdc_gpio_ops = { > > static int pdc_setup_pin_mapping(struct device_node *np) > { > - int ret, n; > + int ret, n, i; > + u32 irq_index, reg_index, val; > > n = of_property_count_elems_of_size(np, "qcom,pdc-ranges", sizeof(u32)); > if (n <= 0 || n % 3) > @@ -418,6 +419,15 @@ static int pdc_setup_pin_mapping(struct device_node *np) > &pdc_region[n].cnt); > if (ret) > return ret; > + > + for (i = pdc_region[n].pin_base; i < pdc_region[n].pin_base + > + pdc_region[n].cnt; i++) { how about making the for loop slightly easier to read by moving pin_base inside the loop? for (i = 0; i < pdc_region[n].cnt; i++) { reg_index = (i + pdc_region[n].pin_base) >> 5; irq_index = (i + pdc_region[n].pin_base) & 0x1f; [...] } -- balbi