diff options
author | Juergen Gross <jgross@suse.com> | 2016-10-12 13:11:45 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2016-10-12 21:44:04 +0200 |
commit | e311404f7925f6879817ebf471651c0bb5935604 (patch) | |
tree | f2387d44cbf4ca1981fa4f023a7ad9dd0c7dcc7f | |
parent | c8d2bc9bc39ebea8437fd974fdbc21847bb897a3 (diff) |
ACPI / PAD: don't register acpi_pad driver if running as Xen dom0
When running as Xen dom0 a special processor_aggregator driver is
needed. Don't register the standard driver in this case.
Without that check an error message:
"Error: Driver 'processor_aggregator' is already registered,
aborting..."
will be displayed.
Signed-off-by: Juergen Gross <jgross@suse.com>
[ rjw: Minor fixups ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/acpi/acpi_pad.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/acpi/acpi_pad.c b/drivers/acpi/acpi_pad.c index 8ea8211b2d58..eb76a4c10dbf 100644 --- a/drivers/acpi/acpi_pad.c +++ b/drivers/acpi/acpi_pad.c @@ -26,6 +26,7 @@ #include <linux/slab.h> #include <linux/acpi.h> #include <asm/mwait.h> +#include <xen/xen.h> #define ACPI_PROCESSOR_AGGREGATOR_CLASS "acpi_pad" #define ACPI_PROCESSOR_AGGREGATOR_DEVICE_NAME "Processor Aggregator" @@ -477,6 +478,10 @@ static struct acpi_driver acpi_pad_driver = { static int __init acpi_pad_init(void) { + /* Xen ACPI PAD is used when running as Xen Dom0. */ + if (xen_initial_domain()) + return -ENODEV; + power_saving_mwait_init(); if (power_saving_mwait_eax == 0) return -EINVAL; |