2011-03-30 16:14:48

by Nicolas Kaiser

[permalink] [raw]
Subject: [PATCH] drivers/rtc/rtc-jz4740.c: fix error check

Checking 'rtc->irq < 0' doesn't work because 'rtc->irq' is unsigned.

Signed-off-by: Nicolas Kaiser <[email protected]>
---
Untested.

drivers/rtc/rtc-jz4740.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
index b647363..ba91bc6 100644
--- a/drivers/rtc/rtc-jz4740.c
+++ b/drivers/rtc/rtc-jz4740.c
@@ -220,12 +220,13 @@ static int __devinit jz4740_rtc_probe(struct platform_device *pdev)
if (!rtc)
return -ENOMEM;

- rtc->irq = platform_get_irq(pdev, 0);
- if (rtc->irq < 0) {
+ ret = platform_get_irq(pdev, 0);
+ if (ret < 0) {
ret = -ENOENT;
dev_err(&pdev->dev, "Failed to get platform irq\n");
goto err_free;
}
+ rtc->irq = ret;

rtc->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!rtc->mem) {
--
1.7.3.4


2011-03-30 16:37:03

by Lars-Peter Clausen

[permalink] [raw]
Subject: Re: [PATCH] drivers/rtc/rtc-jz4740.c: fix error check

On 03/30/2011 06:12 PM, Nicolas Kaiser wrote:
> Checking 'rtc->irq < 0' doesn't work because 'rtc->irq' is unsigned.
>
> Signed-off-by: Nicolas Kaiser <[email protected]>
Acked-by: Lars-Peter Clausen <[email protected]>

But while were at it we should change it, so that the result of
platform_get_irq becomes the return value in case of an error instead of using
the wrong or at least confusing -ENOENT.

> ---
> Untested.
>
> drivers/rtc/rtc-jz4740.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
> index b647363..ba91bc6 100644
> --- a/drivers/rtc/rtc-jz4740.c
> +++ b/drivers/rtc/rtc-jz4740.c
> @@ -220,12 +220,13 @@ static int __devinit jz4740_rtc_probe(struct platform_device *pdev)
> if (!rtc)
> return -ENOMEM;
>
> - rtc->irq = platform_get_irq(pdev, 0);
> - if (rtc->irq < 0) {
> + ret = platform_get_irq(pdev, 0);
> + if (ret < 0) {
> ret = -ENOENT;
> dev_err(&pdev->dev, "Failed to get platform irq\n");
> goto err_free;
> }
> + rtc->irq = ret;
>
> rtc->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> if (!rtc->mem) {

2011-03-30 18:28:32

by Nicolas Kaiser

[permalink] [raw]
Subject: [PATCH] drivers/rtc/rtc-jz4740.c: fix error check v2

Checking 'rtc->irq < 0' doesn't work because 'rtc->irq' is unsigned.

v2: return error code from platform_get_irq() instead of -ENOENT.

Signed-off-by: Nicolas Kaiser <[email protected]>
---
drivers/rtc/rtc-jz4740.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
index b647363..efd9691 100644
--- a/drivers/rtc/rtc-jz4740.c
+++ b/drivers/rtc/rtc-jz4740.c
@@ -220,12 +220,12 @@ static int __devinit jz4740_rtc_probe(struct platform_device *pdev)
if (!rtc)
return -ENOMEM;

- rtc->irq = platform_get_irq(pdev, 0);
- if (rtc->irq < 0) {
- ret = -ENOENT;
+ ret = platform_get_irq(pdev, 0);
+ if (ret < 0) {
dev_err(&pdev->dev, "Failed to get platform irq\n");
goto err_free;
}
+ rtc->irq = ret;

rtc->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!rtc->mem) {
--
1.7.3.4

2011-03-31 14:59:36

by Wan ZongShun

[permalink] [raw]
Subject: Re: [rtc-linux] [PATCH] drivers/rtc/rtc-jz4740.c: fix error check v2

2011/3/31 Nicolas Kaiser <[email protected]>:
> Checking 'rtc->irq < 0' doesn't work because 'rtc->irq' is unsigned.
>
> v2: return error code from platform_get_irq() instead of -ENOENT.
>
> Signed-off-by: Nicolas Kaiser <[email protected]>
> ---
>  drivers/rtc/rtc-jz4740.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
> index b647363..efd9691 100644
> --- a/drivers/rtc/rtc-jz4740.c
> +++ b/drivers/rtc/rtc-jz4740.c
> @@ -220,12 +220,12 @@ static int __devinit jz4740_rtc_probe(struct platform_device *pdev)
>        if (!rtc)
>                return -ENOMEM;
>
> -       rtc->irq = platform_get_irq(pdev, 0);
> -       if (rtc->irq < 0) {
> -               ret = -ENOENT;
> +       ret = platform_get_irq(pdev, 0);
> +       if (ret < 0) {
>                dev_err(&pdev->dev, "Failed to get platform irq\n");
>                goto err_free;
>        }
> +       rtc->irq = ret;
>

This patch looks good to me.

Acked-by: Wan ZongShun <[email protected]>

>        rtc->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>        if (!rtc->mem) {
> --
> 1.7.3.4
>
> --
> You received this message because you are subscribed to "rtc-linux".
> Membership options at http://groups.google.com/group/rtc-linux .
> Please read http://groups.google.com/group/rtc-linux/web/checklist
> before submitting a driver.



--
*linux-arm-kernel mailing list
mail addr:[email protected]
you can subscribe by:
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

* linux-arm-NUC900 mailing list
mail addr:[email protected]
main web: https://groups.google.com/group/NUC900
you can subscribe it by sending me mail:
[email protected]