All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Cousson, Benoit" <b-cousson-l0cyMroinI0@public.gmane.org>
To: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
	Colin Cross <ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org>,
	Peter De Schrijver
	<pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
	<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [PATCH V2] arm/tegra: convert tegra20 to GIC devicetree binding
Date: Tue, 29 Nov 2011 18:47:48 +0100	[thread overview]
Message-ID: <4ED51AC4.50303@ti.com> (raw)
In-Reply-To: <74CDBE0F657A3D45AFBB94109FB122FF174FDAFADC-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>

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-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org<pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>
>> [...]
>>
>>> @@ -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.

Regards,
Benoit

WARNING: multiple messages have this Message-ID (diff)
From: b-cousson@ti.com (Cousson, Benoit)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V2] arm/tegra: convert tegra20 to GIC devicetree binding
Date: Tue, 29 Nov 2011 18:47:48 +0100	[thread overview]
Message-ID: <4ED51AC4.50303@ti.com> (raw)
In-Reply-To: <74CDBE0F657A3D45AFBB94109FB122FF174FDAFADC@HQMAIL01.nvidia.com>

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.

Regards,
Benoit

  parent reply	other threads:[~2011-11-29 17:47 UTC|newest]

Thread overview: 22+ 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  0:54 ` Stephen Warren
     [not found] ` <1322528052-6516-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-29 13:00   ` Cousson, Benoit
2011-11-29 13:00     ` Cousson, Benoit
     [not found]     ` <4ED4D78A.6000400-l0cyMroinI0@public.gmane.org>
2011-11-29 17:13       ` Stephen Warren
2011-11-29 17:13         ` Stephen Warren
     [not found]         ` <74CDBE0F657A3D45AFBB94109FB122FF174FDAFADC-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-11-29 17:17           ` Nicolas Ferre
2011-11-29 17:17             ` Nicolas Ferre
2011-11-29 17:47           ` Cousson, Benoit [this message]
2011-11-29 17:47             ` Cousson, Benoit
     [not found]             ` <4ED51AC4.50303-l0cyMroinI0@public.gmane.org>
2011-11-29 19:52               ` Rob Herring
2011-11-29 19:52                 ` Rob Herring
     [not found]                 ` <4ED537FB.1010307-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-11-29 21:08                   ` Stephen Warren
2011-11-29 21:08                     ` Stephen Warren
     [not found]                     ` <74CDBE0F657A3D45AFBB94109FB122FF174FDAFBEA-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-11-29 22:24                       ` Rob Herring
2011-11-29 22:24                         ` Rob Herring
     [not found]                         ` <4ED55BBB.4040805-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-11-29 22:58                           ` Stephen Warren
2011-11-29 22:58                             ` Stephen Warren
     [not found]                             ` <74CDBE0F657A3D45AFBB94109FB122FF174FDAFC64-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-11-29 23:16                               ` Rob Herring
2011-11-29 23:16                                 ` Rob Herring
     [not found]                                 ` <4ED567DA.6030601-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-11-29 23:22                                   ` Stephen Warren
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=4ED51AC4.50303@ti.com \
    --to=b-cousson-l0cymroini0@public.gmane.org \
    --cc=ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
    --cc=pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.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.