From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: delicious quinoa <delicious.quinoa@gmail.com>,
Linus Walleij <linus.walleij@linaro.org>
Cc: Alan Tull <atull@altera.com>,
Alexandre Courbot <gnurou@gmail.com>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Dinh Nguyen <dinguyen@altera.com>
Subject: Re: [PATCH 2/3] gpio: dwapb: do not create the irq mapping upfront.
Date: Sat, 22 Mar 2014 13:37:05 +0100 [thread overview]
Message-ID: <532D83F1.5070001@linutronix.de> (raw)
In-Reply-To: <CANk1AXTjuBWa_DdKaV2dCPjhbKRHE9bR2uHyuoCYtt_-zk7EoQ@mail.gmail.com>
On 03/20/2014 09:20 PM, delicious quinoa wrote:
>> diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
>> index 4d25a06b..0db0b94 100644
>> --- a/drivers/gpio/gpio-dwapb.c
>> +++ b/drivers/gpio/gpio-dwapb.c
>> @@ -263,9 +263,6 @@ static void dwapb_configure_irqs(struct dwapb_gpio *gpio,
>> irq_set_chained_handler(irq, dwapb_irq_handler);
>> irq_set_handler_data(irq, gpio);
>>
>> - for (hwirq = 0 ; hwirq < ngpio ; hwirq++)
>> - irq_create_mapping(gpio->domain, hwirq);
>> -
>> port->bgc.gc.to_irq = dwapb_gpio_to_irq;
>> }
>
>
> Hi Sebastian,
>
> I think this functionality has changed at some point or maybe
> everybody copied the same bad code over and over. I see a lot of
> legacy gpio drivers calling irq_create_mapping in their to_irq()
> functions. Linus Walleij asked me to create the mappings at probe
> time. Please see https://lkml.org/lkml/2014/2/10/154 and the
> subsequent discussion in https://lkml.org/lkml/2014/2/24/232
Linus, I don't understand why you need the mapping upfront. I looked at
those two links and you quote gpio_to_irq() which is not required.
The mapping is created once irq_of_parse_and_map() is invoked or a
platform_device is created from the DT entry. The latter creates the
warning on my 3.13 tree:
WARNING: CPU: 0 PID: 1 at drivers/of/platform.c:171
of_device_alloc+0x164/0x168()
(of_device_alloc+0x164/0x168) from [<8029fc9c>]
(of_platform_device_create_pdata+0x30/0x9c)
(of_platform_device_create_pdata+0x30/0x9c) from [<8029fde0>]
(of_platform_bus_create+0xd8/0x294)
(of_platform_bus_create+0xd8/0x294) from [<8029fe2c>]
(of_platform_bus_create+0x124/0x294)
(of_platform_bus_create+0x124/0x294) from [<8029fff8>]
(of_platform_populate+0x5c/0x9c)
(of_platform_populate+0x5c/0x9c) from [<8048d048>]
(socfpga_cyclone5_init+0x30/0x158)
(socfpga_cyclone5_init+0x30/0x158) from [<80488820>]
(customize_machine+0x20/0x40)
because at the time the device is created (struct resources is
populated) the gpio controller isn't probed yet.
With or without the upfront mapping, the struct irq is not present in
struct resource.
>
> Alan Tull
> aka
> delicious quinoa
>
Sebastian
next prev parent reply other threads:[~2014-03-22 12:37 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-20 19:55 two patches for the synposys gpio controller Sebastian Andrzej Siewior
2014-03-20 19:55 ` [PATCH 1/3] gpio: dwapb: drop irq_setup_generic_chip() Sebastian Andrzej Siewior
2014-03-25 20:37 ` Linus Walleij
2014-03-25 20:37 ` Linus Walleij
2014-03-31 16:22 ` Jamie Iles
2014-03-20 19:55 ` [PATCH 2/3] gpio: dwapb: do not create the irq mapping upfront Sebastian Andrzej Siewior
2014-03-20 20:20 ` delicious quinoa
2014-03-22 12:37 ` Sebastian Andrzej Siewior [this message]
2014-03-25 20:43 ` Linus Walleij
2014-03-25 21:17 ` Sebastian Andrzej Siewior
2014-04-08 13:20 ` Linus Walleij
[not found] ` <1395345324-18299-1-git-send-email-bigeasy-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>
2014-03-20 19:55 ` [PATCH 3/3] ARM: dts: socfpga: add gpio pieces Sebastian Andrzej Siewior
2014-03-21 17:24 ` Gerhard Sittig
2014-03-21 19:10 ` Sebastian Andrzej Siewior
2014-03-21 22:06 ` delicious quinoa
2014-03-21 18:14 ` delicious quinoa
2014-03-21 19:08 ` Sebastian Andrzej Siewior
[not found] ` <CANk1AXRa4V1ADNaT+T3pYF4zyxni9Y8rmU9UYRoA_7NxW8KWEg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-03-21 22:15 ` delicious quinoa
2014-03-22 11:28 ` Sebastian Andrzej Siewior
2014-03-26 15:29 ` Dinh Nguyen
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=532D83F1.5070001@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=atull@altera.com \
--cc=delicious.quinoa@gmail.com \
--cc=dinguyen@altera.com \
--cc=gnurou@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).