aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/acpi.h
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-02-10 10:05:16 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-02-10 10:05:16 -0500
commit8fbcf5ecb336eb6da560f08d60e95b51d318795c (patch)
tree77a1b947838d60edd0e81d37327985de2e842b68 /include/linux/acpi.h
parentd23209680291dad6c79f1a6f187697c3884d554d (diff)
parent5c493df25a0d9e0c3bda742250ecfc5953bf4ccd (diff)
Merge branch 'acpi-resources'
* acpi-resources: (23 commits) Merge branch 'pci/host-generic' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci into acpi-resources x86/irq, ACPI: Implement ACPI driver to support IOAPIC hotplug ACPI: Add interfaces to parse IOAPIC ID for IOAPIC hotplug x86/PCI: Refine the way to release PCI IRQ resources x86/PCI/ACPI: Use common ACPI resource interfaces to simplify implementation x86/PCI: Fix the range check for IO resources PCI: Use common resource list management code instead of private implementation resources: Move struct resource_list_entry from ACPI into resource core ACPI: Introduce helper function acpi_dev_filter_resource_type() ACPI: Add field offset to struct resource_list_entry ACPI: Translate resource into master side address for bridge window resources ACPI: Return translation offset when parsing ACPI address space resources ACPI: Enforce stricter checks for address space descriptors ACPI: Set flag IORESOURCE_UNSET for unassigned resources ACPI: Normalize return value of resource parser functions ACPI: Fix a bug in parsing ACPI Memory24 resource ACPI: Add prefetch decoding to the address space parser ACPI: Move the window flag logic to the combined parser ACPI: Unify the parsing of address_space and ext_address_space ACPI: Let the parser return false for disabled resources ...
Diffstat (limited to 'include/linux/acpi.h')
-rw-r--r--include/linux/acpi.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index d459cd17b477..24c7aa8b1d20 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -27,6 +27,7 @@
27 27
28#include <linux/errno.h> 28#include <linux/errno.h>
29#include <linux/ioport.h> /* for struct resource */ 29#include <linux/ioport.h> /* for struct resource */
30#include <linux/resource_ext.h>
30#include <linux/device.h> 31#include <linux/device.h>
31#include <linux/property.h> 32#include <linux/property.h>
32 33
@@ -151,6 +152,10 @@ int acpi_map_cpu(acpi_handle handle, int physid, int *pcpu);
151int acpi_unmap_cpu(int cpu); 152int acpi_unmap_cpu(int cpu);
152#endif /* CONFIG_ACPI_HOTPLUG_CPU */ 153#endif /* CONFIG_ACPI_HOTPLUG_CPU */
153 154
155#ifdef CONFIG_ACPI_HOTPLUG_IOAPIC
156int acpi_get_ioapic_id(acpi_handle handle, u32 gsi_base, u64 *phys_addr);
157#endif
158
154int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base); 159int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base);
155int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base); 160int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base);
156int acpi_ioapic_registered(acpi_handle handle, u32 gsi_base); 161int acpi_ioapic_registered(acpi_handle handle, u32 gsi_base);
@@ -288,22 +293,25 @@ extern int pnpacpi_disabled;
288bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res); 293bool acpi_dev_resource_memory(struct acpi_resource *ares, struct resource *res);
289bool acpi_dev_resource_io(struct acpi_resource *ares, struct resource *res); 294bool acpi_dev_resource_io(struct acpi_resource *ares, struct resource *res);
290bool acpi_dev_resource_address_space(struct acpi_resource *ares, 295bool acpi_dev_resource_address_space(struct acpi_resource *ares,
291 struct resource *res); 296 struct resource_win *win);
292bool acpi_dev_resource_ext_address_space(struct acpi_resource *ares, 297bool acpi_dev_resource_ext_address_space(struct acpi_resource *ares,
293 struct resource *res); 298 struct resource_win *win);
294unsigned long acpi_dev_irq_flags(u8 triggering, u8 polarity, u8 shareable); 299unsigned long acpi_dev_irq_flags(u8 triggering, u8 polarity, u8 shareable);
295bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index, 300bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index,
296 struct resource *res); 301 struct resource *res);
297 302
298struct resource_list_entry {
299 struct list_head node;
300 struct resource res;
301};
302
303void acpi_dev_free_resource_list(struct list_head *list); 303void acpi_dev_free_resource_list(struct list_head *list);
304int acpi_dev_get_resources(struct acpi_device *adev, struct list_head *list, 304int acpi_dev_get_resources(struct acpi_device *adev, struct list_head *list,
305 int (*preproc)(struct acpi_resource *, void *), 305 int (*preproc)(struct acpi_resource *, void *),
306 void *preproc_data); 306 void *preproc_data);
307int acpi_dev_filter_resource_type(struct acpi_resource *ares,
308 unsigned long types);
309
310static inline int acpi_dev_filter_resource_type_cb(struct acpi_resource *ares,
311 void *arg)
312{
313 return acpi_dev_filter_resource_type(ares, (unsigned long)arg);
314}
307 315
308int acpi_check_resource_conflict(const struct resource *res); 316int acpi_check_resource_conflict(const struct resource *res);
309 317