diff mbox

[v4,1/1] ARM: EXYNOS: Update CONFIG_ARCH_NR_GPIO for Exynos

Message ID 1374655405-22998-1-git-send-email-sachin.kamat@linaro.org
State Accepted
Headers show

Commit Message

Sachin Kamat July 24, 2013, 8:43 a.m. UTC
With the recent cleanup in Exynos platform code notably commits
17859bec ("ARM: EXYNOS: Do not select legacy Kconfig symbols any
more") and b9222210 ("ARM: EXYNOS: Remove mach/gpio.h"), the definition
of ARCH_NR_GPIOS got removed. This started causing problems on SoCs like
Exynos4412 which have more than the default number of GPIOs. Thus define
this number in KConfig file which takes care of current SoC requirements
and provides scope for GPIO expanders. Without this patch we get the
following errors during boot:

gpiochip_add: gpios 251..258 (gpv0) failed to register
samsung-pinctrl 106e0000.pinctrl: failed to register gpio_chip gpv0,
error code: -22
samsung-pinctrl: probe of 106e0000.pinctrl failed with error -22

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Tomasz Figa <t.figa@samsung.com>
---
Changes since v3:
Rearranged different default values in single line.
---
 arch/arm/Kconfig |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Hi Sachin,

On 07/24/2013 10:43 AM, Sachin Kamat wrote:
> With the recent cleanup in Exynos platform code notably commits
> 17859bec ("ARM: EXYNOS: Do not select legacy Kconfig symbols any
> more") and b9222210 ("ARM: EXYNOS: Remove mach/gpio.h"), the definition
> of ARCH_NR_GPIOS got removed. This started causing problems on SoCs like
> Exynos4412 which have more than the default number of GPIOs. Thus define
> this number in KConfig file which takes care of current SoC requirements
> and provides scope for GPIO expanders. Without this patch we get the
> following errors during boot:
> 
> gpiochip_add: gpios 251..258 (gpv0) failed to register
> samsung-pinctrl 106e0000.pinctrl: failed to register gpio_chip gpv0,
> error code: -22
> samsung-pinctrl: probe of 106e0000.pinctrl failed with error -22
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Tomasz Figa <t.figa@samsung.com>
> ---
> Changes since v3:
> Rearranged different default values in single line.
> ---
>  arch/arm/Kconfig |    3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index f8fb910..ac9fa38 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1590,8 +1590,7 @@ config ARM_PSCI
>  config ARCH_NR_GPIO
>  	int
>  	default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
> -	default 512 if SOC_OMAP5
> -	default 512 if ARCH_KEYSTONE
> +	default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5

Sorry, 512 seems a bit too generous to me. Also I would rather
leave each SOC/ARCH on a separate line.

Almost half of those 512 entries would have been unused in most
cases. How about, e.g. 352 ? If anyone finds this value too low
they could always submit a patch like this one. IMHO with 352 or
392 there would be sufficient margin.

--
Regards,
Sylwester
Sachin Kamat July 24, 2013, 10:49 a.m. UTC | #2
Hi Sylwester,

On 24 July 2013 16:14, Sylwester Nawrocki <s.nawrocki@samsung.com> wrote:
> Hi Sachin,
>
> On 07/24/2013 10:43 AM, Sachin Kamat wrote:
>> With the recent cleanup in Exynos platform code notably commits
>> 17859bec ("ARM: EXYNOS: Do not select legacy Kconfig symbols any
>> more") and b9222210 ("ARM: EXYNOS: Remove mach/gpio.h"), the definition
>> of ARCH_NR_GPIOS got removed. This started causing problems on SoCs like
>> Exynos4412 which have more than the default number of GPIOs. Thus define
>> this number in KConfig file which takes care of current SoC requirements
>> and provides scope for GPIO expanders. Without this patch we get the
>> following errors during boot:
>>
>> gpiochip_add: gpios 251..258 (gpv0) failed to register
>> samsung-pinctrl 106e0000.pinctrl: failed to register gpio_chip gpv0,
>> error code: -22
>> samsung-pinctrl: probe of 106e0000.pinctrl failed with error -22
>>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> Cc: Tomasz Figa <t.figa@samsung.com>
>> ---
>> Changes since v3:
>> Rearranged different default values in single line.
>> ---
>>  arch/arm/Kconfig |    3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index f8fb910..ac9fa38 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -1590,8 +1590,7 @@ config ARM_PSCI
>>  config ARCH_NR_GPIO
>>       int
>>       default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
>> -     default 512 if SOC_OMAP5
>> -     default 512 if ARCH_KEYSTONE
>> +     default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5
>
> Sorry, 512 seems a bit too generous to me. Also I would rather
> leave each SOC/ARCH on a separate line.

Even I had left it that way earlier. However Kukjin suggested the
above (single line).
I feel it is more of individual preference.

>
> Almost half of those 512 entries would have been unused in most
> cases. How about, e.g. 352 ? If anyone finds this value too low
> they could always submit a patch like this one. IMHO with 352 or
> 392 there would be sufficient margin.

I agree. Again, I do not have any reservations here. I just went with
maintainer's choice which was a superset of your and Tomasz's
suggestions :)
Kukjin Kim July 24, 2013, 11:01 a.m. UTC | #3
Sachin Kamat wrote:
> 
> Hi Sylwester,
> 
Hi all,

[...]

> >> @@ -1590,8 +1590,7 @@ config ARM_PSCI
> >>  config ARCH_NR_GPIO
> >>       int
> >>       default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
> >> -     default 512 if SOC_OMAP5
> >> -     default 512 if ARCH_KEYSTONE
> >> +     default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5
> >
> > Sorry, 512 seems a bit too generous to me. Also I would rather
> > leave each SOC/ARCH on a separate line.
> 
> Even I had left it that way earlier. However Kukjin suggested the
> above (single line).
> I feel it is more of individual preference.
> 
I know it is quite big but I think if we want to use the large number, I'd
preferred to use enough the large number so that we don't need to update it
soon. If so, multiple line is useless...

Note, according to git log, for omap5, 256 is the accurately right number.

> >
> > Almost half of those 512 entries would have been unused in most
> > cases. How about, e.g. 352 ? If anyone finds this value too low
> > they could always submit a patch like this one. IMHO with 352 or
> > 392 there would be sufficient margin.
> 
Hmm...

> I agree. Again, I do not have any reservations here. I just went with
> maintainer's choice which was a superset of your and Tomasz's
> suggestions :)
> 
- Kukjin
Kukjin Kim July 24, 2013, noon UTC | #4
Kukjin Kim wrote:
> 
> Sachin Kamat wrote:
> >
> > Hi Sylwester,
> >
> Hi all,
> 
> [...]
> 
> > >> @@ -1590,8 +1590,7 @@ config ARM_PSCI
> > >>  config ARCH_NR_GPIO
> > >>       int
> > >>       default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
> > >> -     default 512 if SOC_OMAP5
> > >> -     default 512 if ARCH_KEYSTONE
> > >> +     default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5
> > >
> > > Sorry, 512 seems a bit too generous to me. Also I would rather
> > > leave each SOC/ARCH on a separate line.
> >
> > Even I had left it that way earlier. However Kukjin suggested the
> > above (single line).
> > I feel it is more of individual preference.
> >
> I know it is quite big but I think if we want to use the large number, I'd
> preferred to use enough the large number so that we don't need to update
> it soon. If so, multiple line is useless...
> 
> Note, according to git log, for omap5, 256 is the accurately right number.
> 
> > >
> > > Almost half of those 512 entries would have been unused in most
> > > cases. How about, e.g. 352 ? If anyone finds this value too low
> > > they could always submit a patch like this one. IMHO with 352 or
> > > 392 there would be sufficient margin.
> >
> Hmm...
> 
> > I agree. Again, I do not have any reservations here. I just went with
> > maintainer's choice which was a superset of your and Tomasz's
> > suggestions :)
> >
If you have another opinion on this, please let me know before sending fixes
for 3.11 probably tomorrow morning in my time.

