Message ID | 20210223101937.273085-1-jay.xu@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | pinctrl: rockchip: clear int status when driver probed | expand |
Am Dienstag, 23. Februar 2021, 11:19:37 CET schrieb Jianqun Xu: > Some devices may do gpio interrupt trigger and make an int status before > pinctrl driver probed, then the gpio handler will keep complain untill > the device driver works to stop trigger. > > Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com> > Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com> Reviewed-by: Heiko Stuebner <heiko@sntech.de> > --- > drivers/pinctrl/pinctrl-rockchip.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c > index aa1a1c850d05..ec4cb88572cf 100644 > --- a/drivers/pinctrl/pinctrl-rockchip.c > +++ b/drivers/pinctrl/pinctrl-rockchip.c > @@ -3433,6 +3433,7 @@ static int rockchip_interrupts_register(struct platform_device *pdev, > * things enabled, so for us that's all masked and all enabled. > */ > writel_relaxed(0xffffffff, bank->reg_base + GPIO_INTMASK); > + writel_relaxed(0xffffffff, bank->reg_base + GPIO_PORTS_EOI); > writel_relaxed(0xffffffff, bank->reg_base + GPIO_INTEN); > gc->mask_cache = 0xffffffff; > >
On Tue, Feb 23, 2021 at 11:20 AM Jianqun Xu <jay.xu@rock-chips.com> wrote: > Some devices may do gpio interrupt trigger and make an int status before > pinctrl driver probed, then the gpio handler will keep complain untill > the device driver works to stop trigger. > > Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com> > Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com> Patch applied. Yours, Linus Walleij
diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index aa1a1c850d05..ec4cb88572cf 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -3433,6 +3433,7 @@ static int rockchip_interrupts_register(struct platform_device *pdev, * things enabled, so for us that's all masked and all enabled. */ writel_relaxed(0xffffffff, bank->reg_base + GPIO_INTMASK); + writel_relaxed(0xffffffff, bank->reg_base + GPIO_PORTS_EOI); writel_relaxed(0xffffffff, bank->reg_base + GPIO_INTEN); gc->mask_cache = 0xffffffff;