Messages in this thread Patch in this message | | | From | Jon Mason <> | Subject | [PATCH] driver core: platform: Add ability to find resource by name or index | Date | Mon, 8 May 2017 17:59:48 -0400 |
| |
It is not always possible to find a resource via the name. This may be due to using previous versions of device tree without the names or using ACPI. To allow for resources to be discovered by either the name or the index, a wrapper was created. It attempts to find the resource via name, and if unable to find the resource, will then attempt to find the resource via index.
Suggested-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Jon Mason <jon.mason@broadcom.com> --- include/linux/platform_device.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h index 98c2a7c7108e..0f42e9cf96de 100644 --- a/include/linux/platform_device.h +++ b/include/linux/platform_device.h @@ -59,6 +59,21 @@ extern struct resource *platform_get_resource_byname(struct platform_device *, extern int platform_get_irq_byname(struct platform_device *, const char *); extern int platform_add_devices(struct platform_device **, int); +static inline struct resource * +platform_get_resource_by_name_or_index(struct platform_device *dev, + unsigned int type, + const char *name, + unsigned int num) +{ + struct resource *r; + + r = platform_get_resource_byname(dev, type, name); + if (r) + return r; + + return platform_get_resource(dev, type, num); +} + struct platform_device_info { struct device *parent; struct fwnode_handle *fwnode; -- 2.7.4
| |