driver: rtc: tps65910: Add parameter check

Submitted by Daniel Schultz on March 15, 2017, 10:52 a.m.

Details

Message ID 1489575152-29931-1-git-send-email-d.schultz@phytec.de
State Changes Requested
Headers show

Commit Message

Daniel Schultz March 15, 2017, 10:52 a.m.
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 <d.schultz@phytec.de>
---
 drivers/rtc/rtc-tps65910.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Alexandre Belloni April 3, 2017, 11:01 a.m.
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 <d.schultz@phytec.de>
> ---
>  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
>

Patch hide | download patch | download mbox

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)