x86/ioapic: Change prototype of acpi_ioapic_add()
Change the argument of acpi_ioapic_add() to a generic ACPI handle, and move its prototype from drivers/acpi/internal.h to include/linux/acpi.h so that it can be called from outside the pci_root driver. Signed-off-by: Rui Wang <rui.y.wang@intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: bhelgaas@google.com Cc: helgaas@kernel.org Cc: linux-acpi@vger.kernel.org Cc: linux-pci@vger.kernel.org Cc: rjw@rjwysocki.net Cc: tony.luck@intel.com Link: http://lkml.kernel.org/r/1471420837-31003-2-git-send-email-rui.y.wang@intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Родитель
31b02dd718
Коммит
fe7bd58f5d
|
@ -40,10 +40,8 @@ int acpi_sysfs_init(void);
|
||||||
void acpi_container_init(void);
|
void acpi_container_init(void);
|
||||||
void acpi_memory_hotplug_init(void);
|
void acpi_memory_hotplug_init(void);
|
||||||
#ifdef CONFIG_ACPI_HOTPLUG_IOAPIC
|
#ifdef CONFIG_ACPI_HOTPLUG_IOAPIC
|
||||||
int acpi_ioapic_add(struct acpi_pci_root *root);
|
|
||||||
int acpi_ioapic_remove(struct acpi_pci_root *root);
|
int acpi_ioapic_remove(struct acpi_pci_root *root);
|
||||||
#else
|
#else
|
||||||
static inline int acpi_ioapic_add(struct acpi_pci_root *root) { return 0; }
|
|
||||||
static inline int acpi_ioapic_remove(struct acpi_pci_root *root) { return 0; }
|
static inline int acpi_ioapic_remove(struct acpi_pci_root *root) { return 0; }
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ACPI_DOCK
|
#ifdef CONFIG_ACPI_DOCK
|
||||||
|
|
|
@ -189,13 +189,13 @@ exit:
|
||||||
return AE_OK;
|
return AE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int acpi_ioapic_add(struct acpi_pci_root *root)
|
int acpi_ioapic_add(acpi_handle root_handle)
|
||||||
{
|
{
|
||||||
acpi_status status, retval = AE_OK;
|
acpi_status status, retval = AE_OK;
|
||||||
|
|
||||||
status = acpi_walk_namespace(ACPI_TYPE_DEVICE, root->device->handle,
|
status = acpi_walk_namespace(ACPI_TYPE_DEVICE, root_handle,
|
||||||
UINT_MAX, handle_ioapic_add, NULL,
|
UINT_MAX, handle_ioapic_add, NULL,
|
||||||
root->device->handle, (void **)&retval);
|
root_handle, (void **)&retval);
|
||||||
|
|
||||||
return ACPI_SUCCESS(status) && ACPI_SUCCESS(retval) ? 0 : -ENODEV;
|
return ACPI_SUCCESS(status) && ACPI_SUCCESS(retval) ? 0 : -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
|
@ -614,7 +614,7 @@ static int acpi_pci_root_add(struct acpi_device *device,
|
||||||
if (hotadd) {
|
if (hotadd) {
|
||||||
pcibios_resource_survey_bus(root->bus);
|
pcibios_resource_survey_bus(root->bus);
|
||||||
pci_assign_unassigned_root_bus_resources(root->bus);
|
pci_assign_unassigned_root_bus_resources(root->bus);
|
||||||
acpi_ioapic_add(root);
|
acpi_ioapic_add(root->device->handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
pci_lock_rescan_remove();
|
pci_lock_rescan_remove();
|
||||||
|
|
|
@ -751,6 +751,12 @@ static inline int acpi_reconfig_notifier_unregister(struct notifier_block *nb)
|
||||||
|
|
||||||
#endif /* !CONFIG_ACPI */
|
#endif /* !CONFIG_ACPI */
|
||||||
|
|
||||||
|
#ifdef CONFIG_ACPI_HOTPLUG_IOAPIC
|
||||||
|
int acpi_ioapic_add(acpi_handle root);
|
||||||
|
#else
|
||||||
|
static inline int acpi_ioapic_add(acpi_handle root) { return 0; }
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ACPI
|
#ifdef CONFIG_ACPI
|
||||||
void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state,
|
void acpi_os_set_prepare_sleep(int (*func)(u8 sleep_state,
|
||||||
u32 pm1a_ctrl, u32 pm1b_ctrl));
|
u32 pm1a_ctrl, u32 pm1b_ctrl));
|
||||||
|
|
Загрузка…
Ссылка в новой задаче