All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Frank Rowand
	<frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
Cc: Pantelis Antoniou
	<pantelis.antoniou-OWPKS81ov/FWk0Htik3J/w@public.gmane.org>,
	Joe Perches <joe-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH 1/4] of: use kbasename instead of open coding
Date: Wed, 14 Jun 2017 15:30:22 -0500	[thread overview]
Message-ID: <20170614203025.7581-2-robh@kernel.org> (raw)
In-Reply-To: <20170614203025.7581-1-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>

Several places in DT code open code the equivalent of kbasename.
Replace them.

The behavior for root nodes in node_name_cmp will be slightly different.
Instead of comparing "/", "" will be compared. The comparison will be
the same.

Signed-off-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
 drivers/of/base.c     | 5 +----
 drivers/of/platform.c | 2 +-
 drivers/of/resolver.c | 4 ++--
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index 28d5f53bc631..054159ccd5f8 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -773,10 +773,7 @@ static struct device_node *__of_find_node_by_path(struct device_node *parent,
 		return NULL;
 
 	__for_each_child_of_node(parent, child) {
-		const char *name = strrchr(child->full_name, '/');
-		if (WARN(!name, "malformed device_node %s\n", child->full_name))
-			continue;
-		name++;
+		const char *name = kbasename(child->full_name);
 		if (strncmp(path, name, len) == 0 && (strlen(name) == len))
 			return child;
 	}
diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 71fecc2debfc..8f73413fa243 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -99,7 +99,7 @@ static void of_device_make_bus_id(struct device *dev)
 
 		/* format arguments only used if dev_name() resolves to NULL */
 		dev_set_name(dev, dev_name(dev) ? "%s:%s" : "%s",
-			     strrchr(node->full_name, '/') + 1, dev_name(dev));
+			     kbasename(node->full_name), dev_name(dev));
 		node = node->parent;
 	}
 }
diff --git a/drivers/of/resolver.c b/drivers/of/resolver.c
index 771f4844c781..63626d7d9adb 100644
--- a/drivers/of/resolver.c
+++ b/drivers/of/resolver.c
@@ -165,8 +165,8 @@ static int update_usages_of_a_phandle_reference(struct device_node *overlay,
 static int node_name_cmp(const struct device_node *dn1,
 		const struct device_node *dn2)
 {
-	const char *n1 = strrchr(dn1->full_name, '/') ? : "/";
-	const char *n2 = strrchr(dn2->full_name, '/') ? : "/";
+	const char *n1 = kbasename(dn1->full_name);
+	const char *n2 = kbasename(dn2->full_name);
 
 	return of_node_cmp(n1, n2);
 }
-- 
2.11.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Frank Rowand <frowand.list@gmail.com>,
	Mark Rutland <mark.rutland@arm.com>
Cc: Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
	Joe Perches <joe@perches.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 1/4] of: use kbasename instead of open coding
Date: Wed, 14 Jun 2017 15:30:22 -0500	[thread overview]
Message-ID: <20170614203025.7581-2-robh@kernel.org> (raw)
In-Reply-To: <20170614203025.7581-1-robh@kernel.org>

Several places in DT code open code the equivalent of kbasename.
Replace them.

The behavior for root nodes in node_name_cmp will be slightly different.
Instead of comparing "/", "" will be compared. The comparison will be
the same.

Signed-off-by: Rob Herring <robh@kernel.org>
---
 drivers/of/base.c     | 5 +----
 drivers/of/platform.c | 2 +-
 drivers/of/resolver.c | 4 ++--
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index 28d5f53bc631..054159ccd5f8 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -773,10 +773,7 @@ static struct device_node *__of_find_node_by_path(struct device_node *parent,
 		return NULL;
 
 	__for_each_child_of_node(parent, child) {
-		const char *name = strrchr(child->full_name, '/');
-		if (WARN(!name, "malformed device_node %s\n", child->full_name))
-			continue;
-		name++;
+		const char *name = kbasename(child->full_name);
 		if (strncmp(path, name, len) == 0 && (strlen(name) == len))
 			return child;
 	}
diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 71fecc2debfc..8f73413fa243 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -99,7 +99,7 @@ static void of_device_make_bus_id(struct device *dev)
 
 		/* format arguments only used if dev_name() resolves to NULL */
 		dev_set_name(dev, dev_name(dev) ? "%s:%s" : "%s",
-			     strrchr(node->full_name, '/') + 1, dev_name(dev));
+			     kbasename(node->full_name), dev_name(dev));
 		node = node->parent;
 	}
 }
