[PATCH] pata-rb532-cf: platform_get_irq() failure ignored

Subsystems: libata subsystem (serial and parallel ata drivers), the rest

STALE6409d

6 messages, 4 authors, 2009-03-25 · open the first message on its own page

[PATCH] pata-rb532-cf: platform_get_irq() failure ignored

From: Roel Kluin <hidden>
Date: 2009-03-03 13:04:29

------------------------------>8-------------8<---------------------------------
platform_get_irq() can return -ENXIO, but since 'irq' is an unsigned int, it
does not show when the IRQ resource wasn't found.

Signed-off-by: Roel Kluin <redacted>
---
diff --git a/drivers/ata/pata_rb532_cf.c b/drivers/ata/pata_rb532_cf.c
index ebfcda2..fe8178c 100644
--- a/drivers/ata/pata_rb532_cf.c
+++ b/drivers/ata/pata_rb532_cf.c
@@ -173,11 +173,12 @@ static __devinit int rb532_pata_driver_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	irq = platform_get_irq(pdev, 0);
-	if (irq <= 0) {
+	ret = platform_get_irq(pdev, 0);
+	if (ret <= 0) {
 		dev_err(&pdev->dev, "no IRQ resource found\n");
 		return -ENOENT;
 	}
+	irq = ret;
 
 	gpio = irq_to_gpio(irq);
 	if (gpio < 0) {

Re: [PATCH] pata-rb532-cf: platform_get_irq() failure ignored

From: Jeff Garzik <hidden>
Date: 2009-03-05 12:23:32

Roel Kluin wrote:
quoted hunk
------------------------------>8-------------8<---------------------------------
platform_get_irq() can return -ENXIO, but since 'irq' is an unsigned int, it
does not show when the IRQ resource wasn't found.

Signed-off-by: Roel Kluin <redacted>
---
diff --git a/drivers/ata/pata_rb532_cf.c b/drivers/ata/pata_rb532_cf.c
index ebfcda2..fe8178c 100644
--- a/drivers/ata/pata_rb532_cf.c
+++ b/drivers/ata/pata_rb532_cf.c
@@ -173,11 +173,12 @@ static __devinit int rb532_pata_driver_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	irq = platform_get_irq(pdev, 0);
-	if (irq <= 0) {
+	ret = platform_get_irq(pdev, 0);
+	if (ret <= 0) {
 		dev_err(&pdev->dev, "no IRQ resource found\n");
 		return -ENOENT;
 	}
+	irq = ret;
 
 	gpio = irq_to_gpio(irq);
ACK from Phil or Florian?

Re: [PATCH] pata-rb532-cf: platform_get_irq() failure ignored

From: Phil Sutter <hidden>
Date: 2009-03-06 16:53:46

Hi,

On Thu, Mar 05, 2009 at 07:23:22AM -0500, Jeff Garzik wrote:
Roel Kluin wrote:
quoted
------------------------------>8-------------8<---------------------------------
platform_get_irq() can return -ENXIO, but since 'irq' is an unsigned int, 
it
does not show when the IRQ resource wasn't found.

Signed-off-by: Roel Kluin <redacted>
---
diff --git a/drivers/ata/pata_rb532_cf.c b/drivers/ata/pata_rb532_cf.c
index ebfcda2..fe8178c 100644
--- a/drivers/ata/pata_rb532_cf.c
+++ b/drivers/ata/pata_rb532_cf.c
@@ -173,11 +173,12 @@ static __devinit int rb532_pata_driver_probe(struct 
platform_device *pdev)
		return -EINVAL;
	}

-	irq = platform_get_irq(pdev, 0);
-	if (irq <= 0) {
+	ret = platform_get_irq(pdev, 0);
+	if (ret <= 0) {
		dev_err(&pdev->dev, "no IRQ resource found\n");
		return -ENOENT;
	}
+	irq = ret;

	gpio = irq_to_gpio(irq);
ACK from Phil or Florian?
That's fine for me, though I didn't test it (I managed to break my
build-machine somehow, in an attempt to having the mainboard properly
grounded).

One could simplify the patch by making the variable 'irq' be signed
instead of unsigned. This would also prevent "abusing" the variable
'ret'. What do you think?

Greetings, Phil

Re: [PATCH] pata-rb532-cf: platform_get_irq() failure ignored

From: Florian Fainelli <florian@openwrt.org>
Date: 2009-03-13 14:41:55

Hi,

Le Friday 06 March 2009 17:43:18 Phil Sutter, vous avez écrit :
Hi,

On Thu, Mar 05, 2009 at 07:23:22AM -0500, Jeff Garzik wrote:
quoted
Roel Kluin wrote:
quoted
------------------------------>8-------------8<-------------------------
-------- platform_get_irq() can return -ENXIO, but since 'irq' is an
unsigned int, it
does not show when the IRQ resource wasn't found.

Signed-off-by: Roel Kluin <redacted>
---
diff --git a/drivers/ata/pata_rb532_cf.c b/drivers/ata/pata_rb532_cf.c
index ebfcda2..fe8178c 100644
--- a/drivers/ata/pata_rb532_cf.c
+++ b/drivers/ata/pata_rb532_cf.c
@@ -173,11 +173,12 @@ static __devinit int
rb532_pata_driver_probe(struct platform_device *pdev)
		return -EINVAL;
	}

-	irq = platform_get_irq(pdev, 0);
-	if (irq <= 0) {
+	ret = platform_get_irq(pdev, 0);
+	if (ret <= 0) {
		dev_err(&pdev->dev, "no IRQ resource found\n");
		return -ENOENT;
	}
+	irq = ret;

	gpio = irq_to_gpio(irq);
ACK from Phil or Florian?
That's fine for me, though I didn't test it (I managed to break my
build-machine somehow, in an attempt to having the mainboard properly
grounded).

One could simplify the patch by making the variable 'irq' be signed
instead of unsigned. This would also prevent "abusing" the variable
'ret'. What do you think?
I agree with this proposal, abusing the ret value is not that good. What about the patch below :
--
From: Florian Fainelli <florian@openwrt.org>
Subject: [PATCH v2] pata-rb532-cf: platform_get_irq() failure ignored

platform_get_irq() can return -ENXIO, but since 'irq' is an
unsigned int, it does not show when the IRQ resource wasn't found.
Make irq an int so that we can use a single variable to test the
platform_get_irq() return value.

Signed-off-by: Roel Kluin <redacted>
Signed-off-by: Phil Sutter <redacted>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
--
diff --git a/drivers/ata/pata_rb532_cf.c b/drivers/ata/pata_rb532_cf.c
index ebfcda2..da05518 100644
--- a/drivers/ata/pata_rb532_cf.c
+++ b/drivers/ata/pata_rb532_cf.c
@@ -160,7 +160,7 @@ static void rb532_pata_setup_ports(struct ata_host *ah)
 
 static __devinit int rb532_pata_driver_probe(struct platform_device *pdev)
 {
-	unsigned int irq;
+	int irq;
 	int gpio;
 	struct resource *res;
 	struct ata_host *ah;

Re: [PATCH] pata-rb532-cf: platform_get_irq() failure ignored

From: Phil Sutter <hidden>
Date: 2009-03-14 00:51:31

Hi,

On Fri, Mar 13, 2009 at 03:41:43PM +0100, Florian Fainelli wrote:
I agree with this proposal, abusing the ret value is not that good. What about the patch below :
That's exactly what I meant. Thanks for preparing the patch!

Greetings, Phil

Re: [PATCH] pata-rb532-cf: platform_get_irq() failure ignored

From: Jeff Garzik <hidden>
Date: 2009-03-25 02:17:10

Florian Fainelli wrote:
quoted hunk
Hi,

Le Friday 06 March 2009 17:43:18 Phil Sutter, vous avez écrit :
quoted
Hi,

On Thu, Mar 05, 2009 at 07:23:22AM -0500, Jeff Garzik wrote:
quoted
Roel Kluin wrote:
quoted
------------------------------>8-------------8<-------------------------
-------- platform_get_irq() can return -ENXIO, but since 'irq' is an
unsigned int, it
does not show when the IRQ resource wasn't found.

Signed-off-by: Roel Kluin <redacted>
---
diff --git a/drivers/ata/pata_rb532_cf.c b/drivers/ata/pata_rb532_cf.c
index ebfcda2..fe8178c 100644
--- a/drivers/ata/pata_rb532_cf.c
+++ b/drivers/ata/pata_rb532_cf.c
@@ -173,11 +173,12 @@ static __devinit int
rb532_pata_driver_probe(struct platform_device *pdev)
		return -EINVAL;
	}

-	irq = platform_get_irq(pdev, 0);
-	if (irq <= 0) {
+	ret = platform_get_irq(pdev, 0);
+	if (ret <= 0) {
		dev_err(&pdev->dev, "no IRQ resource found\n");
		return -ENOENT;
	}
+	irq = ret;

	gpio = irq_to_gpio(irq);
ACK from Phil or Florian?
That's fine for me, though I didn't test it (I managed to break my
build-machine somehow, in an attempt to having the mainboard properly
grounded).

One could simplify the patch by making the variable 'irq' be signed
instead of unsigned. This would also prevent "abusing" the variable
'ret'. What do you think?
I agree with this proposal, abusing the ret value is not that good. What about the patch below :
--
From: Florian Fainelli <florian@openwrt.org>
Subject: [PATCH v2] pata-rb532-cf: platform_get_irq() failure ignored

platform_get_irq() can return -ENXIO, but since 'irq' is an
unsigned int, it does not show when the IRQ resource wasn't found.
Make irq an int so that we can use a single variable to test the
platform_get_irq() return value.

Signed-off-by: Roel Kluin <redacted>
Signed-off-by: Phil Sutter <redacted>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
--
diff --git a/drivers/ata/pata_rb532_cf.c b/drivers/ata/pata_rb532_cf.c
index ebfcda2..da05518 100644
--- a/drivers/ata/pata_rb532_cf.c
+++ b/drivers/ata/pata_rb532_cf.c
@@ -160,7 +160,7 @@ static void rb532_pata_setup_ports(struct ata_host *ah)
 
 static __devinit int rb532_pata_driver_probe(struct platform_device *pdev)
 {
-	unsigned int irq;
+	int irq;
 	int gpio;
 	struct resource *res;
 	struct ata_host *ah;
applied

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help