All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Mack <daniel@zonque.org>
To: zbr@ioremap.net, robh+dt@kernel.org, mark.rutland@arm.com,
	szabolcs.gyurko@tlt.hu
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	Daniel Mack <daniel@zonque.org>
Subject: [PATCH RFC 2/4] w1: core: match sub-nodes of bus masters in devicetree
Date: Tue, 19 Jun 2018 23:27:42 +0200	[thread overview]
Message-ID: <20180619212744.794-3-daniel@zonque.org> (raw)
In-Reply-To: <20180619212744.794-1-daniel@zonque.org>

Once a new slave device is detected, match it against all sub-nodes of the
master bus controller. If a match is found, set the slave device's of_node
pointer.

This alone can already be used by slave device implementations to obtain
more properties from devicetree.

Another use-case is introduced in the next patch.

Signed-off-by: Daniel Mack <daniel@zonque.org>
---
 drivers/w1/w1.c    | 3 +++
 include/linux/w1.h | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c
index 80a778b02f28..dc73d8c08438 100644
--- a/drivers/w1/w1.c
+++ b/drivers/w1/w1.c
@@ -26,6 +26,7 @@
 #include <linux/kthread.h>
 #include <linux/freezer.h>
 #include <linux/hwmon.h>
+#include <linux/of.h>
 
 #include <linux/atomic.h>
 
@@ -686,6 +687,8 @@ static int __w1_attach_slave_device(struct w1_slave *sl)
 	sl->dev.bus = &w1_bus_type;
 	sl->dev.release = &w1_slave_release;
 	sl->dev.groups = w1_slave_groups;
+	sl->dev.of_node = of_find_matching_node(sl->master->dev.of_node,
+						sl->family->of_match_table);
 
 	dev_set_name(&sl->dev, "%02x-%012llx",
 		 (unsigned int) sl->reg_num.family,
diff --git a/include/linux/w1.h b/include/linux/w1.h
index 694101f744c7..3111585c371f 100644
--- a/include/linux/w1.h
+++ b/include/linux/w1.h
@@ -274,6 +274,8 @@ struct w1_family {
 
 	struct w1_family_ops	*fops;
 
+	const struct of_device_id *of_match_table;
+
 	atomic_t		refcnt;
 };
 
-- 
2.17.1


  parent reply	other threads:[~2018-06-19 21:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-19 21:27 [PATCH RFC 0/4] Adding DT functionality to w1 busses Daniel Mack
2018-06-19 21:27 ` [PATCH RFC 1/4] dt-bindings: w1: document sub-node bindings for DS2760 Daniel Mack
2018-06-26 21:33   ` Rob Herring
2018-06-19 21:27 ` Daniel Mack [this message]
2018-06-19 21:27 ` [PATCH RFC 3/4] w1: core: provide helper to look up w1 slaves through devicetree nodes Daniel Mack
2018-06-19 21:27 ` [PATCH RFC 4/4] w1: ds2760: add devicetree matching glue Daniel Mack
2018-06-26 21:39 ` [PATCH RFC 0/4] Adding DT functionality to w1 busses Rob Herring
2018-06-27 19:12   ` Daniel Mack

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180619212744.794-3-daniel@zonque.org \
    --to=daniel@zonque.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=szabolcs.gyurko@tlt.hu \
    --cc=zbr@ioremap.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.