diff --git a/drivers/of/resolver.c b/drivers/of/resolver.c
index 771f4844c781..63626d7d9adb 100644
--- a/drivers/of/resolver.c
+++ b/drivers/of/resolver.c
@@ -165,8 +165,8 @@ static int update_usages_of_a_phandle_reference(struct device_node *overlay,
 static int node_name_cmp(const struct device_node *dn1,
 		const struct device_node *dn2)
 {
-	const char *n1 = strrchr(dn1->full_name, '/') ? : "/";
-	const char *n2 = strrchr(dn2->full_name, '/') ? : "/";
+	const char *n1 = kbasename(dn1->full_name);
+	const char *n2 = kbasename(dn2->full_name);
 
 	return of_node_cmp(n1, n2);
 }
-- 
2.11.0

  parent reply	other threads:[~2017-06-14 20:30 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-14 20:30 [PATCH 0/4] DT printf format specifiers Rob Herring
2017-06-14 20:30 ` Rob Herring
     [not found] ` <20170614203025.7581-1-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-06-14 20:30   ` Rob Herring [this message]
2017-06-14 20:30     ` [PATCH 1/4] of: use kbasename instead of open coding Rob Herring
     [not found]     ` <20170614203025.7581-2-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-06-17 17:30       ` Andy Shevchenko
2017-06-17 17:30         ` Andy Shevchenko
2017-06-14 20:30 ` [PATCH 2/4] of: find_node_by_full_name rewrite to compare each level Rob Herring
2017-06-14 20:30 ` [PATCH 3/4] of: Custom printk format specifier for device node Rob Herring
     [not found]   ` <20170614203025.7581-4-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-06-14 20:56     ` Joe Perches
2017-06-14 20:56       ` Joe Perches
     [not found]       ` <1497473808.18751.70.camel-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
2017-06-15 12:30         ` Rob Herring
2017-06-15 12:30           ` Rob Herring
     [not found]           ` <CAL_JsqJ_cc46Hf2XdZoXkgZyOh+0KXVXfeWYe1100E9vuRt12A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-15 16:51             ` Joe Perches
2017-06-15 16:51               ` Joe Perches
2017-06-15 21:26         ` Rob Herring
2017-06-15 21:26           ` Rob Herring
2017-06-15 21:50           ` Joe Perches
2017-06-15 21:50             ` Joe Perches
2017-06-22 20:44     ` [PATCH v2] vsprintf: Add %p extension "%pOF" for device tree Rob Herring
2017-06-22 20:44       ` Rob Herring
2017-06-22 22:44       ` Randy Dunlap
     [not found]         ` <d22444aa-39da-ec74-42a1-63f1fa40c7d3-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-06-23 14:08           ` Rob Herring
2017-06-23 14:08             ` Rob Herring
     [not found]       ` <20170622204445.14930-1-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-06-23  3:01         ` Joe Perches
2017-06-23  3:01           ` Joe Perches
     [not found]           ` <1498186912.24295.9.camel-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
2017-06-23 14:13             ` Rob Herring
2017-06-23 14:13               ` Rob Herring
2017-06-23 17:30       ` [PATCH v3] " Rob Herring
     [not found]         ` <20170623173053.636-1-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-06-23 17:38           ` Joe Perches
2017-06-23 17:38             ` Joe Perches
2017-06-14 20:30 ` [PATCH 4/4] of: Convert to using %pOF instead of full_name Rob Herring
     [not found]   ` <20170614203025.7581-5-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-06-14 20:58     ` Joe Perches
2017-06-14 20:58       ` Joe Perches

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=20170614203025.7581-2-robh@kernel.org \
    --to=robh-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=joe-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=pantelis.antoniou-OWPKS81ov/FWk0Htik3J/w@public.gmane.org \
    /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.