Re: [PATCH v2 05/11] x86, olpc: Add XO-1 SCI driver and powerbutton control

From: Andres Salomon
Date: Fri Jun 17 2011 - 20:53:28 EST


On Thu, 9 Jun 2011 21:05:30 +0100
Daniel Drake <dsd@xxxxxxxxxx> wrote:

> The System Control Interrupt is used in the OLPC XO-1 to control
> various features of the laptop. Add the driver base and the power
> button functionality.
>
> This driver can't be built as a module, because functionality added in
> future patches means that some drivers need to know at boot-time
> whether SCI-based functionality is available.
>
> Signed-off-by: Daniel Drake <dsd@xxxxxxxxxx>
> Acked-by: Andres Salomon <dilinger@xxxxxxxxxx>
> ---
> arch/x86/Kconfig | 7 ++
> arch/x86/platform/olpc/Makefile | 1 +
> arch/x86/platform/olpc/olpc-xo1-sci.c | 191
> +++++++++++++++++++++++++++++++++
> include/linux/cs5535.h | 8 ++ 4 files changed, 207
> insertions(+), 0 deletions(-) create mode 100644
> arch/x86/platform/olpc/olpc-xo1-sci.c
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index c9cdd7b..fb9d136 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -2079,6 +2079,13 @@ config OLPC_XO1_PM
> ---help---
> Add support for poweroff and suspend of the OLPC XO-1
> laptop.
> +config OLPC_XO1_SCI
> + bool "OLPC XO-1 SCI extras"
> + depends on OLPC && OLPC_XO1_PM
> + ---help---


FYI, I just hit the following:

arch/x86/built-in.o: In function `xo1_pm_probe':
olpc-xo1-pm.c:(.devinit.text+0x105): undefined reference to
`mfd_cell_enable'
arch/x86/built-in.o: In function `xo1_sci_probe':
olpc-xo1-sci.c:(.devinit.text+0x1c1): undefined reference to
`mfd_cell_enable'
olpc-xo1-sci.c:(.devinit.text+0x3e6): undefined reference to
`cs5535_gpio_clear'


This is due to mfd-core and cs5535-gpio being built as modules, while
the olpc-xo1-sci stuff is built in. The following patch will fix that.



From: Andres Salomon <dilinger@xxxxxxxxxx>
Subject: [PATCH] x86, olpc: fix build problems in xo1-sci and xo1-pm drivers

If one builds gpio-cs5535 and mfd-core as modular, the olpc-xo1-{sci,pm}
drivers will fail to build due to missing symbols. This fixes that by
forcing them to be built into the kernel rather than allowing them to
be modular.

Signed-off-by: Andres Salomon <dilinger@xxxxxxxxxx>
---
arch/x86/Kconfig | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 2a224ec..8af5ba8 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2076,6 +2076,7 @@ config OLPC
config OLPC_XO1_PM
bool "OLPC XO-1 Power Management"
depends on OLPC && MFD_CS5535 && PM_SLEEP
+ select MFD_CORE
---help---
Add support for poweroff and suspend of the OLPC XO-1 laptop.

@@ -2089,6 +2090,8 @@ config OLPC_XO1_RTC
config OLPC_XO1_SCI
bool "OLPC XO-1 SCI extras"
depends on OLPC && OLPC_XO1_PM && POWER_SUPPLY
+ select GPIO_CS5535
+ select MFD_CORE
---help---
Add support for SCI-based features of the OLPC XO-1 laptop:
- EC-driven system wakeups
--
1.7.2.5


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/