Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1502743 > unrolled thread

[PATCH] pinctrl: st: don't specify default interrupt trigger

Started by<patrice.chotard@st.com>
First post2016-10-18 09:20 +0200
Last post2016-10-24 01:40 +0200
Articles 4 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] pinctrl: st: don't specify default interrupt trigger <patrice.chotard@st.com> - 2016-10-18 09:20 +0200
    Re: [PATCH] pinctrl: st: don't specify default interrupt trigger Patrice Chotard <patrice.chotard@st.com> - 2016-10-20 13:40 +0200
      Re: [PATCH] pinctrl: st: don't specify default interrupt trigger Peter Griffin <peter.griffin@linaro.org> - 2016-10-20 14:00 +0200
    Re: [PATCH] pinctrl: st: don't specify default interrupt trigger Linus Walleij <linus.walleij@linaro.org> - 2016-10-24 01:40 +0200

#1502743 — [PATCH] pinctrl: st: don't specify default interrupt trigger

From<patrice.chotard@st.com>
Date2016-10-18 09:20 +0200
Subject[PATCH] pinctrl: st: don't specify default interrupt trigger
Message-ID<stwQO-6X7-19@gated-at.bofh.it>
From: Patrice Chotard <patrice.chotard@st.com>

Thanks to 332e99d5ae4 which now alerts of default
trigger usage when configuring interrupts.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
---
 drivers/pinctrl/pinctrl-st.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
index 99da4cf..b7bb371 100644
--- a/drivers/pinctrl/pinctrl-st.c
+++ b/drivers/pinctrl/pinctrl-st.c
@@ -1512,7 +1512,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
 	if (info->irqmux_base || gpio_irq > 0) {
 		err = gpiochip_irqchip_add(&bank->gpio_chip, &st_gpio_irqchip,
 					   0, handle_simple_irq,
-					   IRQ_TYPE_LEVEL_LOW);
+					   IRQ_TYPE_NONE);
 		if (err) {
 			gpiochip_remove(&bank->gpio_chip);
 			dev_info(dev, "could not add irqchip\n");
-- 
1.9.1

[toc] | [next] | [standalone]


#1504792

FromPatrice Chotard <patrice.chotard@st.com>
Date2016-10-20 13:40 +0200
Message-ID<sujRv-6UT-11@gated-at.bofh.it>
In reply to#1502743

On 10/18/2016 09:16 AM, patrice.chotard@st.com wrote:
> From: Patrice Chotard <patrice.chotard@st.com>
> 
> Thanks to 332e99d5ae4 which now alerts of default
> trigger usage when configuring interrupts.
> 
> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
> ---
>  drivers/pinctrl/pinctrl-st.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 99da4cf..b7bb371 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1512,7 +1512,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>  	if (info->irqmux_base || gpio_irq > 0) {
>  		err = gpiochip_irqchip_add(&bank->gpio_chip, &st_gpio_irqchip,
>  					   0, handle_simple_irq,
> -					   IRQ_TYPE_LEVEL_LOW);
> +					   IRQ_TYPE_NONE);
>  		if (err) {
>  			gpiochip_remove(&bank->gpio_chip);
>  			dev_info(dev, "could not add irqchip\n");
> 

Hi Linus

I forgot to mention that this patch is dedicated for v4.9-rcs 

Thanks

Patrice

[toc] | [prev] | [next] | [standalone]


#1504809

FromPeter Griffin <peter.griffin@linaro.org>
Date2016-10-20 14:00 +0200
Message-ID<sukaS-71Z-7@gated-at.bofh.it>
In reply to#1504792
Hi Patrice,

On Thu, 20 Oct 2016, Patrice Chotard wrote:

> 
> 
> On 10/18/2016 09:16 AM, patrice.chotard@st.com wrote:
> > From: Patrice Chotard <patrice.chotard@st.com>
> > 
> > Thanks to 332e99d5ae4 which now alerts of default
> > trigger usage when configuring interrupts.
> > 
> > Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
> > ---
> >  drivers/pinctrl/pinctrl-st.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> > index 99da4cf..b7bb371 100644
> > --- a/drivers/pinctrl/pinctrl-st.c
> > +++ b/drivers/pinctrl/pinctrl-st.c
> > @@ -1512,7 +1512,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
> >  	if (info->irqmux_base || gpio_irq > 0) {
> >  		err = gpiochip_irqchip_add(&bank->gpio_chip, &st_gpio_irqchip,
> >  					   0, handle_simple_irq,
> > -					   IRQ_TYPE_LEVEL_LOW);
> > +					   IRQ_TYPE_NONE);
> >  		if (err) {
> >  			gpiochip_remove(&bank->gpio_chip);
> >  			dev_info(dev, "could not add irqchip\n");
> > 
> 
> Hi Linus
> 
> I forgot to mention that this patch is dedicated for v4.9-rcs 

Wow, v4.9-rc is a noisy boot without this patch :)

Acked-by: Peter Griffin <peter.griffin@linaro.org>

[toc] | [prev] | [next] | [standalone]


#1506794

FromLinus Walleij <linus.walleij@linaro.org>
Date2016-10-24 01:40 +0200
Message-ID<svAwW-7U6-45@gated-at.bofh.it>
In reply to#1502743
On Tue, Oct 18, 2016 at 9:16 AM,  <patrice.chotard@st.com> wrote:

> From: Patrice Chotard <patrice.chotard@st.com>
>
> Thanks to 332e99d5ae4 which now alerts of default
> trigger usage when configuring interrupts.
>
> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>

Patch applied with Peter's ACK.

Pls also look into the following: __gpio_irq_handler seems to be
doing some stuff per-IRQ that only pertains to edge-triggered IRQs.
Normally that should be handled by:

- Setting default handler to handle_bad_irq()
- Setting handler to handle_edge_irq() or handle_level_irq() in .set_type()
- Implement .irq_ack() on the irqchip and handle the edge-specific ACKing
  there.

See for example drivers/gpio/gpio-pl061.c.

I am not *sure* this applies to pinctrl-st.c but please check if it provides
more elegant code. Notmally the .irq_ack() is for edge detection hardware
that allows ACKing the ege IRQ in a separate register and after that we
can raise another edge IRQ while the current IRQ is being handled.

Yours,
Linus Walleij

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web