2019-04-24 12:30:15

by Fabien DESSENNE

[permalink] [raw]
Subject: [PATCH] rtc: stm32: manage the get_irq probe defer case

Manage the -EPROBE_DEFER error case for the wake IRQ.

Signed-off-by: Fabien Dessenne <[email protected]>
---
drivers/rtc/rtc-stm32.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/rtc/rtc-stm32.c b/drivers/rtc/rtc-stm32.c
index c5908cf..8e6c9b3 100644
--- a/drivers/rtc/rtc-stm32.c
+++ b/drivers/rtc/rtc-stm32.c
@@ -788,11 +788,14 @@ static int stm32_rtc_probe(struct platform_device *pdev)
ret = device_init_wakeup(&pdev->dev, true);
if (rtc->data->has_wakeirq) {
rtc->wakeirq_alarm = platform_get_irq(pdev, 1);
- if (rtc->wakeirq_alarm <= 0)
- ret = rtc->wakeirq_alarm;
- else
+ if (rtc->wakeirq_alarm > 0) {
ret = dev_pm_set_dedicated_wake_irq(&pdev->dev,
rtc->wakeirq_alarm);
+ } else {
+ ret = rtc->wakeirq_alarm;
+ if (rtc->wakeirq_alarm == -EPROBE_DEFER)
+ goto err;
+ }
}
if (ret)
dev_warn(&pdev->dev, "alarm can't wake up the system: %d", ret);
--
2.7.4


2019-04-24 14:54:10

by Amelie Delaunay

[permalink] [raw]
Subject: Re: [PATCH] rtc: stm32: manage the get_irq probe defer case

On 4/24/19 2:26 PM, Fabien Dessenne wrote:
> Manage the -EPROBE_DEFER error case for the wake IRQ.
>
> Signed-off-by: Fabien Dessenne <[email protected]>

Acked-by: Amelie Delaunay <[email protected]>

> ---
> drivers/rtc/rtc-stm32.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/rtc/rtc-stm32.c b/drivers/rtc/rtc-stm32.c
> index c5908cf..8e6c9b3 100644
> --- a/drivers/rtc/rtc-stm32.c
> +++ b/drivers/rtc/rtc-stm32.c
> @@ -788,11 +788,14 @@ static int stm32_rtc_probe(struct platform_device *pdev)
> ret = device_init_wakeup(&pdev->dev, true);
> if (rtc->data->has_wakeirq) {
> rtc->wakeirq_alarm = platform_get_irq(pdev, 1);
> - if (rtc->wakeirq_alarm <= 0)
> - ret = rtc->wakeirq_alarm;
> - else
> + if (rtc->wakeirq_alarm > 0) {
> ret = dev_pm_set_dedicated_wake_irq(&pdev->dev,
> rtc->wakeirq_alarm);
> + } else {
> + ret = rtc->wakeirq_alarm;
> + if (rtc->wakeirq_alarm == -EPROBE_DEFER)
> + goto err;
> + }
> }
> if (ret)
> dev_warn(&pdev->dev, "alarm can't wake up the system: %d", ret);
>

2019-04-24 21:35:37

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [PATCH] rtc: stm32: manage the get_irq probe defer case

On 24/04/2019 14:26:48+0200, Fabien Dessenne wrote:
> Manage the -EPROBE_DEFER error case for the wake IRQ.
>
> Signed-off-by: Fabien Dessenne <[email protected]>
> ---
> drivers/rtc/rtc-stm32.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
Applied, thanks.

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com