2010-02-17 09:43:13

by Daniel Mack

[permalink] [raw]
Subject: [PATCH] nouveau: fix undefined reference to acpi_lid_open

Fix the following compile time error:

drivers/built-in.o: In function `nouveau_connector_detect':
/home/daniel/src/linux/jup/linux-2.6/drivers/gpu/drm/nouveau/nouveau_connector.c:243: undefined reference to `acpi_lid_open'

Signed-off-by: Daniel Mack <[email protected]>
Cc: David Airlie <[email protected]>
Cc: Ben Skeggs <[email protected]>
Cc: Francisco Jerez <[email protected]>
Cc: Maarten Maathuis <[email protected]>
Cc: Xavier Chantry <[email protected]>
Cc: Marcin Slusarz <[email protected]>
Cc: [email protected]
---
drivers/gpu/drm/nouveau/nouveau_connector.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index d2f6335..c74d45d 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -239,7 +239,7 @@ nouveau_connector_detect(struct drm_connector *connector)
if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)
nv_encoder = find_encoder_by_type(connector, OUTPUT_LVDS);
if (nv_encoder && nv_connector->native_mode) {
-#ifdef CONFIG_ACPI
+#ifdef CONFIG_ACPI_BUTTON
if (!nouveau_ignorelid && !acpi_lid_open())
return connector_status_disconnected;
#endif
--
1.6.5.2


2010-02-17 22:06:15

by Marcin Slusarz

[permalink] [raw]
Subject: Re: [PATCH] nouveau: fix undefined reference to acpi_lid_open

On Wed, Feb 17, 2010 at 10:42:43AM +0100, Daniel Mack wrote:
> Fix the following compile time error:
>
> drivers/built-in.o: In function `nouveau_connector_detect':
> /home/daniel/src/linux/jup/linux-2.6/drivers/gpu/drm/nouveau/nouveau_connector.c:243: undefined reference to `acpi_lid_open'
>
> Signed-off-by: Daniel Mack <[email protected]>
> Cc: David Airlie <[email protected]>
> Cc: Ben Skeggs <[email protected]>
> Cc: Francisco Jerez <[email protected]>
> Cc: Maarten Maathuis <[email protected]>
> Cc: Xavier Chantry <[email protected]>
> Cc: Marcin Slusarz <[email protected]>
> Cc: [email protected]
> ---
> drivers/gpu/drm/nouveau/nouveau_connector.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
> index d2f6335..c74d45d 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_connector.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
> @@ -239,7 +239,7 @@ nouveau_connector_detect(struct drm_connector *connector)
> if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)
> nv_encoder = find_encoder_by_type(connector, OUTPUT_LVDS);
> if (nv_encoder && nv_connector->native_mode) {
> -#ifdef CONFIG_ACPI
> +#ifdef CONFIG_ACPI_BUTTON
> if (!nouveau_ignorelid && !acpi_lid_open())
> return connector_status_disconnected;
> #endif
> --

You are fixing CONFIG_ACPI_BUTTON=m vs CONFIG_DRM_NOUVEAU=y compilation,
but breaking runtime behaviour of CONFIG_ACPI_BUTTON=m + CONFIG_DRM_NOUVEAU=m.

I think this code should be compiled when:
#if defined(CONFIG_ACPI_BUTTON) || (defined(CONFIG_ACPI_BUTTON_MODULE) && defined(CONFIG_DRM_NOUVEAU_MODULE))

Marcin