linux/include
Rafael J. Wysocki 8e345c991c ACPI: Centralized processing of ACPI device resources
Currently, whoever wants to use ACPI device resources has to call
acpi_walk_resources() to browse the buffer returned by the _CRS
method for the given device and create filters passed to that
routine to apply to the individual resource items.  This generally
is cumbersome, time-consuming and inefficient.  Moreover, it may
be problematic if resource conflicts need to be resolved, because
the different users of _CRS will need to do that in a consistent
way.  However, if there are resource conflicts, the ACPI core
should be able to resolve them centrally instead of relying on
various users of acpi_walk_resources() to handle them correctly
together.

For this reason, introduce a new function, acpi_dev_get_resources(),
that can be used by subsystems to obtain a list of struct resource
objects corresponding to the ACPI device resources returned by
_CRS and, if necessary, to apply additional preprocessing routine
to the ACPI resources before converting them to the struct resource
format.

Make the ACPI code that creates platform device objects use
acpi_dev_get_resources() for resource processing instead of executing
acpi_walk_resources() twice by itself, which causes it to be much
more straightforward and easier to follow.

In the future, acpi_dev_get_resources() can be extended to meet
the needs of the ACPI PNP subsystem and other users of _CRS in
the kernel.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2012-11-15 00:30:21 +01:00
..
acpi driver core / ACPI: Move ACPI support to core device and driver types 2012-11-15 00:28:00 +01:00
asm-generic UAPI: Remove empty non-UAPI Kbuild files 2012-10-17 12:31:15 +01:00
clocksource arm64: Generic timers support 2012-09-17 13:42:20 +01:00
crypto Merge branch 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux 2012-10-14 13:39:34 -07:00
drm drm/radeon: add some new SI PCI ids 2012-10-23 10:23:49 -04:00
keys KEYS: Asymmetric key pluggable data parsers 2012-10-08 13:50:13 +10:30
linux ACPI: Centralized processing of ACPI device resources 2012-11-15 00:30:21 +01:00
math-emu
media Merge branch 'exynos-drm-next' of git://git.infradead.org/users/kmpark/linux-samsung into drm-next 2012-10-07 21:06:33 +10:00
memory
misc
net Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 2012-10-29 14:14:48 -04:00
pcmcia
ras
rdma infiniband: pass rdma_cm module to netlink_dump_start 2012-10-07 00:30:56 -04:00
rxrpc
scsi SCSI misc on 20121012 2012-10-13 10:57:01 +09:00
sound ALSA: Add a reference counter to card instance 2012-10-30 11:07:10 +01:00
target target: Add target_submit_cmd_map_sgls for SGL fabric memory passthrough 2012-10-02 14:16:08 -07:00
trace xen/mmu: Use Xen specific TLB flush instead of the generic one. 2012-10-31 12:38:31 -04:00
uapi revert "epoll: support for disabling items, and a self-test app" 2012-11-09 06:41:46 +01:00
video fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
xen Bug-fixes: 2012-11-10 06:56:21 +01:00
Kbuild UAPI: Remove empty non-UAPI Kbuild files 2012-10-17 12:31:15 +01:00