arch/x86/Kconfig | 1 + sound/pci/Kconfig | 1 + 2 files changed, 2 insertions(+)
From: Arnd Bergmann <arnd@arndb.de>
The OLPC GPIO controller sets up a fixed number space that is used
by at least two drivers:
arch/x86/platform/olpc/olpc-xo1-sci.c: In function 'setup_ec_sci':
arch/x86/platform/olpc/olpc-xo1-sci.c:358:13: error: implicit declaration of function 'gpio_request' [-Wimplicit-function-declaration]
358 | r = gpio_request(OLPC_GPIO_ECSCI, "OLPC-ECSCI");
| ^~~~~~~~~~~~
sound/pci/cs5535audio/cs5535audio_olpc.c: In function 'olpc_analog_input':
sound/pci/cs5535audio/cs5535audio_olpc.c:41:9: error: implicit declaration of function 'gpio_set_value'; did you mean 'gpiod_set_value'? [-Wimplicit-function-declaration]
41 | gpio_set_value(OLPC_GPIO_MIC_AC, on);
Select CONFIG_GPIOLIB_LEGACY for this platform and make sure the
sound driver portion cannot be compiled without this.
Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/x86/Kconfig | 1 +
sound/pci/Kconfig | 1 +
2 files changed, 2 insertions(+)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f3f7cb01d69d..5ada2c108f4a 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -3022,6 +3022,7 @@ config OLPC
bool "One Laptop Per Child support"
depends on !X86_PAE
select GPIOLIB
+ select GPIOLIB_LEGACY
select OF
select OF_PROMTREE
select IRQ_DOMAIN
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
index e0996a9d90b0..6366f72b3667 100644
--- a/sound/pci/Kconfig
+++ b/sound/pci/Kconfig
@@ -300,6 +300,7 @@ config SND_CS5535AUDIO
tristate "CS5535/CS5536 Audio"
depends on X86_32 || MIPS || COMPILE_TEST
depends on HAS_IOPORT
+ depends on GPIOLIB_LEGACY || !OLPC
select SND_PCM
select SND_AC97_CODEC
help
--
2.39.5
On Mon, 27 Apr 2026 16:43:05 +0200, Arnd Bergmann <arnd@kernel.org> said: > From: Arnd Bergmann <arnd@arndb.de> > > The OLPC GPIO controller sets up a fixed number space that is used > by at least two drivers: > > arch/x86/platform/olpc/olpc-xo1-sci.c: In function 'setup_ec_sci': > arch/x86/platform/olpc/olpc-xo1-sci.c:358:13: error: implicit declaration of function 'gpio_request' [-Wimplicit-function-declaration] > 358 | r = gpio_request(OLPC_GPIO_ECSCI, "OLPC-ECSCI"); > | ^~~~~~~~~~~~ > sound/pci/cs5535audio/cs5535audio_olpc.c: In function 'olpc_analog_input': > sound/pci/cs5535audio/cs5535audio_olpc.c:41:9: error: implicit declaration of function 'gpio_set_value'; did you mean 'gpiod_set_value'? [-Wimplicit-function-declaration] > 41 | gpio_set_value(OLPC_GPIO_MIC_AC, on); > > Select CONFIG_GPIOLIB_LEGACY for this platform and make sure the > sound driver portion cannot be compiled without this. > > Acked-by: Borislav Petkov (AMD) <bp@alien8.de> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
On Mon, 27 Apr 2026 16:43:05 +0200, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > The OLPC GPIO controller sets up a fixed number space that is used > by at least two drivers: > > arch/x86/platform/olpc/olpc-xo1-sci.c: In function 'setup_ec_sci': > arch/x86/platform/olpc/olpc-xo1-sci.c:358:13: error: implicit declaration of function 'gpio_request' [-Wimplicit-function-declaration] > 358 | r = gpio_request(OLPC_GPIO_ECSCI, "OLPC-ECSCI"); > | ^~~~~~~~~~~~ > sound/pci/cs5535audio/cs5535audio_olpc.c: In function 'olpc_analog_input': > sound/pci/cs5535audio/cs5535audio_olpc.c:41:9: error: implicit declaration of function 'gpio_set_value'; did you mean 'gpiod_set_value'? [-Wimplicit-function-declaration] > 41 | gpio_set_value(OLPC_GPIO_MIC_AC, on); > > Select CONFIG_GPIOLIB_LEGACY for this platform and make sure the > sound driver portion cannot be compiled without this. > > Acked-by: Borislav Petkov (AMD) <bp@alien8.de> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > arch/x86/Kconfig | 1 + > sound/pci/Kconfig | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index f3f7cb01d69d..5ada2c108f4a 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -3022,6 +3022,7 @@ config OLPC > bool "One Laptop Per Child support" > depends on !X86_PAE > select GPIOLIB > + select GPIOLIB_LEGACY > select OF > select OF_PROMTREE > select IRQ_DOMAIN > diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig > index e0996a9d90b0..6366f72b3667 100644 > --- a/sound/pci/Kconfig > +++ b/sound/pci/Kconfig > @@ -300,6 +300,7 @@ config SND_CS5535AUDIO > tristate "CS5535/CS5536 Audio" > depends on X86_32 || MIPS || COMPILE_TEST > depends on HAS_IOPORT > + depends on GPIOLIB_LEGACY || !OLPC > select SND_PCM > select SND_AC97_CODEC > help Acked-by: Takashi Iwai <tiwai@suse.de> thanks, Takashi
On Mon, Apr 27, 2026 at 4:43 PM Arnd Bergmann <arnd@kernel.org> wrote: > From: Arnd Bergmann <arnd@arndb.de> > > The OLPC GPIO controller sets up a fixed number space that is used > by at least two drivers: > > arch/x86/platform/olpc/olpc-xo1-sci.c: In function 'setup_ec_sci': > arch/x86/platform/olpc/olpc-xo1-sci.c:358:13: error: implicit declaration of function 'gpio_request' [-Wimplicit-function-declaration] > 358 | r = gpio_request(OLPC_GPIO_ECSCI, "OLPC-ECSCI"); > | ^~~~~~~~~~~~ > sound/pci/cs5535audio/cs5535audio_olpc.c: In function 'olpc_analog_input': > sound/pci/cs5535audio/cs5535audio_olpc.c:41:9: error: implicit declaration of function 'gpio_set_value'; did you mean 'gpiod_set_value'? [-Wimplicit-function-declaration] > 41 | gpio_set_value(OLPC_GPIO_MIC_AC, on); > > Select CONFIG_GPIOLIB_LEGACY for this platform and make sure the > sound driver portion cannot be compiled without this. > > Acked-by: Borislav Petkov (AMD) <bp@alien8.de> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Linus Walleij <linusw@kernel.org> I started to try to fix up this driver but it's such a mess. I feel the OLPC XO1 support needs to be deleted unless someone steps up to actually test and maintain it. Yours, Linus Walleij
© 2016 - 2026 Red Hat, Inc.