mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
resources: Move struct resource_list_entry from ACPI into resource core
Currently ACPI, PCI and pnp all implement the same resource list management with different data structure. We need to transfer from one data structure into another when passing resources from one subsystem into another subsystem. So move struct resource_list_entry from ACPI into resource core and rename it as resource_entry, then it could be reused by different subystems and avoid the data structure conversion. Introduce dedicated header file resource_ext.h instead of embedding it into ioport.h to avoid header file inclusion order issues. Signed-off-by: Jiang Liu <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
This commit is contained in:
parent
62d1141ff3
commit
90e9782061
7 changed files with 120 additions and 33 deletions
|
|
@ -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"))
|
||||
|
|
|
|||
Loading…
Reference in a new issue