Thread (13 messages) 13 messages, 6 authors, 2018-10-10

[PATCH v3 1/2] Driver core: add bus_find_device_by_fwnode

From: mathieu.poirier@linaro.org (Mathieu Poirier)
Date: 2018-10-09 17:48:34
Also in: linux-devicetree, linux-i2c, linux-rdma, linux-spi, lkml, netdev

On Tue, 9 Oct 2018 at 11:39, Rafael J. Wysocki [off-list ref] wrote:
On Tue, Oct 9, 2018 at 7:27 PM Mathieu Poirier
[off-list ref] wrote:
quoted
Hi Silesh,

On Tue, Oct 09, 2018 at 03:47:24PM +0530, Silesh C V wrote:
quoted
Some drivers need to find the device on a bus having a specific firmware
node. Currently, such drivers have their own implementations to do this.
Provide a helper similar to bus_find_device_by_name so that each driver
does not have to reinvent this.

Signed-off-by: Silesh C V <redacted>
---
Changes since v2:
      - make use of dev_fwnode in match_fwnode.

 drivers/base/bus.c     | 20 ++++++++++++++++++++
 include/linux/device.h |  3 +++
 2 files changed, 23 insertions(+)
diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index 8bfd27e..a2f39db 100644
--- a/drivers/base/bus.c
+++ b/drivers/base/bus.c
@@ -17,6 +17,7 @@
 #include <linux/string.h>
 #include <linux/mutex.h>
 #include <linux/sysfs.h>
+#include <linux/property.h>
 #include "base.h"
 #include "power/power.h"
@@ -373,6 +374,25 @@ struct device *bus_find_device_by_name(struct bus_type *bus,
 }
 EXPORT_SYMBOL_GPL(bus_find_device_by_name);

+static int match_fwnode(struct device *dev, void *fwnode)
+{
+     return dev_fwnode(dev) == fwnode;
+}
+
+/**
+ * bus_find_device_by_fwnode - device iterator for locating a particular device
+ * having a specific firmware node
+ * @bus: bus type
+ * @start: Device to begin with
+ * @fwnode: firmware node of the device to match
+ */
+struct device *bus_find_device_by_fwnode(struct bus_type *bus, struct device *start,
+                                     struct fwnode_handle *fwnode)
I get the following when running checkpatch on your set:

mpoirier at xps15:~/work/linaro/coresight/kernel-maint$ ./scripts/checkpatch.pl
0001-Driver-core-add-bus_find_device_by_fwnode.patch
WARNING: line over 80 characters
Lines longer than 80 chars often are legitimate.  No need to send
extra reports about those cases in general.
In this case I don't see a reason not to abide to the guideline.
Wrapping the function declaration to 80 characters would be easy
without effecting code readability.

Mathieu
Thanks,
Rafael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help