• Linus Walleij's avatar
    smc91x: retrieve IRQ and trigger flags in a modern way · d52fdbb7
    Linus Walleij authored
    The SMC91x is written to explicitly look up the IRQ resource
    from the platform device and extract the IRQ and flags, however
    the platform_get_irq() does additional things, like call
    of_irq_get() in the device tree case, which will translate
    the IRQ using the irqdomain and defer the probe if the
    IRQ host cannot be found.
    
    As we're not looking up the resource, this will not retrieve
    the IRQ flags, but that is better done using
    irqd_get_trigger_type(), as the trigger is what the driver
    wants to modify. We take care to preserve the semantics that
    will make the trigger type provided from the resource
    override any local specifier.
    
    Tested on the Nomadik NHK15 which has its SMC91x IRQ line
    connected to a STMPE2401 GPIO expander on I2C.
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d52fdbb7
smc91x.c 63.4 KB