|
@@ -826,6 +826,28 @@ int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base)
|
|
|
}
|
|
|
EXPORT_SYMBOL(acpi_unregister_ioapic);
|
|
|
|
|
|
+/**
|
|
|
+ * acpi_ioapic_registered - Check whether IOAPIC assoicatied with @gsi_base
|
|
|
+ * has been registered
|
|
|
+ * @handle: ACPI handle of the IOAPIC deivce
|
|
|
+ * @gsi_base: GSI base associated with the IOAPIC
|
|
|
+ *
|
|
|
+ * Assume caller holds some type of lock to serialize acpi_ioapic_registered()
|
|
|
+ * with acpi_register_ioapic()/acpi_unregister_ioapic().
|
|
|
+ */
|
|
|
+int acpi_ioapic_registered(acpi_handle handle, u32 gsi_base)
|
|
|
+{
|
|
|
+ int ret = 0;
|
|
|
+
|
|
|
+#ifdef CONFIG_ACPI_HOTPLUG_IOAPIC
|
|
|
+ mutex_lock(&acpi_ioapic_lock);
|
|
|
+ ret = mp_ioapic_registered(gsi_base);
|
|
|
+ mutex_unlock(&acpi_ioapic_lock);
|
|
|
+#endif
|
|
|
+
|
|
|
+ return ret;
|
|
|
+}
|
|
|
+
|
|
|
static int __init acpi_parse_sbf(struct acpi_table_header *table)
|
|
|
{
|
|
|
struct acpi_table_boot *sb;
|