[PATCH] x86_64/acpi: make kernel to be compiled when CONFIG_ACPI_NUMA is set and power management with acpi is not enabled

From: Yinghai Lu
Date: Tue Apr 03 2007 - 23:55:32 EST


please check the patch

YH [PATCH] x86_64/acpi: make kernel to be compiled when CONFIG_ACPI_NUMA is set and power management with acpi is not enabled

when CONFIG_ACPI_NUMA is set, and power management with acpi is not used. the kernel can not be compiled.

drivers/acpi/bus.c: In function â??acpi_bus_get_powerâ??:
drivers/acpi/bus.c:160: warning: implicit declaration of function â??acpi_power_get_inferred_stateâ??
drivers/acpi/bus.c: In function â??acpi_bus_set_powerâ??:
drivers/acpi/bus.c:230: warning: implicit declaration of function â??acpi_power_transitionâ??
...

drivers/built-in.o: In function `acpi_bus_get_power':
: undefined reference to `acpi_power_get_inferred_state'
drivers/built-in.o: In function `acpi_bus_set_power':
: undefined reference to `acpi_power_transition'
drivers/built-in.o: In function `acpi_bus_set_power':
: undefined reference to `acpi_power_transition'
drivers/built-in.o: In function `acpi_bus_generate_event':

so use CONFIG_ACPI_POWER and CONFIG_ACPI_SYTEM to comment function about set/get power and event.

Signed-off-by: Yinghai Lu <yinghai.lu@xxxxxxx>

diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index dd49ea0..4d06885 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -121,6 +121,7 @@ int acpi_bus_get_status(struct acpi_device *device)

EXPORT_SYMBOL(acpi_bus_get_status);

+#ifdef CONFIG_ACPI_POWER
/* --------------------------------------------------------------------------
Power Management
-------------------------------------------------------------------------- */
@@ -269,7 +270,9 @@ int acpi_bus_set_power(acpi_handle handle, int state)
}

EXPORT_SYMBOL(acpi_bus_set_power);
+#endif

+#ifdef CONFIG_ACPI_SYSTEM
/* --------------------------------------------------------------------------
Event Management
-------------------------------------------------------------------------- */
@@ -358,6 +361,7 @@ int acpi_bus_receive_event(struct acpi_bus_event *event)
}

EXPORT_SYMBOL(acpi_bus_receive_event);
+#endif

/* --------------------------------------------------------------------------
Notification Handling
diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index a064f36..c2a1ac9 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -255,7 +255,7 @@ static int acpi_pci_choose_state(struct pci_dev *pdev, pm_message_t state)

return -ENODEV;
}
-
+#ifdef CONFIG_ACPI_POWER
static int acpi_pci_set_power_state(struct pci_dev *dev, pci_power_t state)
{
acpi_handle handle = DEVICE_ACPI_HANDLE(&dev->dev);
@@ -272,7 +272,7 @@ static int acpi_pci_set_power_state(struct pci_dev *dev, pci_power_t state)
return -ENODEV;
return acpi_bus_set_power(handle, acpi_state);
}
-
+#endif

/* ACPI bus type */
static int acpi_pci_find_device(struct device *dev, acpi_handle *handle)
@@ -321,7 +321,9 @@ static int __init acpi_pci_init(void)
if (ret)
return 0;
platform_pci_choose_state = acpi_pci_choose_state;
+#ifdef CONFIG_ACPI_POWER
platform_pci_set_power_state = acpi_pci_set_power_state;
+#endif
return 0;
}
arch_initcall(acpi_pci_init);