From c58e690eb050bbf0d53f2eb9882d24b2b2c564d1 Mon Sep 17 00:00:00 2001 From: Matt Hsu Date: Thu, 27 Nov 2008 12:10:24 +0000 Subject: change-the-irq-type-of-pcf50633.patch change the IRQ type of pcf50633 (to LEVEL) --- drivers/mfd/pcf50633-core.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'drivers/mfd/pcf50633-core.c') diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c index dd6a7949182..53429154d7e 100644 --- a/drivers/mfd/pcf50633-core.c +++ b/drivers/mfd/pcf50633-core.c @@ -367,6 +367,7 @@ static void pcf50633_irq_worker(struct work_struct *work) put_device(pcf->dev); + enable_irq(pcf->irq); return; reschedule: schedule_work(&pcf->irq_work); @@ -381,6 +382,8 @@ static irqreturn_t pcf50633_irq(int irq, void *data) struct pcf50633 *pcf = data; get_device(pcf->dev); + + disable_irq(pcf->irq); schedule_work(&pcf->irq_work); return IRQ_HANDLED; @@ -549,7 +552,7 @@ static int pcf50633_probe(struct i2c_client *client, if (client->irq) { ret = request_irq(client->irq, pcf50633_irq, - IRQF_TRIGGER_FALLING, "pcf50633", pcf); + IRQF_TRIGGER_LOW, "pcf50633", pcf); if (ret) { dev_err(pcf->dev, "Failed to request IRQ %d\n", ret); -- cgit v1.2.3