Thanks,
Kukjin
On 07/24/2013 02:00 PM, Kukjin Kim wrote:
> Kukjin Kim wrote:
>> Sachin Kamat wrote:
[...]
>>>>> @@ -1590,8 +1590,7 @@ config ARM_PSCI
>>>>>  config ARCH_NR_GPIO
>>>>>       int
>>>>>       default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
>>>>> -     default 512 if SOC_OMAP5
>>>>> -     default 512 if ARCH_KEYSTONE
>>>>> +     default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5
>>>>
>>>> Sorry, 512 seems a bit too generous to me. Also I would rather
>>>> leave each SOC/ARCH on a separate line.
>>>
>>> Even I had left it that way earlier. However Kukjin suggested the
>>> above (single line).
>>> I feel it is more of individual preference.
>>>
>> I know it is quite big but I think if we want to use the large number, I'd
>> preferred to use enough the large number so that we don't need to update
>> it soon. If so, multiple line is useless...
>>
>> Note, according to git log, for omap5, 256 is the accurately right number.

If it's done similarly for other SoCs then I'm fine with change as above.
256 entries is only about 3 kB anyway, it shouldn't be a big deal for
systems using those SoCs.

>>>> Almost half of those 512 entries would have been unused in most
>>>> cases. How about, e.g. 352 ? If anyone finds this value too low
>>>> they could always submit a patch like this one. IMHO with 352 or
>>>> 392 there would be sufficient margin.
>>>
>> Hmm...
>>
>>> I agree. Again, I do not have any reservations here. I just went with
>>> maintainer's choice which was a superset of your and Tomasz's
>>> suggestions :)
>
> If you have another opinion on this, please let me know before sending fixes
> for 3.11 probably tomorrow morning in my time.

I'm OK with that change. Sorry for the trouble.

--
Thanks,
Sylwester
diff mbox

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index f8fb910..ac9fa38 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1590,8 +1590,7 @@  config ARM_PSCI
 config ARCH_NR_GPIO
 	int
 	default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
-	default 512 if SOC_OMAP5
-	default 512 if ARCH_KEYSTONE
+	default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5
 	default 392 if ARCH_U8500
 	default 352 if ARCH_VT8500
 	default 288 if ARCH_SUNXI