smc91x: retrieve IRQ and trigger flags in a modern way
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 31 Oct 2014 20:32:06 +0000 (21:32 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 1 Nov 2014 21:04:20 +0000 (17:04 -0400)
commitd52fdbb735c36a209f36a628d40ca9185b349ba7
tree59055d87af4665d19e58d84d7130e390e6be0e50
parent1db3ddff1602edf2390b7667dcbaa0f71512e3ea
smc91x: retrieve IRQ and trigger flags in a modern way

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: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/smsc/smc91x.c