2022-01-14 23:08:02

by Sam Protsenko

[permalink] [raw]
Subject: [PATCH] pinctrl: samsung: Remove EINT handler for Exynos850 ALIVE and CMGP gpios

GPIO_ALIVE and GPIO_CMGP blocks in Exynos850 SoC don't have EINT
capabilities (like EINT_SVC register), and there are no corresponding
interrupts wired to GIC. Instead those blocks have wake-up interrupts
for each pin. The ".eint_gpio_init" callbacks were specified by mistake
for these blocks, when porting pinctrl code from downstream kernel. That
leads to error messages like this:

samsung-pinctrl 11850000.pinctrl: irq number not available

Remove ".eint_gpio_init" for pinctrl_alive and pinctrl_gpmc to fix this
error. This change doesn't affect proper interrupt handling for related
pins, as all those pins are handled in ".eint_wkup_init".

Fixes: cdd3d945dcec ("pinctrl: samsung: Add Exynos850 SoC specific data")
Signed-off-by: Sam Protsenko <[email protected]>
---
drivers/pinctrl/samsung/pinctrl-exynos-arm64.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/drivers/pinctrl/samsung/pinctrl-exynos-arm64.c b/drivers/pinctrl/samsung/pinctrl-exynos-arm64.c
index 2e490e7696f4..4102ce955bd7 100644
--- a/drivers/pinctrl/samsung/pinctrl-exynos-arm64.c
+++ b/drivers/pinctrl/samsung/pinctrl-exynos-arm64.c
@@ -585,13 +585,11 @@ static const struct samsung_pin_ctrl exynos850_pin_ctrl[] __initconst = {
/* pin-controller instance 0 ALIVE data */
.pin_banks = exynos850_pin_banks0,
.nr_banks = ARRAY_SIZE(exynos850_pin_banks0),
- .eint_gpio_init = exynos_eint_gpio_init,
.eint_wkup_init = exynos_eint_wkup_init,
}, {
/* pin-controller instance 1 CMGP data */
.pin_banks = exynos850_pin_banks1,
.nr_banks = ARRAY_SIZE(exynos850_pin_banks1),
- .eint_gpio_init = exynos_eint_gpio_init,
.eint_wkup_init = exynos_eint_wkup_init,
}, {
/* pin-controller instance 2 AUD data */
--
2.30.2


2022-01-24 08:43:02

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] pinctrl: samsung: Remove EINT handler for Exynos850 ALIVE and CMGP gpios

On Fri, 14 Jan 2022 22:37:57 +0200, Sam Protsenko wrote:
> GPIO_ALIVE and GPIO_CMGP blocks in Exynos850 SoC don't have EINT
> capabilities (like EINT_SVC register), and there are no corresponding
> interrupts wired to GIC. Instead those blocks have wake-up interrupts
> for each pin. The ".eint_gpio_init" callbacks were specified by mistake
> for these blocks, when porting pinctrl code from downstream kernel. That
> leads to error messages like this:
>
> [...]

Applied, thanks!

[1/1] pinctrl: samsung: Remove EINT handler for Exynos850 ALIVE and CMGP gpios
commit: 96f79935015cf3d7ca6fabf63cd13b8af45a7713

Best regards,
--
Krzysztof Kozlowski <[email protected]>