Hi, On Tue, Jan 04, 2022 at 11:22:53AM +0100, Hans de Goede wrote: > Andy, Mika, why don't we just mask out all IRQs at boot unconditionally: > > diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c > index 683b95e9639a..8981755a5d83 100644 > --- a/drivers/pinctrl/intel/pinctrl-cherryview.c > +++ b/drivers/pinctrl/intel/pinctrl-cherryview.c > @@ -1552,19 +1552,10 @@ static int chv_gpio_irq_init_hw(struct gpio_chip *chip) > const struct intel_community *community = &pctrl->communities[0]; > > /* > - * The same set of machines in chv_no_valid_mask[] have incorrectly > - * configured GPIOs that generate spurious interrupts so we use > - * this same list to apply another quirk for them. > - * > - * See also https://bugzilla.kernel.org/show_bug.cgi?id=197953. > + * Start with all normal interrupts in the community masked, > + * but leave the ones that can only generate GPEs unmasked. > */ > - if (!pctrl->chip.irq.init_valid_mask) { > - /* > - * Mask all interrupts the community is able to generate > - * but leave the ones that can only generate GPEs unmasked. > - */ > - chv_pctrl_writel(pctrl, CHV_INTMASK, GENMASK(31, community->nirqs)); > - } > + chv_pctrl_writel(pctrl, CHV_INTMASK, GENMASK(31, community->nirqs)); > > /* Clear all interrupts */ > chv_pctrl_writel(pctrl, CHV_INTSTAT, 0xffff); > > ? IIRC masking them all broke some systems at the time. Unfortunately I don't remember the details anymore :(