This patch is based on andy-tracking.

Matt
From: Matt Hsu <[EMAIL PROTECTED]>
Date: Thu, 27 Nov 2008 19:56:55 +0800

change the IRQ type of pcf50633

---
 drivers/mfd/pcf50633-core.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c
index 6d66b52..e0e1797 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);
-- 
1.5.5.1

Reply via email to