mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-22 20:23:57 +08:00
of: reserved-memory: Support lookup of regions by name
Add support for looking up memory regions by name. This looks up the given name in the newly introduced memory-region-names property and returns the memory region at the corresponding index in the memory- region(s) property. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
8f3d9f3542
commit
0da0e31600
@ -357,6 +357,25 @@ int of_reserved_mem_device_init_by_idx(struct device *dev,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_reserved_mem_device_init_by_idx);
|
||||
|
||||
/**
|
||||
* of_reserved_mem_device_init_by_name() - assign named reserved memory region
|
||||
* to given device
|
||||
* @dev: pointer to the device to configure
|
||||
* @np: pointer to the device node with 'memory-region' property
|
||||
* @name: name of the selected memory region
|
||||
*
|
||||
* Returns: 0 on success or a negative error-code on failure.
|
||||
*/
|
||||
int of_reserved_mem_device_init_by_name(struct device *dev,
|
||||
struct device_node *np,
|
||||
const char *name)
|
||||
{
|
||||
int idx = of_property_match_string(np, "memory-region-names", name);
|
||||
|
||||
return of_reserved_mem_device_init_by_idx(dev, np, idx);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_reserved_mem_device_init_by_name);
|
||||
|
||||
/**
|
||||
* of_reserved_mem_device_release() - release reserved memory device structures
|
||||
* @dev: Pointer to the device to deconfigure
|
||||
|
@ -33,6 +33,9 @@ typedef int (*reservedmem_of_init_fn)(struct reserved_mem *rmem);
|
||||
|
||||
int of_reserved_mem_device_init_by_idx(struct device *dev,
|
||||
struct device_node *np, int idx);
|
||||
int of_reserved_mem_device_init_by_name(struct device *dev,
|
||||
struct device_node *np,
|
||||
const char *name);
|
||||
void of_reserved_mem_device_release(struct device *dev);
|
||||
|
||||
void fdt_init_reserved_mem(void);
|
||||
@ -45,6 +48,14 @@ static inline int of_reserved_mem_device_init_by_idx(struct device *dev,
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline int of_reserved_mem_device_init_by_name(struct device *dev,
|
||||
struct device_node *np,
|
||||
const char *name)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline void of_reserved_mem_device_release(struct device *pdev) { }
|
||||
|
||||
static inline void fdt_init_reserved_mem(void) { }
|
||||
|
Loading…
Reference in New Issue
Block a user