On Fri, 28 Dec 2018, Linus Walleij wrote: > On Fri, Dec 28, 2018 at 12:02 AM Leonard Crestez <cdleonard@xxxxxxxxx> wrote: > > > Digging a little deeper it seems the touchpad interrupt is active on > > boot and since it's configured as "level" and no touchpad driver is > > available yet there does not seem to be any way to clear it. > > I think these are called "spurious interrupts". > > > I don't know how this should be handled, booting with an active enabled but > > unclearable interrupt seems like a platform bug to me. There is even an > > option to set touchpad to "basic" which does some sort of ps2 emulation > > but the IRQ issue still happens! > > > > One workaround is to explicitly disable the interrupt from the handler > > if no mapping is found; this will keep it disabled until > > amd_gpio_irq_set_type is called later. > > I don't know how x86 and ACPI systems usually deal with this stuff > so I'm kind of lost. On the embedded systems that I develop on, > I would just disable all interrupts on probe() (usually writing 0x0 in > some interrupt enable register) and then they will get enabled > once consumers need them. That's the right thing to do. > But I have come to understand that maybe ACPI systems are > not so happy about drivers doing things like that? Each driver has to invoke a request_irq() variant, which enables the interrupt line. So there should be no problem when disabling all interrupts on probe. Thanks, tglx