enc28j60: don't specify (wrong) IRQ type

Recent changes to the IRQ framework have made passing the wrong
trigger type to request_irq() become a fatal error.  In the case
of the enc28j60 driver, it stopped working in my test harness.

(Specifically:  the signal detects "pin change" events, both edges,
not just falling edges.  Similarly, other boards might route it
through an inverter.  Trigger type are board-specific.)

This fixes that problem by the usual fix of expecting board setup
code to have set up the correct IRQ trigger type.  The best known
example of that being x86 setup.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
David Brownell 2008-07-24 17:47:56 -07:00 committed by Jeff Garzik
parent 74dfd9fb0a
commit c7b7b04206

View File

@ -1547,8 +1547,10 @@ static int __devinit enc28j60_probe(struct spi_device *spi)
random_ether_addr(dev->dev_addr); random_ether_addr(dev->dev_addr);
enc28j60_set_hw_macaddr(dev); enc28j60_set_hw_macaddr(dev);
ret = request_irq(spi->irq, enc28j60_irq, IRQF_TRIGGER_FALLING, /* Board setup must set the relevant edge trigger type;
DRV_NAME, priv); * level triggers won't currently work.
*/
ret = request_irq(spi->irq, enc28j60_irq, 0, DRV_NAME, priv);
if (ret < 0) { if (ret < 0) {
if (netif_msg_probe(priv)) if (netif_msg_probe(priv))
dev_err(&spi->dev, DRV_NAME ": request irq %d failed " dev_err(&spi->dev, DRV_NAME ": request irq %d failed "