Messages in this thread Patch in this message | | | Date | Mon, 19 Nov 2007 14:41:05 +0000 | From | Alan Cox <> | Subject | [PATCH] pata_isapnp: Polled devices |
| |
If a card has no IRQ then pass no interrupt handler but allow polled usage.
Signed-off-by: Alan Cox <alan@redhat.com>
diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.24-rc2-mm1/drivers/ata/pata_isapnp.c linux-2.6.24-rc2-mm1/drivers/ata/pata_isapnp.c --- linux.vanilla-2.6.24-rc2-mm1/drivers/ata/pata_isapnp.c 2007-11-16 17:54:39.000000000 +0000 +++ linux-2.6.24-rc2-mm1/drivers/ata/pata_isapnp.c 2007-11-16 18:14:29.000000000 +0000 @@ -75,13 +75,16 @@ struct ata_host *host; struct ata_port *ap; void __iomem *cmd_addr, *ctl_addr; + int irq = 0; + irq_handler_t handler = NULL; if (pnp_port_valid(idev, 0) == 0) return -ENODEV; - /* FIXME: Should selected polled PIO here not fail */ - if (pnp_irq_valid(idev, 0) == 0) - return -ENODEV; + if (pnp_irq_valid(idev, 0)) { + irq = pnp_irq(idev, 0); + handler = ata_interrupt; + } /* allocate host */ host = ata_host_alloc(&idev->dev, 1); @@ -115,7 +118,7 @@ (unsigned long long)pnp_port_start(idev, 1)); /* activate */ - return ata_host_activate(host, pnp_irq(idev, 0), ata_interrupt, 0, + return ata_host_activate(host, irq, handler, 0, &isapnp_sht); } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |