Commit d5fdfedc authored by Saurabh Sengar's avatar Saurabh Sengar Committed by Sebastian Reichel

power: max8903_charger: set IRQF_ONESHOT if no primary handler is specified

If no primary handler is specified for threaded_irq then a
default one is assigned which always returns IRQ_WAKE_THREAD.
This handler requires the IRQF_ONESHOT, because the source of
interrupt is not disabled.
Signed-off-by: default avatarSaurabh Sengar <saurabh.truth@gmail.com>
Signed-off-by: default avatarSebastian Reichel <sre@kernel.org>
parent c4c0edfb
...@@ -291,10 +291,10 @@ static int max8903_probe(struct platform_device *pdev) ...@@ -291,10 +291,10 @@ static int max8903_probe(struct platform_device *pdev)
if (pdata->dc_valid) { if (pdata->dc_valid) {
ret = devm_request_threaded_irq(dev, gpio_to_irq(pdata->dok), ret = devm_request_threaded_irq(dev, gpio_to_irq(pdata->dok),
NULL, max8903_dcin, NULL, max8903_dcin,
IRQF_TRIGGER_FALLING | IRQF_TRIGGER_FALLING |
IRQF_TRIGGER_RISING, IRQF_TRIGGER_RISING | IRQF_ONESHOT,
"MAX8903 DC IN", data); "MAX8903 DC IN", data);
if (ret) { if (ret) {
dev_err(dev, "Cannot request irq %d for DC (%d)\n", dev_err(dev, "Cannot request irq %d for DC (%d)\n",
gpio_to_irq(pdata->dok), ret); gpio_to_irq(pdata->dok), ret);
...@@ -304,10 +304,10 @@ static int max8903_probe(struct platform_device *pdev) ...@@ -304,10 +304,10 @@ static int max8903_probe(struct platform_device *pdev)
if (pdata->usb_valid) { if (pdata->usb_valid) {
ret = devm_request_threaded_irq(dev, gpio_to_irq(pdata->uok), ret = devm_request_threaded_irq(dev, gpio_to_irq(pdata->uok),
NULL, max8903_usbin, NULL, max8903_usbin,
IRQF_TRIGGER_FALLING | IRQF_TRIGGER_FALLING |
IRQF_TRIGGER_RISING, IRQF_TRIGGER_RISING | IRQF_ONESHOT,
"MAX8903 USB IN", data); "MAX8903 USB IN", data);
if (ret) { if (ret) {
dev_err(dev, "Cannot request irq %d for USB (%d)\n", dev_err(dev, "Cannot request irq %d for USB (%d)\n",
gpio_to_irq(pdata->uok), ret); gpio_to_irq(pdata->uok), ret);
...@@ -317,10 +317,10 @@ static int max8903_probe(struct platform_device *pdev) ...@@ -317,10 +317,10 @@ static int max8903_probe(struct platform_device *pdev)
if (pdata->flt) { if (pdata->flt) {
ret = devm_request_threaded_irq(dev, gpio_to_irq(pdata->flt), ret = devm_request_threaded_irq(dev, gpio_to_irq(pdata->flt),
NULL, max8903_fault, NULL, max8903_fault,
IRQF_TRIGGER_FALLING | IRQF_TRIGGER_FALLING |
IRQF_TRIGGER_RISING, IRQF_TRIGGER_RISING | IRQF_ONESHOT,
"MAX8903 Fault", data); "MAX8903 Fault", data);
if (ret) { if (ret) {
dev_err(dev, "Cannot request irq %d for Fault (%d)\n", dev_err(dev, "Cannot request irq %d for Fault (%d)\n",
gpio_to_irq(pdata->flt), ret); gpio_to_irq(pdata->flt), ret);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment