All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benoit Cousson <b-cousson@ti.com>
To: Linus Walleij <linus.walleij@linaro.org>, Jon Hunter <jon-hunter@ti.com>
Cc: grant.likely@secretlab.ca, khilman@linaro.org,
	devicetree-discuss@lists.ozlabs.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 3/5] gpio/omap: Add DT support to GPIO driver
Date: Thu, 28 Feb 2013 14:04:32 +0100	[thread overview]
Message-ID: <512F55E0.8050501@ti.com> (raw)
In-Reply-To: <CACRpkdabXa8tXNeGRPntvY9cx4XWCa7XaEXHmVREeWN-x793ZA@mail.gmail.com>

+ Jon who was brave enough to take over the OMAP GPIO  driver
+ New email address for Kevin since he is no longer at TI :-(.
- Tarun that left TI but I don't have his new email

Hi Linus,

On 02/28/2013 12:41 AM, Linus Walleij wrote:
> On Wed, Feb 15, 2012 at 5:04 PM, Benoit Cousson <b-cousson@ti.com> wrote:

Gosh! That's pretty old stuff :-)

>> @@ -52,7 +55,8 @@ struct gpio_bank {
>>         struct list_head node;
>>         void __iomem *base;
>>         u16 irq;
>> -       u16 virtual_irq_start;
>> +       int irq_base;
>> +       struct irq_domain *domain;
> 
> This seems wrong. IRQ domains are used to avoid keeping track of
> irq base offsets. I would even say it's the whole point of irq domains.

Well at that time, it was not the only point. We were trying to boot
with DT, and for that irq_domain was mandatory. At the very same time,
Grant was cleaning and consolidating the whole irq_domain
infrastructure, and thus most of the following API were not really
stabilized or even available.

So, this idea was to avoid any regression while allowing DT boot... And
obviously a lot of stuff happened since that good old time.

>> @@ -669,7 +673,7 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
>>                 if (!isr)
>>                         break;
>>
>> -               gpio_irq = bank->virtual_irq_start;
>> +               gpio_irqkhilman@ti.com = bank->irq_base;
>>                 for (; isr != 0; isr >>= 1, gpio_irq++) {
>>                         gpio_index = GPIO_INDEX(bank, irq_to_gpio(gpio_irq));
>>
> 
> Use irq_find_mapping(irqdomain, hwirq) in this function.
> 
> 
>> @@ -915,7 +919,7 @@ static int gpio_2irq(struct gpio_chip *chip, unsigned offset)
>>         struct gpio_bank *bank;
>>
>>         bank = container_of(chip, struct gpio_bank, chip);
>> -       return bank->virtual_irq_start + offset;
>> +       return bank->irq_base + offset;
> 
> Use irq_create_mapping() in this function.
> 
>> +       bank->irq_base = irq_alloc_descs(-1, 0, bank->width, 0);
>> +       if (bank->irq_base < 0) {
>> +               dev_err(dev, "Couldn't allocate IRQ numbers\n");
>> +               return -ENODEV;
>> +       }
>> +
>> +       bank->domain = irq_domain_add_legacy(node, bank->width, bank->irq_base,
>> +                                            0, &irq_domain_simple_ops, NULL);
> 
> Use irq_domain_add_simple() and the descs will be allocated for
> you as part of the domain creation, when using a pre-fixed base.

Funny, that API was removed while I was writing this patch, and is now
back in town...

> If you fix this I suspect the device tree discussion also will fix
> itself :-)

Mmm, I hope it is the case, but I'm not sure it will be that easy :-)

Thanks,
Benoit


WARNING: multiple messages have this Message-ID (diff)
From: b-cousson@ti.com (Benoit Cousson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/5] gpio/omap: Add DT support to GPIO driver
Date: Thu, 28 Feb 2013 14:04:32 +0100	[thread overview]
Message-ID: <512F55E0.8050501@ti.com> (raw)
In-Reply-To: <CACRpkdabXa8tXNeGRPntvY9cx4XWCa7XaEXHmVREeWN-x793ZA@mail.gmail.com>

+ Jon who was brave enough to take over the OMAP GPIO  driver
+ New email address for Kevin since he is no longer at TI :-(.
- Tarun that left TI but I don't have his new email

Hi Linus,

On 02/28/2013 12:41 AM, Linus Walleij wrote:
> On Wed, Feb 15, 2012 at 5:04 PM, Benoit Cousson <b-cousson@ti.com> wrote:

Gosh! That's pretty old stuff :-)

>> @@ -52,7 +55,8 @@ struct gpio_bank {
>>         struct list_head node;
>>         void __iomem *base;
>>         u16 irq;
>> -       u16 virtual_irq_start;
>> +       int irq_base;
>> +       struct irq_domain *domain;
> 
> This seems wrong. IRQ domains are used to avoid keeping track of
> irq base offsets. I would even say it's the whole point of irq domains.

Well at that time, it was not the only point. We were trying to boot
with DT, and for that irq_domain was mandatory. At the very same time,
Grant was cleaning and consolidating the whole irq_domain
infrastructure, and thus most of the following API were not really
stabilized or even available.

So, this idea was to avoid any regression while allowing DT boot... And
obviously a lot of stuff happened since that good old time.

>> @@ -669,7 +673,7 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
>>                 if (!isr)
>>                         break;
>>
>> -               gpio_irq = bank->virtual_irq_start;
>> +               gpio_irqkhilman at ti.com = bank->irq_base;
>>                 for (; isr != 0; isr >>= 1, gpio_irq++) {
>>                         gpio_index = GPIO_INDEX(bank, irq_to_gpio(gpio_irq));
>>
> 
> Use irq_find_mapping(irqdomain, hwirq) in this function.
> 
> 
>> @@ -915,7 +919,7 @@ static int gpio_2irq(struct gpio_chip *chip, unsigned offset)
>>         struct gpio_bank *bank;
>>
>>         bank = container_of(chip, struct gpio_bank, chip);
>> -       return bank->virtual_irq_start + offset;
>> +       return bank->irq_base + offset;
> 
> Use irq_create_mapping() in this function.
> 
>> +       bank->irq_base = irq_alloc_descs(-1, 0, bank->width, 0);
>> +       if (bank->irq_base < 0) {
>> +               dev_err(dev, "Couldn't allocate IRQ numbers\n");
>> +               return -ENODEV;
>> +       }
>> +
>> +       bank->domain = irq_domain_add_legacy(node, bank->width, bank->irq_base,
>> +                                            0, &irq_domain_simple_ops, NULL);
> 
> Use irq_domain_add_simple() and the descs will be allocated for
> you as part of the domain creation, when using a pre-fixed base.

Funny, that API was removed while I was writing this patch, and is now
back in town...

> If you fix this I suspect the device tree discussion also will fix
> itself :-)

Mmm, I hope it is the case, but I'm not sure it will be that easy :-)

Thanks,
Benoit

  reply	other threads:[~2013-02-28 13:04 UTC|newest]

Thread overview: 190+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-15 16:04 [PATCH 0/5] gpio/omap: Cleanup and adaptation to Device Tree Benoit Cousson
2012-02-15 16:04 ` Benoit Cousson
2012-02-15 16:04 ` [PATCH 1/5] gpio/omap: Remove bank->id information and misc cleanup Benoit Cousson
2012-02-15 16:04   ` Benoit Cousson
2012-02-16  5:53   ` DebBarma, Tarun Kanti
2012-02-16  5:53     ` DebBarma, Tarun Kanti
2012-02-16  9:33     ` Cousson, Benoit
2012-02-16  9:33       ` Cousson, Benoit
2012-02-15 16:04 ` [PATCH 2/5] gpio/omap: Use devm_ API and add request_mem_region Benoit Cousson
2012-02-15 16:04   ` Benoit Cousson
2012-02-16  5:41   ` DebBarma, Tarun Kanti
2012-02-16  5:41     ` DebBarma, Tarun Kanti
2012-02-16  6:35     ` Grant Likely
2012-02-16  6:35       ` Grant Likely
2012-02-16  7:11       ` DebBarma, Tarun Kanti
2012-02-16  7:11         ` DebBarma, Tarun Kanti
2012-02-16  6:37     ` Shubhrajyoti
2012-02-16  6:37       ` Shubhrajyoti
2012-02-16  8:56       ` Cousson, Benoit
2012-02-16  8:56         ` Cousson, Benoit
2012-02-15 16:04 ` [PATCH 3/5] gpio/omap: Add DT support to GPIO driver Benoit Cousson
2012-02-15 16:04   ` Benoit Cousson
2012-02-22 14:23   ` Rob Herring
2012-02-22 14:23     ` Rob Herring
2012-02-22 14:31     ` Cousson, Benoit
2012-02-22 14:31       ` Cousson, Benoit
2012-02-22 17:23       ` Rob Herring
2012-02-22 17:23         ` Rob Herring
2012-02-22 18:29         ` Stephen Warren
2012-02-22 18:29           ` Stephen Warren
2012-02-24 15:30           ` Cousson, Benoit
2012-02-24 15:30             ` Cousson, Benoit
2013-02-26 10:01             ` Javier Martinez Canillas
2013-02-26 10:01               ` Javier Martinez Canillas
2013-02-26 16:33               ` Stephen Warren
2013-02-26 16:33                 ` Stephen Warren
2013-02-26 22:40               ` Jon Hunter
2013-02-26 22:40                 ` Jon Hunter
2013-02-26 22:44                 ` Stephen Warren
2013-02-26 22:44                   ` Stephen Warren
2013-02-26 23:01                   ` Jon Hunter
2013-02-26 23:01                     ` Jon Hunter
2013-02-26 23:06                     ` Stephen Warren
2013-02-26 23:06                       ` Stephen Warren
2013-02-26 23:45                       ` Jon Hunter
2013-02-26 23:45                         ` Jon Hunter
2013-02-27  0:13                         ` Stephen Warren
2013-02-27  0:13                           ` Stephen Warren
2013-02-27  1:07                           ` Jon Hunter
2013-02-27  1:07                             ` Jon Hunter
2013-02-27  3:57                             ` Javier Martinez Canillas
2013-02-27  3:57                               ` Javier Martinez Canillas
2013-02-27 17:50                               ` Stephen Warren
2013-02-27 17:50                                 ` Stephen Warren
2013-02-27 20:05                                 ` Javier Martinez Canillas
2013-02-27 20:05                                   ` Javier Martinez Canillas
2013-02-27 23:16                               ` Jon Hunter
2013-02-27 23:16                                 ` Jon Hunter
2013-02-28 12:17                                 ` Javier Martinez Canillas
2013-02-28 12:17                                   ` Javier Martinez Canillas
2013-02-28 20:49                                   ` Jon Hunter
2013-02-28 20:49                                     ` Jon Hunter
     [not found]                     ` <512D3EC2.6050408-l0cyMroinI0@public.gmane.org>
2013-03-02 20:05                       ` Grant Likely
2013-03-02 20:05                         ` Grant Likely
2013-03-07 23:14                         ` Jon Hunter
2013-03-07 23:14                           ` Jon Hunter
2013-03-15 11:21                           ` Javier Martinez Canillas
2013-03-15 11:21                             ` Javier Martinez Canillas
2013-03-22  8:10                             ` Linus Walleij
2013-03-22  8:10                               ` Linus Walleij
2013-03-22 15:33                               ` Stephen Warren
2013-03-22 15:33                                 ` Stephen Warren
2013-03-22 22:52                                 ` Jon Hunter
2013-03-22 22:52                                   ` Jon Hunter
2013-03-27 13:52                                   ` Linus Walleij
2013-03-27 13:52                                     ` Linus Walleij
2013-03-27 16:09                                     ` Stephen Warren
2013-03-27 16:09                                       ` Stephen Warren
2013-03-27 20:55                                       ` Linus Walleij
2013-03-27 20:55                                         ` Linus Walleij
2013-03-29 17:01                                         ` Stephen Warren
2013-03-29 17:01                                           ` Stephen Warren
2013-04-10 18:12                                           ` Linus Walleij
2013-04-10 18:12                                             ` Linus Walleij
2013-04-10 20:29                                             ` Stephen Warren
2013-04-10 20:29                                               ` Stephen Warren
2013-04-10 21:28                                               ` Linus Walleij
2013-04-10 21:28                                                 ` Linus Walleij
2013-04-11 20:30                                                 ` Stephen Warren
2013-04-11 20:30                                                   ` Stephen Warren
2013-04-11 22:16                                                   ` Linus Walleij
2013-04-11 22:16                                                     ` Linus Walleij
2013-04-11 22:47                                                     ` Stephen Warren
2013-04-11 22:47                                                       ` Stephen Warren
2013-04-14  1:35                                                       ` Javier Martinez Canillas
2013-04-14  1:35                                                         ` Javier Martinez Canillas
2013-04-14 20:53                                                         ` Linus Walleij
2013-04-14 20:53                                                           ` Linus Walleij
2013-04-15 11:25                                                           ` Javier Martinez Canillas
2013-04-15 11:25                                                             ` Javier Martinez Canillas
2013-04-15 16:58                                                           ` Stephen Warren
2013-04-15 16:58                                                             ` Stephen Warren
     [not found]                                                             ` <516C73C6.5050409@ti.co m>
2013-04-15 21:40                                                             ` Jon Hunter
2013-04-15 21:40                                                               ` Jon Hunter
2013-04-15 21:44                                                               ` Jon Hunter
2013-04-15 21:44                                                                 ` Jon Hunter
2013-04-15 22:16                                                               ` Stephen Warren
2013-04-15 22:16                                                                 ` Stephen Warren
2013-04-15 23:04                                                                 ` Jon Hunter
2013-04-15 23:04                                                                   ` Jon Hunter
2013-04-16 18:40                                                                   ` Stephen Warren
2013-04-16 18:40                                                                     ` Stephen Warren
2013-04-16 19:27                                                                     ` Jon Hunter
2013-04-16 19:27                                                                       ` Jon Hunter
2013-04-16 21:57                                                                       ` Jon Hunter
2013-04-16 21:57                                                                         ` Jon Hunter
2013-04-16 22:11                                                                       ` Stephen Warren
2013-04-16 22:11                                                                         ` Stephen Warren
2013-04-16 23:14                                                                         ` Jon Hunter
2013-04-16 23:14                                                                           ` Jon Hunter
2013-04-17  0:41                                                                           ` Javier Martinez Canillas
2013-04-17  0:41                                                                             ` Javier Martinez Canillas
2013-04-17  2:00                                                                             ` Jon Hunter
2013-04-17  2:00                                                                               ` Jon Hunter
2013-04-17  7:55                                                                               ` Javier Martinez Canillas
2013-04-17  7:55                                                                                 ` Javier Martinez Canillas
     [not found]                                                                                 ` <CAAwP0s2M2pnSydyDvh_rejFO=w8bCo4WE5PkxrYuk0HQDixc-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-17 13:25                                                                                   ` Jon Hunter
2013-04-17 13:25                                                                                     ` Jon Hunter
2013-04-17 13:42                                                                                     ` Javier Martinez Canillas
2013-04-17 13:42                                                                                       ` Javier Martinez Canillas
     [not found]                                                                                       ` <CAAwP0s2DsJAWuXWvPAkzCT0T0AG_OvMEw2sADW6LqSi1Ofd_Zw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-17 13:52                                                                                         ` Jon Hunter
2013-04-17 13:52                                                                                           ` Jon Hunter
2013-04-17 14:21                                                                                           ` Javier Martinez Canillas
2013-04-17 14:21                                                                                             ` Javier Martinez Canillas
2013-04-17 16:18                                                                                           ` Javier Martinez Canillas
2013-04-17 16:18                                                                                             ` Javier Martinez Canillas
2013-04-26  7:31                                                                             ` Linus Walleij
2013-04-26  7:31                                                                               ` Linus Walleij
2013-04-26 21:31                                                                               ` Jon Hunter
2013-04-26 21:31                                                                                 ` Jon Hunter
2013-06-11 21:25                                                                                 ` Grant Likely
2013-06-11 21:25                                                                                   ` Grant Likely
2013-06-12  9:43                                                                                   ` Linus Walleij
2013-06-12  9:43                                                                                     ` Linus Walleij
2013-04-17 15:41                                                                           ` Stephen Warren
2013-04-17 15:41                                                                             ` Stephen Warren
2013-04-26  7:27                                                                             ` Linus Walleij
2013-04-26  7:27                                                                               ` Linus Walleij
2013-04-26 21:25                                                                               ` Jon Hunter
2013-04-26 21:25                                                                                 ` Jon Hunter
     [not found]                                                                                 ` <517AF0C1.60009-l0cyMroinI0@public.gmane.org>
2013-05-03 14:35                                                                                   ` Linus Walleij
2013-05-03 14:35                                                                                     ` Linus Walleij
2013-04-26  7:11                                                               ` Linus Walleij
2013-04-26  7:11                                                                 ` Linus Walleij
2013-04-26  6:59                                                             ` Linus Walleij
2013-04-26  6:59                                                               ` Linus Walleij
2013-04-15 16:53                                                         ` Stephen Warren
2013-04-15 16:53                                                           ` Stephen Warren
2013-04-15 20:00                                                           ` Jon Hunter
2013-04-15 20:00                                                             ` Jon Hunter
2013-04-11 22:49                                                     ` Javier Martinez Canillas
2013-04-11 22:49                                                       ` Javier Martinez Canillas
2013-04-11 22:51                                                     ` Stephen Warren
2013-04-11 22:51                                                       ` Stephen Warren
2013-04-10 21:44                                               ` Arnd Bergmann
2013-04-10 21:44                                                 ` Arnd Bergmann
2013-02-27  3:33                 ` Javier Martinez Canillas
2013-02-27  3:33                   ` Javier Martinez Canillas
2013-02-27 17:47                   ` Stephen Warren
2013-02-27 17:47                     ` Stephen Warren
2013-02-27 20:00                     ` Javier Martinez Canillas
2013-02-27 20:00                       ` Javier Martinez Canillas
2013-02-26 23:08               ` Jon Hunter
2013-02-26 23:08                 ` Jon Hunter
2013-02-27  3:47                 ` Javier Martinez Canillas
2013-02-27  3:47                   ` Javier Martinez Canillas
2013-02-27 20:13                   ` Jon Hunter
2013-02-27 20:13                     ` Jon Hunter
2013-02-27 23:41   ` Linus Walleij
2013-02-27 23:41     ` Linus Walleij
2013-02-28 13:04     ` Benoit Cousson [this message]
2013-02-28 13:04       ` Benoit Cousson
2013-03-01  0:09       ` Linus Walleij
2013-03-01  0:09         ` Linus Walleij
2013-03-01  0:42         ` Jon Hunter
2013-03-01  0:42           ` Jon Hunter
2012-02-15 16:04 ` [PATCH 4/5] arm/dts: OMAP4: Add gpio nodes Benoit Cousson
2012-02-15 16:04   ` Benoit Cousson
2012-02-15 16:04 ` [PATCH 5/5] arm/dts: OMAP3: " Benoit Cousson
2012-02-15 16:04   ` Benoit Cousson

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=512F55E0.8050501@ti.com \
    --to=b-cousson@ti.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=jon-hunter@ti.com \
    --cc=khilman@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@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 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.