[PATCH] arm64: select ARCH_WANT_OPTIONAL_GPIOLIB

Arnd Bergmann arnd at arndb.de
Thu Feb 21 05:44:51 EST 2013


An architecture should not unconditionally enable 'GENERIC_GPIO'
without providing an implementation. In case of arm64, selecting
ARCH_WANT_OPTIONAL_GPIOLIB is the right solution, because it
lets us enable GPIOLIB when configuring the kernel, and that
implicitly turns on GENERIC_GPIO.

Signed-off-by: Arnd Bergmann <arnd at arndb.de>
----
On Thursday 21 February 2013 10:36:41 Grant Likely wrote:
> > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> > index ab4aa54..3fab0db 100644
> > --- a/arch/arm64/Kconfig
> > +++ b/arch/arm64/Kconfig
> > @@ -3,6 +3,7 @@ config ARM64
> >         select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
> >         select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
> >         select ARCH_WANT_FRAME_POINTERS
> > +       select ARCH_WANT_OPTIONAL_GPIOLIB
> >         select ARM_AMBA
> >         select ARM_ARCH_TIMER
> >         select CLONE_BACKWARDS
> > @@ -92,9 +93,6 @@ config SWIOTLB
> >  config IOMMU_HELPER
> >         def_bool SWIOTLB
> >
> > -config GENERIC_GPIO
> > -       def_bool y
> > -
> >  source "init/Kconfig"
> >
> >  source "kernel/Kconfig.freezer"
> 
> I've not asked Linus to pull the GPIO tree yet because of this issue.
> Can someone please test this on aarch64 and send me a properly
> formatted patch?

It was wrong, the new version below is good though. Tested with defconfig
and allyesconfig on arm64. I found a few more trivial issues with arm64
allyesconfig that I fixed up as well. I'll send separate patches
for those.

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index ab4aa54..38d3f34 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -3,6 +3,7 @@ config ARM64
 	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
 	select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
 	select ARCH_WANT_FRAME_POINTERS
+	select ARCH_WANT_OPTIONAL_GPIOLIB
 	select ARM_AMBA
 	select ARM_ARCH_TIMER
 	select CLONE_BACKWARDS
@@ -93,7 +94,7 @@ config IOMMU_HELPER
 	def_bool SWIOTLB
 
 config GENERIC_GPIO
-	def_bool y
+	bool
 
 source "init/Kconfig"
 



More information about the linux-arm-kernel mailing list