aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/mfd/pcf50633-core.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/mfd/pcf50633-core.c b/drivers/mfd/pcf50633-core.c
index ec7a7727228..13dd971207f 100644
--- a/drivers/mfd/pcf50633-core.c
+++ b/drivers/mfd/pcf50633-core.c
@@ -367,7 +367,7 @@ static void pcf50633_irq_worker(struct work_struct *work)
put_device(pcf->dev);
- enable_irq(pcf->irq);
+// enable_irq(pcf->irq);
return;
reschedule:
schedule_work(&pcf->irq_work);
@@ -381,9 +381,11 @@ static irqreturn_t pcf50633_irq(int irq, void *data)
{
struct pcf50633 *pcf = data;
+ printk(KERN_ERR "pcf50633_irq\n");
+
get_device(pcf->dev);
- disable_irq(pcf->irq);
+// disable_irq(pcf->irq);
schedule_work(&pcf->irq_work);
return IRQ_HANDLED;
@@ -548,12 +550,13 @@ static int pcf50633_probe(struct i2c_client *client,
platform_device_add(pdev);
}
+ printk(KERN_ERR "q\n");
pcf->irq = client->irq;
if (client->irq) {
ret = request_irq(client->irq, pcf50633_irq,
- IRQF_TRIGGER_LOW, "pcf50633", pcf);
+ IRQF_TRIGGER_FALLING, "pcf50633", pcf);
if (ret) {
dev_err(pcf->dev, "Failed to request IRQ %d\n", ret);