linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/14] mfd: Add IRQ domain support for the AB8500
Date: Tue, 12 Jun 2012 09:01:37 +0100	[thread overview]
Message-ID: <4FD6F761.6010305@linaro.org> (raw)
In-Reply-To: <CACRpkdaZ1OZdaqo=_YvQpyYazpcmhLT8QF4jz1WUQMSAsTM8Sw@mail.gmail.com>

On 11/06/12 22:33, Linus Walleij wrote:
> On Mon, Jun 11, 2012 at 5:25 PM, Lee Jones<lee.jones@linaro.org>  wrote:
>
>> As the AB8500 is an IRQ controller in its own right, here we provide
>> the AB8500 driver with IRQ domain support. This is required if we wish
>> to reference any of its IRQs from a platform's Device Tree.
>
> OK..
>
>> diff --git a/drivers/mfd/ab8500-core.c b/drivers/mfd/ab8500-core.c
> (...)
>> -static int ab8500_irq_init(struct ab8500 *ab8500)
>> +/**
>> + * ab8500_irq_get_virq(): Map an interrupt on a chip to a virtual IRQ
>> + *
>> + * Useful for drivers to request their own IRQs.
>
> Check style against Documentation/kernel-doc-nano-HOWTO.txt
> verbos explanation follows argument documentation.

Ah, good to know.

I just followed other examples in this case. I'll swap them over.

>> + *
>> + * @ab8500: ab8500_irq controller to operate on.
>> + * @irq: index of the interrupt requested in the chip IRQs
>> + */
>> +int ab8500_irq_get_virq(struct ab8500 *ab8500, int irq)
>>   {
>> -       int base = ab8500->irq_base;
>> -       int irq;
>> -       int num_irqs;
>> +       if (!ab8500)
>> +               return -EINVAL;
>>
>> -       if (is_ab9540(ab8500))
>> -               num_irqs = AB9540_NR_IRQS;
>> -       else if (is_ab8505(ab8500))
>> -               num_irqs = AB8505_NR_IRQS;
>> -       else
>> -               num_irqs = AB8500_NR_IRQS;
>> +       return irq_create_mapping(ab8500->domain, irq);
>> +}
>> +EXPORT_SYMBOL_GPL(ab8500_irq_get_virq);
> (...)
>> @@ -1233,11 +1256,9 @@ static int __devinit ab8500_probe(struct platform_device *pdev)
>>
>>         if (plat)
>>                 ab8500->irq_base = plat->irq_base;
>> -       else if (np)
>> -               ret = of_property_read_u32(np, "stericsson,irq-base",&ab8500->irq_base);
>
> So if we're not using the irq base thing anymore, should you also
> delete it from the binding document too? (If there is no binding
> doc something is wrong and you need to create it I guess...)

No. A document is not required now, as we are using standard bindings.

>> diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h
>> index 91dd3ef..48f126c 100644
>> --- a/include/linux/mfd/abx500/ab8500.h
>> +++ b/include/linux/mfd/abx500/ab8500.h
>> @@ -227,6 +227,7 @@ enum ab8500_version {
>>   * @irq_lock: genirq bus lock
>>   * @transfer_ongoing: 0 if no transfer ongoing
>>   * @irq: irq line
>> + * @irq_domain: irq domain
>>   * @version: chip version id (e.g. ab8500 or ab9540)
>>   * @chip_id: chip revision id
>>   * @write: register write
>> @@ -247,6 +248,7 @@ struct ab8500 {
>>         atomic_t        transfer_ongoing;
>>         int             irq_base;
>>         int             irq;
>> +       struct irq_domain  *domain;
>
> Don't you need to forward-declare struct irq_domain?
> I think you're just lucky to have it compiling... (Something
> else included<linux/irqdomain.h>  on the way here.)

You're right. I'll make the changes and resubmit.

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2012-06-12  8:01 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-11 15:24 [PATCH 00/14] Final (large) batch of Snowball Device Tree Enablement Lee Jones
2012-06-11 15:24 ` [PATCH 01/14] rtc: ab8500-rtc: IRQF_ONESHOT when requesting a threaded IRQ Lee Jones
2012-06-11 15:31   ` Arnd Bergmann
2012-06-11 15:37     ` Lee Jones
2012-06-11 15:51       ` Greg Kroah-Hartman
2012-06-11 16:01         ` Lee Jones
2012-06-11 20:54           ` [rtc-linux] " Linus Walleij
2012-06-12  8:57     ` Lee Jones
2012-06-13 22:25       ` Andrew Morton
2012-06-14  7:14         ` Lee Jones
2012-06-14  7:30           ` Andrew Morton
2012-06-14  8:02             ` Lee Jones
2012-06-11 15:24 ` [PATCH 02/14] rtc: Ensure correct probing of the AB8500 RTC when Device Tree is enabled Lee Jones
2012-06-11 20:56   ` [rtc-linux] " Linus Walleij
2012-07-02 15:23   ` Lee Jones
2012-06-11 15:24 ` [PATCH 03/14] mfd: ab8500-gpadc: Enable IRQF_ONESHOT when requesting a threaded IRQ Lee Jones
2012-06-11 20:54   ` Linus Walleij
2012-06-12  8:58   ` Lee Jones
2012-06-11 15:24 ` [PATCH 04/14] mfd: Remove redundant Kconfig entry Lee Jones
2012-06-11 20:57   ` Linus Walleij
2012-06-11 15:24 ` [PATCH 05/14] mfd: Enable DT probing of the DB8500 PRCMU Lee Jones
2012-06-11 20:58   ` Linus Walleij
2012-06-29 14:47   ` Samuel Ortiz
2012-06-11 15:24 ` [PATCH 06/14] mfd: Initialise the DB8500 PRCMU driver at core_initcall time Lee Jones
2012-06-11 21:01   ` Linus Walleij
2012-06-12  8:11     ` Lee Jones
2012-06-12  8:35     ` Lee Jones
2012-06-12 12:59       ` Arnd Bergmann
2012-06-12 13:23         ` Lee Jones
2012-06-12 14:49           ` Arnd Bergmann
2012-06-12 15:39             ` Lee Jones
2012-06-18  8:32             ` Lee Jones
2012-06-29 14:48   ` Samuel Ortiz
2012-06-11 15:25 ` [PATCH 07/14] mfd: Initialise the AB8500 " Lee Jones
2012-06-11 21:03   ` Linus Walleij
2012-06-12  8:13     ` Lee Jones
2012-06-12  8:37     ` Lee Jones
2012-06-29 14:51   ` Samuel Ortiz
2012-06-11 15:25 ` [PATCH 08/14] mfd: Add IRQ domain support for the AB8500 Lee Jones
2012-06-11 21:33   ` Linus Walleij
2012-06-12  8:01     ` Lee Jones [this message]
2012-06-14 18:32   ` Mark Brown
2012-06-15 12:49     ` Lee Jones
2012-06-18  9:02     ` Lee Jones
2012-06-18  9:32       ` Mark Brown
2012-06-18 10:20       ` Russell King - ARM Linux
2012-06-18 18:56         ` Mark Brown
2012-06-20 13:00           ` Lee Jones
2012-06-21  7:37             ` Linus Walleij
2012-06-26  9:04               ` Lee Jones
2012-06-20  9:12         ` Linus Walleij
2012-06-11 15:25 ` [PATCH 09/14] i2c: Add Device Tree support to the Nomadik I2C driver Lee Jones
2012-06-11 19:05   ` Wolfram Sang
2012-06-12  7:23     ` Lee Jones
2012-06-12  8:52     ` Lee Jones
2012-06-12  8:57       ` Wolfram Sang
2012-06-11 20:37   ` Linus Walleij
2012-06-12  7:34     ` Lee Jones
2012-06-13  5:40       ` Linus Walleij
2012-06-13  7:01         ` Lee Jones
2012-06-13  8:12           ` Linus Walleij
2012-06-13 12:28             ` Lee Jones
2012-06-14 18:36               ` Mark Brown
2012-06-14 18:46                 ` Mark Brown
2012-06-14 18:59                   ` Lee Jones
2012-06-14 18:57                 ` Lee Jones
2012-06-15  9:32                   ` Mark Brown
2012-06-15 10:00                     ` Lee Jones
2012-06-15 10:32                   ` Russell King - ARM Linux
2012-06-15 11:43                     ` Lee Jones
2012-06-13 16:07     ` [PATCH 1/3] " Lee Jones
2012-06-14 17:12       ` Linus Walleij
2012-06-15  9:02         ` Lee Jones
     [not found]           ` <CAE2-_9rRYxjU9QQgtBv9ReMY5x+oRiJG1cDQahYHanjDrwVUYA@mail.gmail.com>
2012-06-15 11:50             ` Fwd: " Srinidhi Kasagar
2012-06-15 12:45               ` Lee Jones
2012-06-15 13:05                 ` Srinidhi Kasagar
2012-06-15 13:18                   ` Lee Jones
2012-06-15 13:37                     ` Srinidhi Kasagar
2012-06-15 13:58                       ` Lee Jones
2012-06-17 17:43                     ` Linus Walleij
2012-06-18  7:18                       ` Lee Jones
2012-06-18  7:58                         ` Srinidhi Kasagar
2012-06-18  8:41                           ` Lee Jones
2012-06-13 16:08     ` [PATCH 2/3] ARM: ux500: Add i2c configurations to the Device Tree for DB8500 based devices Lee Jones
2012-06-14 17:13       ` Linus Walleij
2012-06-18 11:29       ` Linus Walleij
2012-06-18 11:37         ` Lee Jones
2012-06-13 16:08     ` [PATCH 3/3] Documentation: Device Tree binding information for i2c-nomadik driver Lee Jones
2012-06-14 17:13       ` Linus Walleij
2012-06-11 15:25 ` [PATCH 10/14] Input: Add Device Tree support to the ab8500-ponkey driver Lee Jones
2012-06-11 15:25 ` [PATCH 11/14] usb: otg: Enable probing of the ab8500 during a Device Tree boot Lee Jones
2012-06-11 21:39   ` Linus Walleij
2012-07-02 15:24   ` Lee Jones
2012-06-11 15:25 ` [PATCH 12/14] ARM: ux500: Correctly reference IRQs supplied by the AB8500 from Device Tree Lee Jones
2012-06-11 21:41   ` Linus Walleij
2012-06-11 15:25 ` [PATCH 13/14] ARM: ux500: Enable the AB8500 RTC for all DT:ed DB8500 based devices Lee Jones
2012-06-11 21:42   ` Linus Walleij
2012-06-11 15:25 ` [PATCH 14/14] ARM: ux500: Move rtc-pl031 registration to Device Tree when enabled Lee Jones
2012-06-11 21:43   ` Linus Walleij
2012-06-12  8:03     ` Lee Jones
2012-06-12 14:32       ` Linus Walleij
2012-06-12 14:44         ` Lee Jones

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=4FD6F761.6010305@linaro.org \
    --to=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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).