Re: [PATCH v2 4/5] drivers: pinctrl: qcom: sdm845: support GPIO wakeup from suspend

From: Bjorn Andersson
Date: Mon Aug 27 2018 - 20:31:37 EST


On Fri 24 Aug 13:01 PDT 2018, Lina Iyer wrote:

> Enable TLMM IRQs to be sensed by PDC when we enter suspend. It is
> possible that the TLMM may be powered off and not detect GPIOs that are
> configured as wake up interrupts. By hooking into suspend callbacks, we
> allow PDC IRQs to take over and wake up the system if wakeup interrupts
> are triggered.
>
> Signed-off-by: Lina Iyer <ilina@xxxxxxxxxxxxxx>
> ---
> drivers/pinctrl/qcom/pinctrl-sdm845.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/pinctrl/qcom/pinctrl-sdm845.c b/drivers/pinctrl/qcom/pinctrl-sdm845.c
> index 2ab7a8885757..cc333b8afb99 100644
> --- a/drivers/pinctrl/qcom/pinctrl-sdm845.c
> +++ b/drivers/pinctrl/qcom/pinctrl-sdm845.c
> @@ -1297,10 +1297,16 @@ static const struct of_device_id sdm845_pinctrl_of_match[] = {
> { },
> };
>
> +static const struct dev_pm_ops msm_pinctrl_dev_pm_ops = {
> + SET_LATE_SYSTEM_SLEEP_PM_OPS(msm_pinctrl_suspend_late,
> + msm_pinctrl_resume_late)
> +};
> +

I expect these four lines to be duplicated in every platform file, so I
think it would be better to just move it to pinctrl-msm.c and extern
declare it in pinctrl-msm.h.

> static struct platform_driver sdm845_pinctrl_driver = {
> .driver = {
> .name = "sdm845-pinctrl",
> .of_match_table = sdm845_pinctrl_of_match,
> + .pm = &msm_pinctrl_dev_pm_ops,
> },
> .probe = sdm845_pinctrl_probe,
> .remove = msm_pinctrl_remove,

Regards,
Bjorn