2017-03-15 10:52:36

by Daniel Schultz

[permalink] [raw]
Subject: [PATCH] driver: rtc: tps65910: Add parameter check

If the tps65910 driver has no interrupt, the probe of tps65910-rtc will
fail.

This patch adds a check in the probe of the rtc if an interrupt exist.
The check is similar to the check in the function which creates the
interrupt.

Signed-off-by: Daniel Schultz <[email protected]>
---
drivers/rtc/rtc-tps65910.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/rtc/rtc-tps65910.c b/drivers/rtc/rtc-tps65910.c
index d0244d7..8c5ca11 100644
--- a/drivers/rtc/rtc-tps65910.c
+++ b/drivers/rtc/rtc-tps65910.c
@@ -375,6 +375,11 @@ static int tps65910_rtc_probe(struct platform_device *pdev)

tps65910 = dev_get_drvdata(pdev->dev.parent);

+ if (!tps65910->chip_irq) {
+ dev_warn(&pdev->dev, "No interrupt support, not created\n");
+ return -EINVAL;
+ }
+
tps_rtc = devm_kzalloc(&pdev->dev, sizeof(struct tps65910_rtc),
GFP_KERNEL);
if (!tps_rtc)
--
1.9.1


2017-04-03 11:01:30

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [PATCH] driver: rtc: tps65910: Add parameter check

Hi,

On 15/03/2017 at 11:52:32 +0100, Daniel Schultz wrote:
> If the tps65910 driver has no interrupt, the probe of tps65910-rtc will
> fail.
>
> This patch adds a check in the probe of the rtc if an interrupt exist.
> The check is similar to the check in the function which creates the
> interrupt.
>

Can you elaborate on what this is fixing? If the probe already fails I'm
not sure why your patch is also making it fail.

> Signed-off-by: Daniel Schultz <[email protected]>
> ---
> drivers/rtc/rtc-tps65910.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/rtc/rtc-tps65910.c b/drivers/rtc/rtc-tps65910.c
> index d0244d7..8c5ca11 100644
> --- a/drivers/rtc/rtc-tps65910.c
> +++ b/drivers/rtc/rtc-tps65910.c
> @@ -375,6 +375,11 @@ static int tps65910_rtc_probe(struct platform_device *pdev)
>
> tps65910 = dev_get_drvdata(pdev->dev.parent);
>
> + if (!tps65910->chip_irq) {
> + dev_warn(&pdev->dev, "No interrupt support, not created\n");
> + return -EINVAL;
> + }
> +
> tps_rtc = devm_kzalloc(&pdev->dev, sizeof(struct tps65910_rtc),
> GFP_KERNEL);
> if (!tps_rtc)
> --
> 1.9.1
>

--
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com