pinctrl: qcom: handle intr_target_reg wakeup_present/enable bits
authorNeil Armstrong <neil.armstrong@linaro.org>
Mon, 6 Nov 2023 08:32:31 +0000 (09:32 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 13 Nov 2023 14:01:37 +0000 (15:01 +0100)
commit76b446f5b86e93515602c3afef6ff74c7e6562de
tree9c679b41713a569a29fe7b95f1c0cee16f30c69b
parentd92618caf9d05e78e0f9c4c6ff9201691acfe48c
pinctrl: qcom: handle intr_target_reg wakeup_present/enable bits

New platforms uses a new set of bits to control the wakeirq
delivery to the PDC block.

The intr_wakeup_present_bit indicates if the GPIO supports
wakeirq and intr_wakeup_enable_bit enables wakeirq delivery
to the PDC block.

While the name seems to imply this only enables wakeup events,
it is required to allow interrupts events to the PDC block.

Enable this bit in the irq resource request/free if:
- gpio is in wakeirq map
- has the intr_wakeup_present_bit
- the intr_wakeup_enable_bit is set

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20231106-topic-sm8650-upstream-tlmm-v3-2-0e179c368933@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/qcom/pinctrl-msm.c
drivers/pinctrl/qcom/pinctrl-msm.h