linux/drivers/acpi
Konrad Rzeszutek Wilk c705c78c0d acpi: Export the acpi_processor_get_performance_info
The git commit d5aaffa9dd
(cpufreq: handle cpufreq being disabled for all exported function)
tightens the cpufreq API by returning errors when disable_cpufreq()
had been called.

The problem we are hitting is that the module xen-acpi-processor which
uses the ACPI's functions: acpi_processor_register_performance,
acpi_processor_preregister_performance, and acpi_processor_notify_smm
fails at acpi_processor_register_performance with -22.

Note that earlier during bootup in arch/x86/xen/setup.c there is also
an call to cpufreq's API: disable_cpufreq().

This is b/c we want the Linux kernel to parse the ACPI data, but leave
the cpufreq decisions to the hypervisor.

In v3.9 all the checks that d5aaffa9dd
added are now hit and the calls to cpufreq_register_notifier will now
fail. This means that acpi_processor_ppc_init ends up printing:

"Warning: Processor Platform Limit not supported"

and the acpi_processor_ppc_status is not set.

The repercussions of that is that the call to
acpi_processor_register_performance fails right away at:

	if (!(acpi_processor_ppc_status & PPC_REGISTERED))

and we don't progress any further on parsing and extracting the _P*
objects.

The only reason the Xen code called that function was b/c it was
exported and the only way to gather the P-states. But we can also
just make acpi_processor_get_performance_info be exported and not
use acpi_processor_register_performance. This patch does so.

Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2013-03-06 10:00:34 -05:00
..
acpica ACPICA: Update predefined info table for _MLS method 2013-01-25 13:30:48 +01:00
apei Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-02-19 17:49:41 -08:00
ac.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
acpi_i2c.c i2c / ACPI: add ACPI enumeration support 2012-11-23 12:23:40 +01:00
acpi_ipmi.c
acpi_memhotplug.c memory-hotplug: remove sysfs file of node 2013-02-23 17:50:13 -08:00
acpi_pad.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
acpi_platform.c ACPI / platform: Use struct acpi_scan_handler for creating devices 2013-01-30 14:27:40 +01:00
battery.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
bgrt.c
blacklist.c
bus.c ACPI / PM: Move device power management functions to device_pm.c 2013-01-19 22:09:22 +01:00
button.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
cm_sbs.c
container.c ACPI / hotplug: Fix concurrency issues and memory leaks 2013-02-13 14:36:47 +01:00
csrt.c ACPI: add support for CSRT table 2013-01-19 22:16:21 +01:00
custom_method.c ACPI: fix obsolete comment in custom_method.c 2013-01-26 00:34:22 +01:00
debugfs.c
device_pm.c Merge branch 'acpi-scan' 2013-02-11 13:20:02 +01:00
dock.c ACPI / hotplug: Fix concurrency issues and memory leaks 2013-02-13 14:36:47 +01:00
ec_sys.c
ec.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
event.c
fan.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
glue.c Merge branch 'acpi-assorted' 2013-02-15 13:58:43 +01:00
hed.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
internal.h ACPI / scan: Make container driver use struct acpi_scan_handler 2013-02-13 13:43:01 +01:00
Kconfig Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
Makefile ACPI: add support for CSRT table 2013-01-19 22:16:21 +01:00
numa.c acpi, memory-hotplug: parse SRAT before memblock is ready 2013-02-23 17:50:14 -08:00
nvs.c
osl.c Merge branch 'pm-assorted' 2013-02-15 13:58:54 +01:00
pci_irq.c PCI changes for the v3.8 merge window: 2012-12-13 12:14:47 -08:00
pci_link.c ACPI / PCI: Make PCI IRQ link driver use struct acpi_scan_handler 2013-01-30 14:27:37 +01:00
pci_root.c ACPI / PCI: Make PCI root driver use struct acpi_scan_handler 2013-01-30 14:27:33 +01:00
pci_slot.c ACPI / PCI: pci_slot: replace printk(KERN_xxx) with pr_xxx() 2013-02-13 13:41:38 +01:00
power.c ACPI / PM: Fix consistency check for power resources during resume 2013-01-25 21:51:57 +01:00
proc.c ACPI / PM: Fix /proc/acpi/wakeup for devices w/o bus or parent 2013-01-27 21:40:11 +01:00
processor_core.c
processor_driver.c cpu-hotplug, memory-hotplug: try offlining the node when hotremoving a cpu 2013-02-23 17:50:13 -08:00
processor_idle.c Merge branch 'misc' into release 2013-02-18 00:25:53 -05:00
processor_perflib.c acpi: Export the acpi_processor_get_performance_info 2013-03-06 10:00:34 -05:00
processor_thermal.c
processor_throttling.c
reboot.c
resource.c ACPI: remove unnecessary INIT_LIST_HEAD 2012-11-27 13:49:36 +01:00
sbs.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
sbshc.c ACPI: Remove useless type argument of driver .remove() operation 2013-01-26 00:37:24 +01:00
sbshc.h
scan.c Merge branch 'acpi-cleanup' 2013-02-15 13:58:30 +01:00
sleep.c Merge branch 'acpi-assorted' 2013-02-15 13:58:43 +01:00
sleep.h ACPI: Drop power resources driver 2013-01-17 14:11:06 +01:00
sysfs.c ACPI sysfs: remove unnecessary newline from exception 2013-01-26 00:34:21 +01:00
tables.c ACPICA: Cleanup table handler naming conflicts. 2013-01-11 13:10:16 +01:00
thermal.c Merge branch 'acpi-assorted' 2013-02-15 13:58:43 +01:00
utils.c ACPI: Add acpi_handle_<level>() interfaces 2012-11-21 23:20:22 +01:00
video_detect.c ACPI / video: Add "Asus UL30VT" to ACPI video detect blacklist 2012-11-30 13:02:50 +01:00
video.c Merge branch 'acpi-assorted' 2013-02-15 13:58:43 +01:00
wakeup.c