diff mbox series

[v3,2/3] pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq

Message ID 20201013063731.3618-3-jay.xu@rock-chips.com
State Accepted
Commit 63fbf8013b2f6430754526ef9594f229c7219b1f
Headers show
Series rockchip-pinctrl fixes | expand

Commit Message

Jianqun Xu Oct. 13, 2020, 6:37 a.m. UTC
There need to enable pclk_gpio when do irq_create_mapping, since it will
do access to gpio controller.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
---
 drivers/pinctrl/pinctrl-rockchip.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Kever Yang Oct. 14, 2020, 12:23 a.m. UTC | #1
On 2020/10/13 下午2:37, Jianqun Xu wrote:
> There need to enable pclk_gpio when do irq_create_mapping, since it will
> do access to gpio controller.
>
> Reviewed-by: Heiko Stuebner <heiko@sntech.de>
> Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
> ---
>   drivers/pinctrl/pinctrl-rockchip.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
> index 927d132d6716..a2f361aa6d05 100644
> --- a/drivers/pinctrl/pinctrl-rockchip.c
> +++ b/drivers/pinctrl/pinctrl-rockchip.c
> @@ -3157,7 +3157,9 @@ static int rockchip_gpio_to_irq(struct gpio_chip *gc, unsigned offset)
>   	if (!bank->domain)
>   		return -ENXIO;
>   
> +	clk_enable(bank->clk);
>   	virq = irq_create_mapping(bank->domain, offset);
> +	clk_disable(bank->clk);
>   
>   	return (virq) ? : -ENXIO;
>   }


Looks good to me,

Reviewed-by: Kever Yang<kever.yang@rock-chips.com>

Thanks,
- Kever
diff mbox series

Patch

diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index 927d132d6716..a2f361aa6d05 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -3157,7 +3157,9 @@  static int rockchip_gpio_to_irq(struct gpio_chip *gc, unsigned offset)
 	if (!bank->domain)
 		return -ENXIO;
 
+	clk_enable(bank->clk);
 	virq = irq_create_mapping(bank->domain, offset);
+	clk_disable(bank->clk);
 
 	return (virq) ? : -ENXIO;
 }