All of lore.kernel.org
 help / color / mirror / Atom feed
From: Grygorii Strashko <grygorii.strashko@ti.com>
To: Markus Mayer <markus.mayer@linaro.org>,
	Linus Walleij <linus.walleij@linaro.org>
Cc: Linux GPIO List <linux-gpio@vger.kernel.org>,
	Alexandre Courbot <acourbot@nvidia.com>,
	Christian Daudt <bcm@fixthebug.org>
Subject: Re: [PATCH] gpio: bcm-kona: lock IRQs when starting them
Date: Thu, 21 Nov 2013 11:04:14 +0200	[thread overview]
Message-ID: <528DCC8E.8060505@ti.com> (raw)
In-Reply-To: <CAPdLdqnsRrAjEw5C5ygpRQoifYeEmK9zeEbt01F8yZ6N9+rw-Q@mail.gmail.com>

On 11/21/2013 03:21 AM, Markus Mayer wrote:
> Fixing Christian's e-mail address.
>
> On 20 November 2013 17:13, Markus Mayer <markus.mayer@linaro.org> wrote:
>> On 19 November 2013 05:17, Linus Walleij <linus.walleij@linaro.org> wrote:
>>> This uses the new API for tagging GPIO lines as in use by
>>> IRQs. This enforces a few semantic checks on how the underlying
>>> GPIO line is used.
>>>
>>> Cc: Markus Mayer <markus.mayer@linaro.org>
>>> Cc: Christian Daudt <csd@broadcom.com>
>>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>>> ---
>>>   drivers/gpio/gpio-bcm-kona.c | 20 ++++++++++++++++++++
>>>   1 file changed, 20 insertions(+)
>>>
>>> diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c
>>> index 72c927dc3be1..dee6d03a7959 100644
>>> --- a/drivers/gpio/gpio-bcm-kona.c
>>> +++ b/drivers/gpio/gpio-bcm-kona.c
>>> @@ -449,12 +449,32 @@ static void bcm_kona_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
>>>          chained_irq_exit(chip, desc);
>>>   }
>>>
>>> +static unsigned int bcm_kona_gpio_irq_startup(struct irq_data *d)
>>> +{
>>> +       struct bcm_kona_gpio *kona_gpio = irq_data_get_irq_chip_data(d);
>>> +
>>> +       if (gpio_lock_as_irq(&kona_gpio->gpio_chip, d->hwirq))
>>> +               dev_err(kona_gpio->gpio_chip.dev,
>>> +                       "unable to lock HW IRQ %lu for IRQ\n",
>>> +                       d->hwirq);
>>> +       return 0;
>>> +}
>>> +
>>> +static void bcm_kona_gpio_irq_shutdown(struct irq_data *d)
>>> +{
>>> +       struct bcm_kona_gpio *kona_gpio = irq_data_get_irq_chip_data(d);
>>> +
>>> +       gpio_unlock_as_irq(&kona_gpio->gpio_chip, d->hwirq);
>>> +}
>>> +
>>>   static struct irq_chip bcm_gpio_irq_chip = {
>>>          .name = "bcm-kona-gpio",
>>>          .irq_ack = bcm_kona_gpio_irq_ack,
>>>          .irq_mask = bcm_kona_gpio_irq_mask,
>>>          .irq_unmask = bcm_kona_gpio_irq_unmask,
>>>          .irq_set_type = bcm_kona_gpio_irq_set_type,
>>> +       .irq_startup = bcm_kona_gpio_irq_startup,
>>> +       .irq_shutdown = bcm_kona_gpio_irq_shutdown,
>>>   };
>>>
>>>   static struct __initconst of_device_id bcm_kona_gpio_of_match[] = {
>>> --
>>> 1.8.3.1
>>>
>>
>> I don't know yet why, but as soon as I apply that patch, the cd-gpio
>> interrupt doesn't seem to get triggered anymore.
>>
>> $ grep bcm-kona-gpio /proc/interrupts
>> 270:          0  bcm-kona-gpio  14  3f1b0000.sdio cd
>>
>> The counter remains at 0. If I comment-out the irq_startup &
>> irq_shutdown assignments to temporarily disable the new code, the
>> interrupt counter increases again when I insert/remove an SD card.

Possibly, you have the same problem as I explained here
"[PATCH] gpio: lynxpoint: lock IRQs when starting them"
http://comments.gmane.org/gmane.linux.kernel.gpio/1163

>>
>> Regards,
>> -Markus
>


  reply	other threads:[~2013-11-21  9:07 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-19 13:17 [PATCH] gpio: bcm-kona: lock IRQs when starting them Linus Walleij
2013-11-21  1:13 ` Markus Mayer
2013-11-21  1:21   ` Markus Mayer
2013-11-21  9:04     ` Grygorii Strashko [this message]
2013-11-21  9:50       ` Javier Martinez Canillas
2013-11-21 10:10         ` Grygorii Strashko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=528DCC8E.8060505@ti.com \
    --to=grygorii.strashko@ti.com \
    --cc=acourbot@nvidia.com \
    --cc=bcm@fixthebug.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=markus.mayer@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.