Re: [PATCH] mfd: max8997: Enale irq-wakeup unconditionally

From: Krzysztof Kozlowski
Date: Wed Sep 05 2018 - 06:40:22 EST


On Wed, 5 Sep 2018 at 11:33, Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> wrote:
>
> IRQ wakeup support for MAX8997 driver was initially configured by
> respective property in pdata. However, after the driver conversion to
> device-tree, setting it was left as 'todo'. Nowadays most of other MAX PMIC
> MFD drivers initialized from device-tree simply assume unconditionally that
> they can be an irq wakeup source, so enable wakeup support also for
> MAX8997. This fixes support for wakeup from MAX8997 RTC alarm.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>

If you want to have wakeup always, then just remove pd->wakeup and use
always true in device_init_wakeup(). Otherwise (if it still should be
configurable), use wakeup-source property in DTS:
https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/power/wakeup-source.txt

Best regards,
Krzysztof

> ---
> drivers/mfd/max8997.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/drivers/mfd/max8997.c b/drivers/mfd/max8997.c
> index 3f554c447521..7155e991cb82 100644
> --- a/drivers/mfd/max8997.c
> +++ b/drivers/mfd/max8997.c
> @@ -152,12 +152,7 @@ static struct max8997_platform_data *max8997_i2c_parse_dt_pdata(
> return ERR_PTR(-ENOMEM);
>
> pd->ono = irq_of_parse_and_map(dev->of_node, 1);
> -
> - /*
> - * ToDo: the 'wakeup' member in the platform data is more of a linux
> - * specfic information. Hence, there is no binding for that yet and
> - * not parsed here.
> - */
> + pd->wakeup = true;
>
> return pd;
> }
> --
> 2.17.1
>