[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071119144105.6ce66cd0@the-village.bc.nu>
Date: Mon, 19 Nov 2007 14:41:05 +0000
From: Alan Cox <alan@...rguk.ukuu.org.uk>
To: jeff@...zik.org, akpm@...l.org, linux-kernel@...r.kernel.org
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@...hat.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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists