remarkable-linux/drivers/acpi
Rafael J. Wysocki dee8370cc8 ACPI / PM: Split device wakeup management routines
Two device wakeup management routines in device_pm.c and sleep.c,
acpi_pm_device_run_wake() and acpi_pm_device_sleep_wake(), take a
device pointer argument and use it to obtain the ACPI handle of the
corresponding ACPI namespace node.  That handle is then used to get
the address of the struct acpi_device object corresponding to the
struct device passed as the argument.

Unfortunately, that last operation may be costly, because it involves
taking the global ACPI namespace mutex, so it shouldn't be carried
out too often.  However, the callers of those routines usually call
them in a row with acpi_pm_device_sleep_state() which also takes that
mutex for the same reason, so it would be more efficient if they ran
acpi_bus_get_device() themselves to obtain a pointer to the struct
acpi_device object in question and then passed that pointer to the
appropriate PM routines.

To make that possible, split each of the PM routines mentioned above
in two parts, one taking a struct acpi_device pointer argument and
the other implementing the current interface for compatibility.

Additionally, change acpi_pm_device_run_wake() to actually return
an error code if there is an error while setting up runtime remote
wakeup for the device.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2012-11-15 00:15:17 +01:00
..
acpica ACPICA: Table Manager: Merge duplicate code (root table) 2012-09-21 00:35:12 -04:00
apei ACPI, APEI: Fixup common access width firmware bug 2012-07-14 11:01:42 -04:00
ac.c ACPI / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 13:35:32 +02:00
acpi_ipmi.c
acpi_memhotplug.c ACPI: Add _OST support for ACPI memory hotplug 2012-06-04 01:09:21 -04:00
acpi_pad.c Merge branches 'acpi_pad', 'acpica', 'apei-bugzilla-43282', 'battery', 'cpuidle-coupled', 'cpuidle-tweaks', 'intel_idle-ivb', 'ost', 'red-hat-bz-772730', 'thermal', 'thermal-spear' and 'turbostat-v2' into release 2012-07-26 00:03:58 -04:00
battery.c ACPI / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 13:35:32 +02:00
bgrt.c efi: Fix the ACPI BGRT driver for images located in EFI boot services memory 2012-09-29 12:21:03 -07:00
blacklist.c
bus.c ACPI: run _OSC after ACPI_FULL_INITIALIZATION 2012-09-25 00:15:07 -04:00
button.c ACPI/button: convert to module_acpi_driver() 2012-09-21 13:38:29 -04:00
cm_sbs.c
container.c ACPI: Add _OST support for ACPI container hotplug 2012-06-04 01:09:22 -04:00
custom_method.c
debugfs.c
device_pm.c ACPI / PM: Split device wakeup management routines 2012-11-15 00:15:17 +01:00
dock.c
ec.c ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop 2012-10-06 14:57:33 -04:00
ec_sys.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
event.c
fan.c ACPI/fan: convert to module_acpi_driver() 2012-09-21 13:39:03 -04:00
glue.c ACPI: Fix memory leak in acpi_bind_one() 2012-10-23 00:53:58 +02:00
hed.c ACPI/hed: convert to module_acpi_driver() 2012-09-21 13:39:25 -04:00
internal.h
Kconfig efi: Fix the ACPI BGRT driver for images located in EFI boot services memory 2012-09-29 12:21:03 -07:00
Makefile ACPI / PM: Move routines for adding/removing device wakeup notifiers 2012-11-15 00:15:16 +01:00
numa.c ACPI: Only count valid srat memory structures 2012-08-03 00:15:53 -04:00
nvs.c ACPI / PM: print physical addresses consistently with other parts of kernel 2012-03-30 02:46:57 -04:00
osl.c ACPICA: Remove argument of acpi_os_wait_events_complete 2012-06-01 11:51:53 -04:00
pci_bind.c
pci_irq.c
pci_link.c acpi: use KERN_CONT in printk() continuation lines 2012-05-08 08:55:26 -07:00
pci_root.c Merge branch 'pci/taku-acpi-pci-host-bridge-v3' into next 2012-09-24 16:36:10 -06:00
pci_slot.c PCI/ACPI: Use acpi_pci_root info rather than looking it up again 2012-09-24 15:29:40 -06:00
power.c ACPI / PM: Use KERN_DEBUG when no power resources are found 2012-09-14 20:54:44 +02:00
proc.c ACPI: Allow ACPI binding with USB-3.0 hub 2012-09-21 13:30:29 -04:00
processor_core.c cpufreq / ACPI: Fix not loading acpi-cpufreq driver regression 2012-07-12 22:39:32 +02:00
processor_driver.c ACPI: missing break 2012-10-26 01:05:56 +02:00
processor_idle.c cpuidle / ACPI: fix potential NULL pointer dereference 2012-10-08 22:51:27 -04:00
processor_perflib.c ACPI: Add fixups for AMD P-state figures 2012-09-09 22:05:02 +02:00
processor_thermal.c
processor_throttling.c ACPI throttling: fix endian bug in acpi_read_throttling_status() 2012-03-30 16:06:12 -04:00
reboot.c Revert "ACPI: ignore FADT reset-reg-sup flag" 2012-04-20 11:19:35 -07:00
sbs.c ACPI / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 13:35:32 +02:00
sbshc.c ACPI/sbshc: convert to module_acpi_driver() 2012-09-21 13:39:40 -04:00
sbshc.h
scan.c Merge branches 'acpica', 'acpidump', 'intel-idle', 'misc', 'module_acpi_driver-simplify', 'turbostat' and 'usb3' into release 2012-10-06 16:00:32 -04:00
sleep.c ACPI / PM: Split device wakeup management routines 2012-11-15 00:15:17 +01:00
sleep.h
sysfs.c ACPI: replace strlen("string") with sizeof("string") -1 2012-07-26 21:35:28 -04:00
tables.c ACPI: Harden acpi_table_parse_entries() against BIOS bug 2012-10-06 15:51:49 -04:00
thermal.c Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux into thermal 2012-10-09 01:35:52 -04:00
utils.c ACPI: Use ACPICA native way to decode the PLD buffer 2012-09-21 00:31:33 -04:00
video.c ACPI video: Ignore errors after _DOD evaluation. 2012-11-03 09:52:54 +08:00
video_detect.c acpi/video_detect: blacklist samsung x360 2012-07-28 00:11:48 -04:00
wakeup.c