lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1494280788-9588-1-git-send-email-jon.mason@broadcom.com>
Date:   Mon,  8 May 2017 17:59:48 -0400
From:   Jon Mason <jon.mason@...adcom.com>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:     linux-kernel@...r.kernel.org, bcm-kernel-feedback-list@...adcom.com
Subject: [PATCH] driver core: platform: Add ability to find resource by name or index

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@...il.com>
Signed-off-by: Jon Mason <jon.mason@...adcom.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