summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/langwell_gpio.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2011-02-14 19:08:53 +0100
committerGrant Likely <grant.likely@secretlab.ca>2011-02-14 19:08:53 +0100
commitb214b7bbffca8ac6a6f1dad46408f7a9d4219098 (patch)
tree2ef03e062e2a04ea9f2d5439b0daea5274a1bc98 /drivers/gpio/langwell_gpio.c
parentspi/spidev: Add 32 bit compat ioctl() (diff)
parentLinux 2.6.38-rc4 (diff)
downloadlinux-b214b7bbffca8ac6a6f1dad46408f7a9d4219098.tar.xz
linux-b214b7bbffca8ac6a6f1dad46408f7a9d4219098.zip
Merge commit 'v2.6.38-rc4' into spi/next
Diffstat (limited to 'drivers/gpio/langwell_gpio.c')
-rw-r--r--drivers/gpio/langwell_gpio.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpio/langwell_gpio.c b/drivers/gpio/langwell_gpio.c
index d81cc748e77f..54d70a47afc1 100644
--- a/drivers/gpio/langwell_gpio.c
+++ b/drivers/gpio/langwell_gpio.c
@@ -187,7 +187,7 @@ MODULE_DEVICE_TABLE(pci, lnw_gpio_ids);
static void lnw_irq_handler(unsigned irq, struct irq_desc *desc)
{
- struct lnw_gpio *lnw = (struct lnw_gpio *)get_irq_data(irq);
+ struct lnw_gpio *lnw = get_irq_data(irq);
u32 base, gpio;
void __iomem *gedr;
u32 gedr_v;
@@ -206,7 +206,12 @@ static void lnw_irq_handler(unsigned irq, struct irq_desc *desc)
/* clear the edge detect status bit */
writel(gedr_v, gedr);
}
- desc->chip->eoi(irq);
+
+ if (desc->chip->irq_eoi)
+ desc->chip->irq_eoi(irq_get_irq_data(irq));
+ else
+ dev_warn(lnw->chip.dev, "missing EOI handler for irq %d\n", irq);
+
}
static int __devinit lnw_gpio_probe(struct pci_dev *pdev,