public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] wm831x-dcdc: fix coccinelle warnings of missing IRQF_ONESHOT
@ 2012-08-10  0:58 Feng Tang
  2012-08-10 10:04 ` Mark Brown
  0 siblings, 1 reply; 2+ messages in thread
From: Feng Tang @ 2012-08-10  0:58 UTC (permalink / raw)
  To: Axel Lin, broonie; +Cc: linux-kernel, Fengguang Wu, Feng Tang

From: Fengguang Wu <fengguang.wu@intel.com>

/c/kernel-tests/src/linux/drivers/regulator/wm831x-dcdc.c:829:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
/c/kernel-tests/src/linux/drivers/regulator/wm831x-dcdc.c:695:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
/c/kernel-tests/src/linux/drivers/regulator/wm831x-dcdc.c:533:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
/c/kernel-tests/src/linux/drivers/regulator/wm831x-dcdc.c:542:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT

Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci

 Make sure threaded IRQs without a primary handler are always request with
 IRQF_ONESHOT

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Feng Tang <feng.tang@intel.com>
---
 drivers/regulator/wm831x-dcdc.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/regulator/wm831x-dcdc.c b/drivers/regulator/wm831x-dcdc.c
index 7413885..a2a6093 100644
--- a/drivers/regulator/wm831x-dcdc.c
+++ b/drivers/regulator/wm831x-dcdc.c
@@ -532,7 +532,7 @@ static __devinit int wm831x_buckv_probe(struct platform_device *pdev)
 
 	irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
 	ret = request_threaded_irq(irq, NULL, wm831x_dcdc_uv_irq,
-				   IRQF_TRIGGER_RISING, dcdc->name, dcdc);
+				   IRQF_TRIGGER_RISING | IRQF_ONESHOT, dcdc->name, dcdc);
 	if (ret != 0) {
 		dev_err(&pdev->dev, "Failed to request UV IRQ %d: %d\n",
 			irq, ret);
@@ -541,7 +541,7 @@ static __devinit int wm831x_buckv_probe(struct platform_device *pdev)
 
 	irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "HC"));
 	ret = request_threaded_irq(irq, NULL, wm831x_dcdc_oc_irq,
-				   IRQF_TRIGGER_RISING, dcdc->name, dcdc);
+				   IRQF_TRIGGER_RISING | IRQF_ONESHOT, dcdc->name, dcdc);
 	if (ret != 0) {
 		dev_err(&pdev->dev, "Failed to request HC IRQ %d: %d\n",
 			irq, ret);
@@ -694,7 +694,7 @@ static __devinit int wm831x_buckp_probe(struct platform_device *pdev)
 
 	irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
 	ret = request_threaded_irq(irq, NULL, wm831x_dcdc_uv_irq,
-				   IRQF_TRIGGER_RISING,	dcdc->name, dcdc);
+				   IRQF_TRIGGER_RISING | IRQF_ONESHOT,	dcdc->name, dcdc);
 	if (ret != 0) {
 		dev_err(&pdev->dev, "Failed to request UV IRQ %d: %d\n",
 			irq, ret);
@@ -828,7 +828,7 @@ static __devinit int wm831x_boostp_probe(struct platform_device *pdev)
 
 	irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "UV"));
 	ret = request_threaded_irq(irq, NULL, wm831x_dcdc_uv_irq,
-				   IRQF_TRIGGER_RISING, dcdc->name,
+				   IRQF_TRIGGER_RISING | IRQF_ONESHOT, dcdc->name,
 				   dcdc);
 	if (ret != 0) {
 		dev_err(&pdev->dev, "Failed to request UV IRQ %d: %d\n",
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] wm831x-dcdc: fix coccinelle warnings of missing IRQF_ONESHOT
  2012-08-10  0:58 [PATCH] wm831x-dcdc: fix coccinelle warnings of missing IRQF_ONESHOT Feng Tang
@ 2012-08-10 10:04 ` Mark Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Brown @ 2012-08-10 10:04 UTC (permalink / raw)
  To: Feng Tang; +Cc: Axel Lin, linux-kernel, Fengguang Wu

On Fri, Aug 10, 2012 at 08:58:24AM +0800, Feng Tang wrote:
> From: Fengguang Wu <fengguang.wu@intel.com>
> 
> /c/kernel-tests/src/linux/drivers/regulator/wm831x-dcdc.c:829:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
> /c/kernel-tests/src/linux/drivers/regulator/wm831x-dcdc.c:695:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
> /c/kernel-tests/src/linux/drivers/regulator/wm831x-dcdc.c:533:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
> /c/kernel-tests/src/linux/drivers/regulator/wm831x-dcdc.c:542:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT

> Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci

>  Make sure threaded IRQs without a primary handler are always request with
>  IRQF_ONESHOT

This is actually a false positive - _ONESHOT is only needed for
interrupts without a primary handler if the interrupt controller is not
threaded.  For this driver (and most of the other wm831x drivers, as
well as many other MFDs) we are guaranteed that the primary handler can
never be called.  It's not going to hurt, though.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-08-10 10:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-10  0:58 [PATCH] wm831x-dcdc: fix coccinelle warnings of missing IRQF_ONESHOT Feng Tang
2012-08-10 10:04 ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox