public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V2] arm/tegra: convert tegra20 to GIC devicetree binding
Date: Tue, 29 Nov 2011 13:52:27 -0600	[thread overview]
Message-ID: <4ED537FB.1010307@gmail.com> (raw)
In-Reply-To: <4ED51AC4.50303@ti.com>


On 11/29/2011 11:47 AM, Cousson, Benoit wrote:
> On 11/29/2011 6:13 PM, Stephen Warren wrote:
>> Cousson, Benoit wrote at Tuesday, November 29, 2011 6:01 AM:
>>> Hi Stephen&  Peter,
>>>
>>> On 11/29/2011 1:54 AM, Stephen Warren wrote:
>>>> From: pdeschrijver at nvidia.com<pdeschrijver@nvidia.com>
>>>
>>> [...]
>>>
>>>> @@ -125,6 +131,14 @@ void __init tegra_init_irq(void)
>>>>        gic_arch_extn.irq_unmask = tegra_unmask;
>>>>        gic_arch_extn.irq_retrigger = tegra_retrigger;
>>>>
>>>> -    gic_init(0, 29, IO_ADDRESS(TEGRA_ARM_INT_DIST_BASE),
>>>> -         IO_ADDRESS(TEGRA_ARM_PERIF_BASE + 0x100));
>>>> +#ifdef CONFIG_OF
>>>> +    /* Check if there is a devicetree present as of_irq_init doesn't
>>>> +     * indicate if an interrupt controller node was found.
>>>> +     */
>>>> +    if (of_find_node_by_path("/"))
>>>> +        of_irq_init(tegra_irq_match);
>>>> +    else
>>>> +#endif
>>>
>>> For the same kind of need, I found the following API:
>>>
>>> of_have_populated_dt()
>>>
>>> Moreover, it returns false if !CONFIG_OF, so it will avoid the #ifdef.
>>
>> That sounds like a great idea. Unfortunately, of_irq_init() is a DT-only
>> function. Exynos has the following in mainline to solve this:
>>
>>          if (!of_have_populated_dt())
>>                  gic_init_bases(...);
>> #ifdef CONFIG_OF
>>          else
>>                  of_irq_init(exynos4_dt_irq_match);
>> #endif
>>
>> Perhaps we should add a dummy of_irq_init() too, so that we can remove
>> this ifdef.
> 
> Yes, indeed, I think that's much better. Most of_XXX APIs do have a
> dummy version, but for some reason some of them do not.
> That one clearly deserve a dummy version.

I had an empty version originally and removed it based on Grant's review...

The original intent was this call should be in a DT board file and
therefore always enabled. Perhaps you can split tegra_init_irq into 2
functions with one having all but gic_init and then call that function
from board-dt.c along with of_irq_init.

Rob

  reply	other threads:[~2011-11-29 19:52 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-29  0:54 [PATCH V2] arm/tegra: convert tegra20 to GIC devicetree binding Stephen Warren
2011-11-29 13:00 ` Cousson, Benoit
2011-11-29 17:13   ` Stephen Warren
2011-11-29 17:17     ` Nicolas Ferre
2011-11-29 17:47     ` Cousson, Benoit
2011-11-29 19:52       ` Rob Herring [this message]
2011-11-29 21:08         ` Stephen Warren
2011-11-29 22:24           ` Rob Herring
2011-11-29 22:58             ` Stephen Warren
2011-11-29 23:16               ` Rob Herring
2011-11-29 23:22                 ` Stephen Warren

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=4ED537FB.1010307@gmail.com \
    --to=robherring2@gmail.com \
    --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