Message ID | 1372054438-15693-1-git-send-email-sachin.kamat@linaro.org |
---|---|
State | Superseded |
Headers | show |
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 (285) than the default number of GPIOs (255). > Thus define this number in Kconfig file. 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> > --- > Based on Kukjin's for-next tree. > --- > arch/arm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index ddf2667..380a53b 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1578,6 +1578,7 @@ config ARCH_NR_GPIO > default 512 if SOC_OMAP5 > default 392 if ARCH_U8500 > default 352 if ARCH_VT8500 > + default 288 if ARCH_EXYNOS > default 288 if ARCH_SUNXI > default 264 if MACH_H4700 > default 0 > -- > 1.7.9.5 Hmm, BTW, I'm wondering why it is 288 not 285 or other specific number... Thanks, - Kukjin
On 22 July 2013 07:18, Kukjin Kim <kgene.kim@samsung.com> wrote: > 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 (285) than the default number of GPIOs (255). >> Thus define this number in Kconfig file. 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> >> --- >> Based on Kukjin's for-next tree. >> --- >> arch/arm/Kconfig | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >> index ddf2667..380a53b 100644 >> --- a/arch/arm/Kconfig >> +++ b/arch/arm/Kconfig >> @@ -1578,6 +1578,7 @@ config ARCH_NR_GPIO >> default 512 if SOC_OMAP5 >> default 392 if ARCH_U8500 >> default 352 if ARCH_VT8500 >> + default 288 if ARCH_EXYNOS >> default 288 if ARCH_SUNXI >> default 264 if MACH_H4700 >> default 0 >> -- >> 1.7.9.5 > > Hmm, BTW, I'm wondering why it is 288 not 285 or other specific number... I wasn't really sure if we can have any number there. I chose the closest one (288) which was already used by other platform. If there is no problem to use 285 itself then I can resend with that number. Please let me know.
Sachin Kamat wrote: > > On 22 July 2013 07:18, Kukjin Kim <kgene.kim@samsung.com> wrote: > > 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 (285) than the default number of GPIOs (255). > >> Thus define this number in Kconfig file. 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> > >> --- > >> Based on Kukjin's for-next tree. > >> --- > >> arch/arm/Kconfig | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > >> index ddf2667..380a53b 100644 > >> --- a/arch/arm/Kconfig > >> +++ b/arch/arm/Kconfig > >> @@ -1578,6 +1578,7 @@ config ARCH_NR_GPIO > >> default 512 if SOC_OMAP5 > >> default 392 if ARCH_U8500 > >> default 352 if ARCH_VT8500 > >> + default 288 if ARCH_EXYNOS > >> default 288 if ARCH_SUNXI > >> default 264 if MACH_H4700 > >> default 0 > >> -- > >> 1.7.9.5 > > > > Hmm, BTW, I'm wondering why it is 288 not 285 or other specific number... > > I wasn't really sure if we can have any number there. I chose the > closest one (288) which was already used by other platform. > If there is no problem to use 285 itself then I can resend with that > number. Please let me know. > If there is no reason, please don't use bigger value than necessary one. Thanks, Kukjin
On 22 July 2013 09:07, Kukjin Kim <kgene@kernel.org> wrote: > Sachin Kamat wrote: >> >> On 22 July 2013 07:18, Kukjin Kim <kgene.kim@samsung.com> wrote: >> > 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 (285) than the default number of GPIOs > (255). >> >> Thus define this number in Kconfig file. 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> >> >> --- >> >> Based on Kukjin's for-next tree. >> >> --- >> >> arch/arm/Kconfig | 1 + >> >> 1 file changed, 1 insertion(+) >> >> >> >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >> >> index ddf2667..380a53b 100644 >> >> --- a/arch/arm/Kconfig >> >> +++ b/arch/arm/Kconfig >> >> @@ -1578,6 +1578,7 @@ config ARCH_NR_GPIO >> >> default 512 if SOC_OMAP5 >> >> default 392 if ARCH_U8500 >> >> default 352 if ARCH_VT8500 >> >> + default 288 if ARCH_EXYNOS >> >> default 288 if ARCH_SUNXI >> >> default 264 if MACH_H4700 >> >> default 0 >> >> -- >> >> 1.7.9.5 >> > >> > Hmm, BTW, I'm wondering why it is 288 not 285 or other specific > number... >> >> I wasn't really sure if we can have any number there. I chose the >> closest one (288) which was already used by other platform. >> If there is no problem to use 285 itself then I can resend with that >> number. Please let me know. >> > If there is no reason, please don't use bigger value than necessary one. Ok, I will resend this with exact value. Thanks Kukjin.
On Monday 22 of July 2013 12:37:52 Kukjin Kim wrote: > Sachin Kamat wrote: > > On 22 July 2013 07:18, Kukjin Kim <kgene.kim@samsung.com> wrote: > > > 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 (285) than the default number of GPIOs > > (255). > > > >> Thus define this number in Kconfig file. 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> > > >> --- > > >> Based on Kukjin's for-next tree. > > >> --- > > >> > > >> arch/arm/Kconfig | 1 + > > >> 1 file changed, 1 insertion(+) > > >> > > >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > >> index ddf2667..380a53b 100644 > > >> --- a/arch/arm/Kconfig > > >> +++ b/arch/arm/Kconfig > > >> @@ -1578,6 +1578,7 @@ config ARCH_NR_GPIO > > >> > > >> default 512 if SOC_OMAP5 > > >> default 392 if ARCH_U8500 > > >> default 352 if ARCH_VT8500 > > >> > > >> + default 288 if ARCH_EXYNOS > > >> > > >> default 288 if ARCH_SUNXI > > >> default 264 if MACH_H4700 > > >> default 0 > > >> > > >> -- > > >> 1.7.9.5 > > > > > > Hmm, BTW, I'm wondering why it is 288 not 285 or other specific > > number... > > > I wasn't really sure if we can have any number there. I chose the > > closest one (288) which was already used by other platform. > > If there is no problem to use 285 itself then I can resend with that > > number. Please let me know. > > If there is no reason, please don't use bigger value than necessary one. Hmm, what about some GPIO expanders that would require bigger GPIO address space? I would reserve some space just in case, i.e. define this value to be the highest number of GPIOs on all Exynos SoCs + some extra, like 32 or 64. Best regards, Tomasz
On 07/22/2013 07:21 PM, Tomasz Figa wrote: > On Monday 22 of July 2013 12:37:52 Kukjin Kim wrote: >> Sachin Kamat wrote: >>> On 22 July 2013 07:18, Kukjin Kim<kgene.kim@samsung.com> wrote: >>>> 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 (285) than the default number of GPIOs >> >> (255). >> >>>>> Thus define this number in Kconfig file. 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> >>>>> --- >>>>> Based on Kukjin's for-next tree. >>>>> --- >>>>> >>>>> arch/arm/Kconfig | 1 + >>>>> 1 file changed, 1 insertion(+) >>>>> >>>>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >>>>> index ddf2667..380a53b 100644 >>>>> --- a/arch/arm/Kconfig >>>>> +++ b/arch/arm/Kconfig >>>>> @@ -1578,6 +1578,7 @@ config ARCH_NR_GPIO >>>>> >>>>> default 512 if SOC_OMAP5 >>>>> default 392 if ARCH_U8500 >>>>> default 352 if ARCH_VT8500 >>>>> >>>>> + default 288 if ARCH_EXYNOS >>>>> >>>>> default 288 if ARCH_SUNXI >>>>> default 264 if MACH_H4700 >>>>> default 0 >>>>> >>>>> -- >>>>> 1.7.9.5 >>>> >>>> Hmm, BTW, I'm wondering why it is 288 not 285 or other specific >> >> number... >> >>> I wasn't really sure if we can have any number there. I chose the >>> closest one (288) which was already used by other platform. >>> If there is no problem to use 285 itself then I can resend with that >>> number. Please let me know. >> >> If there is no reason, please don't use bigger value than necessary one. > > Hmm, what about some GPIO expanders that would require bigger GPIO address > space? I would reserve some space just in case, i.e. define this value to be > the highest number of GPIOs on all Exynos SoCs + some extra, like 32 or 64. That sounds like a good idea. IIRC I once had to increase ARCH_NR_GPIO to make the wm8994 GPIO controller working. The wm8994 driver also handles WM1811 audio codec that some Exynos development boards are shipped with. -- Regards, Sylwester
On 23 July 2013 01:06, Sylwester Nawrocki <sylvester.nawrocki@gmail.com> wrote: > On 07/22/2013 07:21 PM, Tomasz Figa wrote: >> >> On Monday 22 of July 2013 12:37:52 Kukjin Kim wrote: >>> >>> Sachin Kamat wrote: >>>> >>>> On 22 July 2013 07:18, Kukjin Kim<kgene.kim@samsung.com> wrote: >>>>> >>>>> 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 (285) than the default number of GPIOs >>> >>> >>> (255). >>> >>>>>> Thus define this number in Kconfig file. 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> >>>>>> --- >>>>>> Based on Kukjin's for-next tree. >>>>>> --- >>>>>> >>>>>> arch/arm/Kconfig | 1 + >>>>>> 1 file changed, 1 insertion(+) >>>>>> >>>>>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >>>>>> index ddf2667..380a53b 100644 >>>>>> --- a/arch/arm/Kconfig >>>>>> +++ b/arch/arm/Kconfig >>>>>> @@ -1578,6 +1578,7 @@ config ARCH_NR_GPIO >>>>>> >>>>>> default 512 if SOC_OMAP5 >>>>>> default 392 if ARCH_U8500 >>>>>> default 352 if ARCH_VT8500 >>>>>> >>>>>> + default 288 if ARCH_EXYNOS >>>>>> >>>>>> default 288 if ARCH_SUNXI >>>>>> default 264 if MACH_H4700 >>>>>> default 0 >>>>>> >>>>>> -- >>>>>> 1.7.9.5 >>>>> >>>>> >>>>> Hmm, BTW, I'm wondering why it is 288 not 285 or other specific >>> >>> >>> number... >>> >>>> I wasn't really sure if we can have any number there. I chose the >>>> closest one (288) which was already used by other platform. >>>> If there is no problem to use 285 itself then I can resend with that >>>> number. Please let me know. >>> >>> >>> If there is no reason, please don't use bigger value than necessary one. >> >> >> Hmm, what about some GPIO expanders that would require bigger GPIO address >> space? I would reserve some space just in case, i.e. define this value to >> be >> the highest number of GPIOs on all Exynos SoCs + some extra, like 32 or >> 64. > > > That sounds like a good idea. IIRC I once had to increase ARCH_NR_GPIO to > make the wm8994 GPIO controller working. The wm8994 driver also handles > WM1811 audio codec that some Exynos development boards are shipped with. Looks like a valid point. Kukjin, Let me know your opinion about this before I respin the patch.
Sachin Kamat wrote: [...] > >>>>> Hmm, BTW, I'm wondering why it is 288 not 285 or other specific > >>> > >>> > >>> number... > >>> > >>>> I wasn't really sure if we can have any number there. I chose the > >>>> closest one (288) which was already used by other platform. > >>>> If there is no problem to use 285 itself then I can resend with that > >>>> number. Please let me know. > >>> > >>> > >>> If there is no reason, please don't use bigger value than necessary > one. > >> > >> > >> Hmm, what about some GPIO expanders that would require bigger GPIO > address > >> space? I would reserve some space just in case, i.e. define this value > to > >> be > >> the highest number of GPIOs on all Exynos SoCs + some extra, like 32 or > >> 64. > > > > > > That sounds like a good idea. IIRC I once had to increase ARCH_NR_GPIO > to > > make the wm8994 GPIO controller working. The wm8994 driver also handles > > WM1811 audio codec that some Exynos development boards are shipped with. > > Looks like a valid point. > > Kukjin, > Let me know your opinion about this before I respin the patch. > Agreed, let's use 512 including some extras, I'm not sure what value for some GPIO expanders is reasonable at this moment, though. It should be fine on current EXYNOS platforms. Thanks, Kukjin
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ddf2667..380a53b 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1578,6 +1578,7 @@ config ARCH_NR_GPIO default 512 if SOC_OMAP5 default 392 if ARCH_U8500 default 352 if ARCH_VT8500 + default 288 if ARCH_EXYNOS default 288 if ARCH_SUNXI default 264 if MACH_H4700 default 0
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 (285) than the default number of GPIOs (255). Thus define this number in Kconfig file. 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> --- Based on Kukjin's for-next tree. --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+)