aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/Kconfig8
-rw-r--r--drivers/acpi/pci_irq.c9
-rw-r--r--drivers/acpi/pci_link.c3
-rw-r--r--drivers/acpi/video.c7
4 files changed, 19 insertions, 8 deletions
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index ba13896cae40..66c60982ba46 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -154,12 +154,10 @@ config ACPI_PROCESSOR
154 support it. 154 support it.
155 155
156config ACPI_HOTPLUG_CPU 156config ACPI_HOTPLUG_CPU
157 bool "Processor Hotplug (EXPERIMENTAL)" 157 bool
158 depends on ACPI_PROCESSOR && HOTPLUG_CPU && EXPERIMENTAL 158 depends on ACPI_PROCESSOR && HOTPLUG_CPU
159 select ACPI_CONTAINER 159 select ACPI_CONTAINER
160 default n 160 default y
161 ---help---
162 Select this option if your platform support physical CPU hotplug.
163 161
164config ACPI_THERMAL 162config ACPI_THERMAL
165 tristate "Thermal Zone" 163 tristate "Thermal Zone"
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index bb973d2109a1..c885300579ec 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -424,6 +424,7 @@ acpi_pci_irq_enable (
424 int edge_level = ACPI_LEVEL_SENSITIVE; 424 int edge_level = ACPI_LEVEL_SENSITIVE;
425 int active_high_low = ACPI_ACTIVE_LOW; 425 int active_high_low = ACPI_ACTIVE_LOW;
426 char *link = NULL; 426 char *link = NULL;
427 int rc;
427 428
428 ACPI_FUNCTION_TRACE("acpi_pci_irq_enable"); 429 ACPI_FUNCTION_TRACE("acpi_pci_irq_enable");
429 430
@@ -476,7 +477,13 @@ acpi_pci_irq_enable (
476 } 477 }
477 } 478 }
478 479
479 dev->irq = acpi_register_gsi(irq, edge_level, active_high_low); 480 rc = acpi_register_gsi(irq, edge_level, active_high_low);
481 if (rc < 0) {
482 printk(KERN_WARNING PREFIX "PCI Interrupt %s[%c]: failed "
483 "to register GSI\n", pci_name(dev), ('A' + pin));
484 return_VALUE(rc);
485 }
486 dev->irq = rc;
480 487
481 printk(KERN_INFO PREFIX "PCI Interrupt %s[%c] -> ", 488 printk(KERN_INFO PREFIX "PCI Interrupt %s[%c] -> ",
482 pci_name(dev), 'A' + pin); 489 pci_name(dev), 'A' + pin);
diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index 834c2ceff1aa..26aa3829f1de 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -804,8 +804,7 @@ acpi_pci_link_resume(
804 */ 804 */
805int acpi_in_resume; 805int acpi_in_resume;
806static int 806static int
807irqrouter_resume( 807irqrouter_resume(struct sys_device *dev)
808 struct sys_device *dev)
809{ 808{
810 struct list_head *node = NULL; 809 struct list_head *node = NULL;
811 struct acpi_pci_link *link = NULL; 810 struct acpi_pci_link *link = NULL;
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 2cf264fd52e0..7b10a7b070c9 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -1665,6 +1665,7 @@ static int
1665acpi_video_bus_put_one_device( 1665acpi_video_bus_put_one_device(
1666 struct acpi_video_device *device) 1666 struct acpi_video_device *device)
1667{ 1667{
1668 acpi_status status;
1668 struct acpi_video_bus *video; 1669 struct acpi_video_bus *video;
1669 1670
1670 ACPI_FUNCTION_TRACE("acpi_video_bus_put_one_device"); 1671 ACPI_FUNCTION_TRACE("acpi_video_bus_put_one_device");
@@ -1679,6 +1680,12 @@ acpi_video_bus_put_one_device(
1679 up(&video->sem); 1680 up(&video->sem);
1680 acpi_video_device_remove_fs(device->dev); 1681 acpi_video_device_remove_fs(device->dev);
1681 1682
1683 status = acpi_remove_notify_handler(device->handle,
1684 ACPI_DEVICE_NOTIFY, acpi_video_device_notify);
1685 if (ACPI_FAILURE(status))
1686 ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
1687 "Error removing notify handler\n"));
1688
1682 return_VALUE(0); 1689 return_VALUE(0);
1683} 1690}
1684 1691