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 ...
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include <linux/device.h>
|
||||
#include <linux/pfn.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/resource_ext.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
|
||||
@@ -1529,6 +1530,30 @@ int iomem_is_exclusive(u64 addr)
|
||||
return err;
|
||||
}
|
||||
|
||||
struct resource_entry *resource_list_create_entry(struct resource *res,
|
||||
size_t extra_size)
|
||||
{
|
||||
struct resource_entry *entry;
|
||||
|
||||
entry = kzalloc(sizeof(*entry) + extra_size, GFP_KERNEL);
|
||||
if (entry) {
|
||||
INIT_LIST_HEAD(&entry->node);
|
||||
entry->res = res ? res : &entry->__res;
|
||||
}
|
||||
|
||||
return entry;
|
||||
}
|
||||
EXPORT_SYMBOL(resource_list_create_entry);
|
||||
|
||||
void resource_list_free(struct list_head *head)
|
||||
{
|
||||
struct resource_entry *entry, *tmp;
|
||||
|
||||
list_for_each_entry_safe(entry, tmp, head, node)
|
||||
resource_list_destroy_entry(entry);
|
||||
}
|
||||
EXPORT_SYMBOL(resource_list_free);
|
||||
|
||||
static int __init strict_iomem(char *str)
|
||||
{
|
||||
if (strstr(str, "relaxed"))
|
||||
|
Reference in New Issue
Block a user