All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-18 21:43 ` Rob Herring
  0 siblings, 0 replies; 24+ messages in thread
From: Rob Herring @ 2017-07-18 21:43 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux-kernel, devicetree, Lee Jones, Eric Anholt, Stefan Wahren,
	Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, kernel

Now that we have a custom printf format specifier, convert users of
full_name to use %pOF instead. This is preparation to remove storing
of the full path string for each node.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Lee Jones <lee@kernel.org>
Cc: Eric Anholt <eric@anholt.net>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: bcm-kernel-feedback-list@broadcom.com
Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Barry Song <baohua@kernel.org>
Cc: linux-gpio@vger.kernel.org
Cc: linux-rpi-kernel@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: kernel@stlinux.com
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-renesas-soc@vger.kernel.org
---
 drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
 drivers/pinctrl/devicetree.c              |  4 ++--
 drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
 drivers/pinctrl/pinconf-generic.c         |  7 +++----
 drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------
 drivers/pinctrl/pinctrl-st.c              |  2 +-
 drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
 drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
 drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
 drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
 10 files changed, 34 insertions(+), 41 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
index 230883168e99..3e71e5d782ee 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
@@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
 	struct pinctrl_map *map = *maps;

 	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
-		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
-			of_node_full_name(np), fnum);
+		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
 		return -EINVAL;
 	}

@@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
 	unsigned long *configs;

 	if (pull > 2) {
-		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
-			of_node_full_name(np), pull);
+		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
 		return -EINVAL;
 	}

@@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	pins = of_find_property(np, "brcm,pins", NULL);
 	if (!pins) {
-		dev_err(pc->dev, "%s: missing brcm,pins property\n",
-				of_node_full_name(np));
+		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
 		return -EINVAL;
 	}

@@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	if (!funcs && !pulls) {
 		dev_err(pc->dev,
-			"%s: neither brcm,function nor brcm,pull specified\n",
-			of_node_full_name(np));
+			"%pOF: neither brcm,function nor brcm,pull specified\n",
+			np);
 		return -EINVAL;
 	}

@@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	if (num_funcs > 1 && num_funcs != num_pins) {
 		dev_err(pc->dev,
-			"%s: brcm,function must have 1 or %d entries\n",
-			of_node_full_name(np), num_pins);
+			"%pOF: brcm,function must have 1 or %d entries\n",
+			np, num_pins);
 		return -EINVAL;
 	}

 	if (num_pulls > 1 && num_pulls != num_pins) {
 		dev_err(pc->dev,
-			"%s: brcm,pull must have 1 or %d entries\n",
-			of_node_full_name(np), num_pins);
+			"%pOF: brcm,pull must have 1 or %d entries\n",
+			np, num_pins);
 		return -EINVAL;
 	}

@@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
 		if (err)
 			goto out;
 		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
-			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
-				of_node_full_name(np), pin);
+			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
+				np, pin);
 			err = -EINVAL;
 			goto out;
 		}
diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
index 0e5c9f14a706..0a20afc2210c 100644
--- a/drivers/pinctrl/devicetree.c
+++ b/drivers/pinctrl/devicetree.c
@@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
 	for (;;) {
 		np_pctldev = of_get_next_parent(np_pctldev);
 		if (!np_pctldev || of_node_is_root(np_pctldev)) {
-			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
-				np_config->full_name);
+			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
+				np_config);
 			of_node_put(np_pctldev);
 			/* OK let's just assume this will appear later then */
 			return -EPROBE_DEFER;
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
index 72aca758f4c6..1f0095a69407 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx.c
@@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
 		list = of_get_property(np, "pins", &size);
 		if (!list) {
 			dev_err(info->dev,
-				"no fsl,pins and pins property in node %s\n",
-				np->full_name);
+				"no fsl,pins and pins property in node %pOF\n", np);
 			return -EINVAL;
 		}
 	}

 	/* we do not check return since it's safe node passed down */
 	if (!size || size % pin_size) {
-		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
-			np->full_name);
+		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
 		return -EINVAL;
 	}

@@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
 	func->name = np->name;
 	func->num_group_names = of_get_child_count(np);
 	if (func->num_group_names == 0) {
-		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
+		dev_err(info->dev, "no groups defined in %pOF\n", np);
 		return -EINVAL;
 	}
 	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
index fc0c230aa11f..4cf901c78130 100644
--- a/drivers/pinctrl/pinconf-generic.c
+++ b/drivers/pinctrl/pinconf-generic.c
@@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
 	if (ret < 0) {
 		/* EINVAL=missing, which is fine since it's optional */
 		if (ret != -EINVAL)
-			dev_err(dev, "%s: could not parse property function\n",
-				of_node_full_name(np));
+			dev_err(dev, "%pOF: could not parse property function\n",
+				np);
 		function = NULL;
 	}

 	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
 					      &num_configs);
 	if (ret < 0) {
-		dev_err(dev, "%s: could not parse node property\n",
-			of_node_full_name(np));
+		dev_err(dev, "%pOF: could not parse node property\n", np);
 		return ret;
 	}

diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
index dc8591543dee..b1ca838dd80a 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
 	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
 					      &num_configs);
 	if (ret < 0) {
-		dev_err(pctldev->dev, "%s: could not parse node property\n",
-			of_node_full_name(np));
+		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
+			np);
 		return ret;
 	}

@@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,

 	num_pins = pins->length / sizeof(u32);
 	if (!num_pins) {
-		dev_err(pctldev->dev, "no pins found in node %s\n",
-			of_node_full_name(np));
+		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
 		ret = -EINVAL;
 		goto exit;
 	}
@@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	if (ret < 0) {
 		pinctrl_utils_free_map(pctldev, *map, *num_maps);
-		dev_err(pctldev->dev, "can't create maps for node %s\n",
-			np_config->full_name);
+		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
+			np_config);
 	}

 	return ret;
diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
index 3ae8066bc127..1703977de7cf 100644
--- a/drivers/pinctrl/pinctrl-st.c
+++ b/drivers/pinctrl/pinctrl-st.c
@@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
 			return err;
 		}
 	} else {
-		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
+		dev_info(dev, "No IRQ support for %pOF bank\n", np);
 	}

 	return 0;
diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
index edfba506e958..09d35006acb2 100644
--- a/drivers/pinctrl/pinctrl-tb10x.c
+++ b/drivers/pinctrl/pinctrl-tb10x.c
@@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
 	int ret = 0;

 	if (of_property_read_string(np_config, "abilis,function", &string)) {
-		pr_err("%s: No abilis,function property in device tree.\n",
-			np_config->full_name);
+		pr_err("%pOF: No abilis,function property in device tree.\n",
+			np_config);
 		return -EINVAL;
 	}

diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
index f542642eed8d..20b59bb02196 100644
--- a/drivers/pinctrl/samsung/pinctrl-samsung.c
+++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
@@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,

 	npins = of_property_count_strings(func_np, "samsung,pins");
 	if (npins < 1) {
-		dev_err(dev, "invalid pin list in %s node", func_np->name);
+		dev_err(dev, "invalid pin list in %pOFn node", func_np);
 		return -EINVAL;
 	}

@@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
 							i, &gname);
 		if (ret) {
 			dev_err(dev,
-				"failed to read pin name %d from %s node\n",
-				i, func_np->name);
+				"failed to read pin name %d from %pOFn node\n",
+				i, func_np);
 			return ret;
 		}

diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
index a70157f0acf4..e7a92eec06c2 100644
--- a/drivers/pinctrl/sh-pfc/pinctrl.c
+++ b/drivers/pinctrl/sh-pfc/pinctrl.c
@@ -290,7 +290,7 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
 	if (*num_maps)
 		return 0;

-	dev_err(dev, "no mapping found in node %s\n", np->full_name);
+	dev_err(dev, "no mapping found in node %pOF\n", np);
 	ret = -EINVAL;

 done:
diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
index 0df72be60704..80bfd4719199 100644
--- a/drivers/pinctrl/sirf/pinctrl-sirf.c
+++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
@@ -810,7 +810,7 @@ static int sirfsoc_gpio_probe(struct device_node *np)
 	sgpio->chip.gc.set = sirfsoc_gpio_set_value;
 	sgpio->chip.gc.base = 0;
 	sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS;
-	sgpio->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
+	sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np);
 	sgpio->chip.gc.of_node = np;
 	sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
 	sgpio->chip.gc.of_gpio_n_cells = 2;
@@ -819,8 +819,8 @@ static int sirfsoc_gpio_probe(struct device_node *np)

 	err = gpiochip_add_data(&sgpio->chip.gc, sgpio);
 	if (err) {
-		dev_err(&pdev->dev, "%s: error in probe function with status %d\n",
-			np->full_name, err);
+		dev_err(&pdev->dev, "%pOF: error in probe function with status %d\n",
+			np, err);
 		goto out;
 	}

--
2.11.0

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-18 21:43 ` Rob Herring
  0 siblings, 0 replies; 24+ messages in thread
From: Rob Herring @ 2017-07-18 21:43 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux-kernel, devicetree, Lee Jones, Eric Anholt, Stefan Wahren,
	Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, kernel, linux-samsung-soc,
	linux-renesas-soc

Now that we have a custom printf format specifier, convert users of
full_name to use %pOF instead. This is preparation to remove storing
of the full path string for each node.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Lee Jones <lee@kernel.org>
Cc: Eric Anholt <eric@anholt.net>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: bcm-kernel-feedback-list@broadcom.com
Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Barry Song <baohua@kernel.org>
Cc: linux-gpio@vger.kernel.org
Cc: linux-rpi-kernel@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: kernel@stlinux.com
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-renesas-soc@vger.kernel.org
---
 drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
 drivers/pinctrl/devicetree.c              |  4 ++--
 drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
 drivers/pinctrl/pinconf-generic.c         |  7 +++----
 drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------
 drivers/pinctrl/pinctrl-st.c              |  2 +-
 drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
 drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
 drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
 drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
 10 files changed, 34 insertions(+), 41 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
index 230883168e99..3e71e5d782ee 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
@@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
 	struct pinctrl_map *map = *maps;

 	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
-		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
-			of_node_full_name(np), fnum);
+		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
 		return -EINVAL;
 	}

@@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
 	unsigned long *configs;

 	if (pull > 2) {
-		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
-			of_node_full_name(np), pull);
+		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
 		return -EINVAL;
 	}

@@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	pins = of_find_property(np, "brcm,pins", NULL);
 	if (!pins) {
-		dev_err(pc->dev, "%s: missing brcm,pins property\n",
-				of_node_full_name(np));
+		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
 		return -EINVAL;
 	}

@@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	if (!funcs && !pulls) {
 		dev_err(pc->dev,
-			"%s: neither brcm,function nor brcm,pull specified\n",
-			of_node_full_name(np));
+			"%pOF: neither brcm,function nor brcm,pull specified\n",
+			np);
 		return -EINVAL;
 	}

@@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	if (num_funcs > 1 && num_funcs != num_pins) {
 		dev_err(pc->dev,
-			"%s: brcm,function must have 1 or %d entries\n",
-			of_node_full_name(np), num_pins);
+			"%pOF: brcm,function must have 1 or %d entries\n",
+			np, num_pins);
 		return -EINVAL;
 	}

 	if (num_pulls > 1 && num_pulls != num_pins) {
 		dev_err(pc->dev,
-			"%s: brcm,pull must have 1 or %d entries\n",
-			of_node_full_name(np), num_pins);
+			"%pOF: brcm,pull must have 1 or %d entries\n",
+			np, num_pins);
 		return -EINVAL;
 	}

@@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
 		if (err)
 			goto out;
 		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
-			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
-				of_node_full_name(np), pin);
+			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
+				np, pin);
 			err = -EINVAL;
 			goto out;
 		}
diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
index 0e5c9f14a706..0a20afc2210c 100644
--- a/drivers/pinctrl/devicetree.c
+++ b/drivers/pinctrl/devicetree.c
@@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
 	for (;;) {
 		np_pctldev = of_get_next_parent(np_pctldev);
 		if (!np_pctldev || of_node_is_root(np_pctldev)) {
-			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
-				np_config->full_name);
+			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
+				np_config);
 			of_node_put(np_pctldev);
 			/* OK let's just assume this will appear later then */
 			return -EPROBE_DEFER;
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
index 72aca758f4c6..1f0095a69407 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx.c
@@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
 		list = of_get_property(np, "pins", &size);
 		if (!list) {
 			dev_err(info->dev,
-				"no fsl,pins and pins property in node %s\n",
-				np->full_name);
+				"no fsl,pins and pins property in node %pOF\n", np);
 			return -EINVAL;
 		}
 	}

 	/* we do not check return since it's safe node passed down */
 	if (!size || size % pin_size) {
-		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
-			np->full_name);
+		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
 		return -EINVAL;
 	}

@@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
 	func->name = np->name;
 	func->num_group_names = of_get_child_count(np);
 	if (func->num_group_names == 0) {
-		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
+		dev_err(info->dev, "no groups defined in %pOF\n", np);
 		return -EINVAL;
 	}
 	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
index fc0c230aa11f..4cf901c78130 100644
--- a/drivers/pinctrl/pinconf-generic.c
+++ b/drivers/pinctrl/pinconf-generic.c
@@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
 	if (ret < 0) {
 		/* EINVAL=missing, which is fine since it's optional */
 		if (ret != -EINVAL)
-			dev_err(dev, "%s: could not parse property function\n",
-				of_node_full_name(np));
+			dev_err(dev, "%pOF: could not parse property function\n",
+				np);
 		function = NULL;
 	}

 	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
 					      &num_configs);
 	if (ret < 0) {
-		dev_err(dev, "%s: could not parse node property\n",
-			of_node_full_name(np));
+		dev_err(dev, "%pOF: could not parse node property\n", np);
 		return ret;
 	}

diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
index dc8591543dee..b1ca838dd80a 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
 	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
 					      &num_configs);
 	if (ret < 0) {
-		dev_err(pctldev->dev, "%s: could not parse node property\n",
-			of_node_full_name(np));
+		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
+			np);
 		return ret;
 	}

@@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,

 	num_pins = pins->length / sizeof(u32);
 	if (!num_pins) {
-		dev_err(pctldev->dev, "no pins found in node %s\n",
-			of_node_full_name(np));
+		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
 		ret = -EINVAL;
 		goto exit;
 	}
@@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	if (ret < 0) {
 		pinctrl_utils_free_map(pctldev, *map, *num_maps);
-		dev_err(pctldev->dev, "can't create maps for node %s\n",
-			np_config->full_name);
+		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
+			np_config);
 	}

 	return ret;
diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
index 3ae8066bc127..1703977de7cf 100644
--- a/drivers/pinctrl/pinctrl-st.c
+++ b/drivers/pinctrl/pinctrl-st.c
@@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
 			return err;
 		}
 	} else {
-		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
+		dev_info(dev, "No IRQ support for %pOF bank\n", np);
 	}

 	return 0;
diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
index edfba506e958..09d35006acb2 100644
--- a/drivers/pinctrl/pinctrl-tb10x.c
+++ b/drivers/pinctrl/pinctrl-tb10x.c
@@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
 	int ret = 0;

 	if (of_property_read_string(np_config, "abilis,function", &string)) {
-		pr_err("%s: No abilis,function property in device tree.\n",
-			np_config->full_name);
+		pr_err("%pOF: No abilis,function property in device tree.\n",
+			np_config);
 		return -EINVAL;
 	}

diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
index f542642eed8d..20b59bb02196 100644
--- a/drivers/pinctrl/samsung/pinctrl-samsung.c
+++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
@@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,

 	npins = of_property_count_strings(func_np, "samsung,pins");
 	if (npins < 1) {
-		dev_err(dev, "invalid pin list in %s node", func_np->name);
+		dev_err(dev, "invalid pin list in %pOFn node", func_np);
 		return -EINVAL;
 	}

@@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
 							i, &gname);
 		if (ret) {
 			dev_err(dev,
-				"failed to read pin name %d from %s node\n",
-				i, func_np->name);
+				"failed to read pin name %d from %pOFn node\n",
+				i, func_np);
 			return ret;
 		}

diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
index a70157f0acf4..e7a92eec06c2 100644
--- a/drivers/pinctrl/sh-pfc/pinctrl.c
+++ b/drivers/pinctrl/sh-pfc/pinctrl.c
@@ -290,7 +290,7 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
 	if (*num_maps)
 		return 0;

-	dev_err(dev, "no mapping found in node %s\n", np->full_name);
+	dev_err(dev, "no mapping found in node %pOF\n", np);
 	ret = -EINVAL;

 done:
diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
index 0df72be60704..80bfd4719199 100644
--- a/drivers/pinctrl/sirf/pinctrl-sirf.c
+++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
@@ -810,7 +810,7 @@ static int sirfsoc_gpio_probe(struct device_node *np)
 	sgpio->chip.gc.set = sirfsoc_gpio_set_value;
 	sgpio->chip.gc.base = 0;
 	sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS;
-	sgpio->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
+	sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np);
 	sgpio->chip.gc.of_node = np;
 	sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
 	sgpio->chip.gc.of_gpio_n_cells = 2;
@@ -819,8 +819,8 @@ static int sirfsoc_gpio_probe(struct device_node *np)

 	err = gpiochip_add_data(&sgpio->chip.gc, sgpio);
 	if (err) {
-		dev_err(&pdev->dev, "%s: error in probe function with status %d\n",
-			np->full_name, err);
+		dev_err(&pdev->dev, "%pOF: error in probe function with status %d\n",
+			np, err);
 		goto out;
 	}

--
2.11.0

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-18 21:43 ` Rob Herring
  0 siblings, 0 replies; 24+ messages in thread
From: Rob Herring @ 2017-07-18 21:43 UTC (permalink / raw)
  To: linux-arm-kernel

Now that we have a custom printf format specifier, convert users of
full_name to use %pOF instead. This is preparation to remove storing
of the full path string for each node.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Lee Jones <lee@kernel.org>
Cc: Eric Anholt <eric@anholt.net>
Cc: Stefan Wahren <stefan.wahren@i2se.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: bcm-kernel-feedback-list at broadcom.com
Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Barry Song <baohua@kernel.org>
Cc: linux-gpio at vger.kernel.org
Cc: linux-rpi-kernel at lists.infradead.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: kernel at stlinux.com
Cc: linux-samsung-soc at vger.kernel.org
Cc: linux-renesas-soc at vger.kernel.org
---
 drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
 drivers/pinctrl/devicetree.c              |  4 ++--
 drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
 drivers/pinctrl/pinconf-generic.c         |  7 +++----
 drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------
 drivers/pinctrl/pinctrl-st.c              |  2 +-
 drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
 drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
 drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
 drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
 10 files changed, 34 insertions(+), 41 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
index 230883168e99..3e71e5d782ee 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
@@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
 	struct pinctrl_map *map = *maps;

 	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
-		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
-			of_node_full_name(np), fnum);
+		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
 		return -EINVAL;
 	}

@@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
 	unsigned long *configs;

 	if (pull > 2) {
-		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
-			of_node_full_name(np), pull);
+		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
 		return -EINVAL;
 	}

@@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	pins = of_find_property(np, "brcm,pins", NULL);
 	if (!pins) {
-		dev_err(pc->dev, "%s: missing brcm,pins property\n",
-				of_node_full_name(np));
+		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
 		return -EINVAL;
 	}

@@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	if (!funcs && !pulls) {
 		dev_err(pc->dev,
-			"%s: neither brcm,function nor brcm,pull specified\n",
-			of_node_full_name(np));
+			"%pOF: neither brcm,function nor brcm,pull specified\n",
+			np);
 		return -EINVAL;
 	}

@@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	if (num_funcs > 1 && num_funcs != num_pins) {
 		dev_err(pc->dev,
-			"%s: brcm,function must have 1 or %d entries\n",
-			of_node_full_name(np), num_pins);
+			"%pOF: brcm,function must have 1 or %d entries\n",
+			np, num_pins);
 		return -EINVAL;
 	}

 	if (num_pulls > 1 && num_pulls != num_pins) {
 		dev_err(pc->dev,
-			"%s: brcm,pull must have 1 or %d entries\n",
-			of_node_full_name(np), num_pins);
+			"%pOF: brcm,pull must have 1 or %d entries\n",
+			np, num_pins);
 		return -EINVAL;
 	}

@@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
 		if (err)
 			goto out;
 		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
-			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
-				of_node_full_name(np), pin);
+			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
+				np, pin);
 			err = -EINVAL;
 			goto out;
 		}
diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
index 0e5c9f14a706..0a20afc2210c 100644
--- a/drivers/pinctrl/devicetree.c
+++ b/drivers/pinctrl/devicetree.c
@@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
 	for (;;) {
 		np_pctldev = of_get_next_parent(np_pctldev);
 		if (!np_pctldev || of_node_is_root(np_pctldev)) {
-			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
-				np_config->full_name);
+			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
+				np_config);
 			of_node_put(np_pctldev);
 			/* OK let's just assume this will appear later then */
 			return -EPROBE_DEFER;
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
index 72aca758f4c6..1f0095a69407 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx.c
@@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
 		list = of_get_property(np, "pins", &size);
 		if (!list) {
 			dev_err(info->dev,
-				"no fsl,pins and pins property in node %s\n",
-				np->full_name);
+				"no fsl,pins and pins property in node %pOF\n", np);
 			return -EINVAL;
 		}
 	}

 	/* we do not check return since it's safe node passed down */
 	if (!size || size % pin_size) {
-		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
-			np->full_name);
+		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
 		return -EINVAL;
 	}

@@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
 	func->name = np->name;
 	func->num_group_names = of_get_child_count(np);
 	if (func->num_group_names == 0) {
-		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
+		dev_err(info->dev, "no groups defined in %pOF\n", np);
 		return -EINVAL;
 	}
 	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
index fc0c230aa11f..4cf901c78130 100644
--- a/drivers/pinctrl/pinconf-generic.c
+++ b/drivers/pinctrl/pinconf-generic.c
@@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
 	if (ret < 0) {
 		/* EINVAL=missing, which is fine since it's optional */
 		if (ret != -EINVAL)
-			dev_err(dev, "%s: could not parse property function\n",
-				of_node_full_name(np));
+			dev_err(dev, "%pOF: could not parse property function\n",
+				np);
 		function = NULL;
 	}

 	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
 					      &num_configs);
 	if (ret < 0) {
-		dev_err(dev, "%s: could not parse node property\n",
-			of_node_full_name(np));
+		dev_err(dev, "%pOF: could not parse node property\n", np);
 		return ret;
 	}

diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
index dc8591543dee..b1ca838dd80a 100644
--- a/drivers/pinctrl/pinctrl-at91-pio4.c
+++ b/drivers/pinctrl/pinctrl-at91-pio4.c
@@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
 	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
 					      &num_configs);
 	if (ret < 0) {
-		dev_err(pctldev->dev, "%s: could not parse node property\n",
-			of_node_full_name(np));
+		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
+			np);
 		return ret;
 	}

@@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,

 	num_pins = pins->length / sizeof(u32);
 	if (!num_pins) {
-		dev_err(pctldev->dev, "no pins found in node %s\n",
-			of_node_full_name(np));
+		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
 		ret = -EINVAL;
 		goto exit;
 	}
@@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,

 	if (ret < 0) {
 		pinctrl_utils_free_map(pctldev, *map, *num_maps);
-		dev_err(pctldev->dev, "can't create maps for node %s\n",
-			np_config->full_name);
+		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
+			np_config);
 	}

 	return ret;
diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
index 3ae8066bc127..1703977de7cf 100644
--- a/drivers/pinctrl/pinctrl-st.c
+++ b/drivers/pinctrl/pinctrl-st.c
@@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
 			return err;
 		}
 	} else {
-		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
+		dev_info(dev, "No IRQ support for %pOF bank\n", np);
 	}

 	return 0;
diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
index edfba506e958..09d35006acb2 100644
--- a/drivers/pinctrl/pinctrl-tb10x.c
+++ b/drivers/pinctrl/pinctrl-tb10x.c
@@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
 	int ret = 0;

 	if (of_property_read_string(np_config, "abilis,function", &string)) {
-		pr_err("%s: No abilis,function property in device tree.\n",
-			np_config->full_name);
+		pr_err("%pOF: No abilis,function property in device tree.\n",
+			np_config);
 		return -EINVAL;
 	}

diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
index f542642eed8d..20b59bb02196 100644
--- a/drivers/pinctrl/samsung/pinctrl-samsung.c
+++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
@@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,

 	npins = of_property_count_strings(func_np, "samsung,pins");
 	if (npins < 1) {
-		dev_err(dev, "invalid pin list in %s node", func_np->name);
+		dev_err(dev, "invalid pin list in %pOFn node", func_np);
 		return -EINVAL;
 	}

@@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
 							i, &gname);
 		if (ret) {
 			dev_err(dev,
-				"failed to read pin name %d from %s node\n",
-				i, func_np->name);
+				"failed to read pin name %d from %pOFn node\n",
+				i, func_np);
 			return ret;
 		}

diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
index a70157f0acf4..e7a92eec06c2 100644
--- a/drivers/pinctrl/sh-pfc/pinctrl.c
+++ b/drivers/pinctrl/sh-pfc/pinctrl.c
@@ -290,7 +290,7 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
 	if (*num_maps)
 		return 0;

-	dev_err(dev, "no mapping found in node %s\n", np->full_name);
+	dev_err(dev, "no mapping found in node %pOF\n", np);
 	ret = -EINVAL;

 done:
diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
index 0df72be60704..80bfd4719199 100644
--- a/drivers/pinctrl/sirf/pinctrl-sirf.c
+++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
@@ -810,7 +810,7 @@ static int sirfsoc_gpio_probe(struct device_node *np)
 	sgpio->chip.gc.set = sirfsoc_gpio_set_value;
 	sgpio->chip.gc.base = 0;
 	sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS;
-	sgpio->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
+	sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np);
 	sgpio->chip.gc.of_node = np;
 	sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
 	sgpio->chip.gc.of_gpio_n_cells = 2;
@@ -819,8 +819,8 @@ static int sirfsoc_gpio_probe(struct device_node *np)

 	err = gpiochip_add_data(&sgpio->chip.gc, sgpio);
 	if (err) {
-		dev_err(&pdev->dev, "%s: error in probe function with status %d\n",
-			np->full_name, err);
+		dev_err(&pdev->dev, "%pOF: error in probe function with status %d\n",
+			np, err);
 		goto out;
 	}

--
2.11.0

^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
  2017-07-18 21:43 ` Rob Herring
  (?)
@ 2017-07-19  5:54   ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2017-07-19  5:54 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linus Walleij, linux-kernel, devicetree, Lee Jones, Eric Anholt,
	Stefan Wahren, Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Sylwester Nawrocki, Laurent Pinchart,
	Geert Uytterhoeven, Barry Song, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, kernel

On Tue, Jul 18, 2017 at 04:43:23PM -0500, Rob Herring wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@stlinux.com
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
>  drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
>  drivers/pinctrl/devicetree.c              |  4 ++--
>  drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
>  drivers/pinctrl/pinconf-generic.c         |  7 +++----
>  drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------
>  drivers/pinctrl/pinctrl-st.c              |  2 +-
>  drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
>  drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
>  drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
>  drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
>  10 files changed, 34 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 230883168e99..3e71e5d782ee 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
>  	struct pinctrl_map *map = *maps;
> 
>  	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
> -		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
> -			of_node_full_name(np), fnum);
> +		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
>  		return -EINVAL;
>  	}
> 
> @@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
>  	unsigned long *configs;
> 
>  	if (pull > 2) {
> -		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
> -			of_node_full_name(np), pull);
> +		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
>  		return -EINVAL;
>  	}
> 
> @@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	pins = of_find_property(np, "brcm,pins", NULL);
>  	if (!pins) {
> -		dev_err(pc->dev, "%s: missing brcm,pins property\n",
> -				of_node_full_name(np));
> +		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (!funcs && !pulls) {
>  		dev_err(pc->dev,
> -			"%s: neither brcm,function nor brcm,pull specified\n",
> -			of_node_full_name(np));
> +			"%pOF: neither brcm,function nor brcm,pull specified\n",
> +			np);
>  		return -EINVAL;
>  	}
> 
> @@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (num_funcs > 1 && num_funcs != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,function must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,function must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
>  	if (num_pulls > 1 && num_pulls != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,pull must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,pull must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
> @@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
>  		if (err)
>  			goto out;
>  		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
> -			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
> -				of_node_full_name(np), pin);
> +			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
> +				np, pin);
>  			err = -EINVAL;
>  			goto out;
>  		}
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index 0e5c9f14a706..0a20afc2210c 100644
> --- a/drivers/pinctrl/devicetree.c
> +++ b/drivers/pinctrl/devicetree.c
> @@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
>  	for (;;) {
>  		np_pctldev = of_get_next_parent(np_pctldev);
>  		if (!np_pctldev || of_node_is_root(np_pctldev)) {
> -			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
> -				np_config->full_name);
> +			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
> +				np_config);
>  			of_node_put(np_pctldev);
>  			/* OK let's just assume this will appear later then */
>  			return -EPROBE_DEFER;
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
> index 72aca758f4c6..1f0095a69407 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx.c
> @@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
>  		list = of_get_property(np, "pins", &size);
>  		if (!list) {
>  			dev_err(info->dev,
> -				"no fsl,pins and pins property in node %s\n",
> -				np->full_name);
> +				"no fsl,pins and pins property in node %pOF\n", np);
>  			return -EINVAL;
>  		}
>  	}
> 
>  	/* we do not check return since it's safe node passed down */
>  	if (!size || size % pin_size) {
> -		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
> -			np->full_name);
> +		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
>  	func->name = np->name;
>  	func->num_group_names = of_get_child_count(np);
>  	if (func->num_group_names == 0) {
> -		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
> +		dev_err(info->dev, "no groups defined in %pOF\n", np);
>  		return -EINVAL;
>  	}
>  	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index fc0c230aa11f..4cf901c78130 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	if (ret < 0) {
>  		/* EINVAL=missing, which is fine since it's optional */
>  		if (ret != -EINVAL)
> -			dev_err(dev, "%s: could not parse property function\n",
> -				of_node_full_name(np));
> +			dev_err(dev, "%pOF: could not parse property function\n",
> +				np);
>  		function = NULL;
>  	}
> 
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(dev, "%pOF: could not parse node property\n", np);
>  		return ret;
>  	}
> 
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index dc8591543dee..b1ca838dd80a 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(pctldev->dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
> +			np);
>  		return ret;
>  	}
> 
> @@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
> 
>  	num_pins = pins->length / sizeof(u32);
>  	if (!num_pins) {
> -		dev_err(pctldev->dev, "no pins found in node %s\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
>  		ret = -EINVAL;
>  		goto exit;
>  	}
> @@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (ret < 0) {
>  		pinctrl_utils_free_map(pctldev, *map, *num_maps);
> -		dev_err(pctldev->dev, "can't create maps for node %s\n",
> -			np_config->full_name);
> +		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
> +			np_config);
>  	}
> 
>  	return ret;
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 3ae8066bc127..1703977de7cf 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>  			return err;
>  		}
>  	} else {
> -		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
> +		dev_info(dev, "No IRQ support for %pOF bank\n", np);
>  	}
> 
>  	return 0;
> diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
> index edfba506e958..09d35006acb2 100644
> --- a/drivers/pinctrl/pinctrl-tb10x.c
> +++ b/drivers/pinctrl/pinctrl-tb10x.c
> @@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
>  	int ret = 0;
> 
>  	if (of_property_read_string(np_config, "abilis,function", &string)) {
> -		pr_err("%s: No abilis,function property in device tree.\n",
> -			np_config->full_name);
> +		pr_err("%pOF: No abilis,function property in device tree.\n",
> +			np_config);
>  		return -EINVAL;
>  	}
> 
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index f542642eed8d..20b59bb02196 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,
> 
>  	npins = of_property_count_strings(func_np, "samsung,pins");
>  	if (npins < 1) {
> -		dev_err(dev, "invalid pin list in %s node", func_np->name);
> +		dev_err(dev, "invalid pin list in %pOFn node", func_np);
>  		return -EINVAL;
>  	}
> 
> @@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
>  							i, &gname);
>  		if (ret) {
>  			dev_err(dev,
> -				"failed to read pin name %d from %s node\n",
> -				i, func_np->name);
> +				"failed to read pin name %d from %pOFn node\n",
> +				i, func_np);
>  			return ret;
>  		}
> 

For Samsung pinctrl:
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19  5:54   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2017-07-19  5:54 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linus Walleij, linux-kernel, devicetree, Lee Jones, Eric Anholt,
	Stefan Wahren, Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Sylwester Nawrocki, Laurent Pinchart,
	Geert Uytterhoeven, Barry Song, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, kernel, linux-samsung-soc, linux-renesas-soc

On Tue, Jul 18, 2017 at 04:43:23PM -0500, Rob Herring wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@stlinux.com
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
>  drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
>  drivers/pinctrl/devicetree.c              |  4 ++--
>  drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
>  drivers/pinctrl/pinconf-generic.c         |  7 +++----
>  drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------
>  drivers/pinctrl/pinctrl-st.c              |  2 +-
>  drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
>  drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
>  drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
>  drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
>  10 files changed, 34 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 230883168e99..3e71e5d782ee 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
>  	struct pinctrl_map *map = *maps;
> 
>  	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
> -		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
> -			of_node_full_name(np), fnum);
> +		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
>  		return -EINVAL;
>  	}
> 
> @@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
>  	unsigned long *configs;
> 
>  	if (pull > 2) {
> -		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
> -			of_node_full_name(np), pull);
> +		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
>  		return -EINVAL;
>  	}
> 
> @@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	pins = of_find_property(np, "brcm,pins", NULL);
>  	if (!pins) {
> -		dev_err(pc->dev, "%s: missing brcm,pins property\n",
> -				of_node_full_name(np));
> +		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (!funcs && !pulls) {
>  		dev_err(pc->dev,
> -			"%s: neither brcm,function nor brcm,pull specified\n",
> -			of_node_full_name(np));
> +			"%pOF: neither brcm,function nor brcm,pull specified\n",
> +			np);
>  		return -EINVAL;
>  	}
> 
> @@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (num_funcs > 1 && num_funcs != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,function must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,function must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
>  	if (num_pulls > 1 && num_pulls != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,pull must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,pull must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
> @@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
>  		if (err)
>  			goto out;
>  		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
> -			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
> -				of_node_full_name(np), pin);
> +			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
> +				np, pin);
>  			err = -EINVAL;
>  			goto out;
>  		}
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index 0e5c9f14a706..0a20afc2210c 100644
> --- a/drivers/pinctrl/devicetree.c
> +++ b/drivers/pinctrl/devicetree.c
> @@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
>  	for (;;) {
>  		np_pctldev = of_get_next_parent(np_pctldev);
>  		if (!np_pctldev || of_node_is_root(np_pctldev)) {
> -			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
> -				np_config->full_name);
> +			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
> +				np_config);
>  			of_node_put(np_pctldev);
>  			/* OK let's just assume this will appear later then */
>  			return -EPROBE_DEFER;
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
> index 72aca758f4c6..1f0095a69407 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx.c
> @@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
>  		list = of_get_property(np, "pins", &size);
>  		if (!list) {
>  			dev_err(info->dev,
> -				"no fsl,pins and pins property in node %s\n",
> -				np->full_name);
> +				"no fsl,pins and pins property in node %pOF\n", np);
>  			return -EINVAL;
>  		}
>  	}
> 
>  	/* we do not check return since it's safe node passed down */
>  	if (!size || size % pin_size) {
> -		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
> -			np->full_name);
> +		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
>  	func->name = np->name;
>  	func->num_group_names = of_get_child_count(np);
>  	if (func->num_group_names == 0) {
> -		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
> +		dev_err(info->dev, "no groups defined in %pOF\n", np);
>  		return -EINVAL;
>  	}
>  	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index fc0c230aa11f..4cf901c78130 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	if (ret < 0) {
>  		/* EINVAL=missing, which is fine since it's optional */
>  		if (ret != -EINVAL)
> -			dev_err(dev, "%s: could not parse property function\n",
> -				of_node_full_name(np));
> +			dev_err(dev, "%pOF: could not parse property function\n",
> +				np);
>  		function = NULL;
>  	}
> 
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(dev, "%pOF: could not parse node property\n", np);
>  		return ret;
>  	}
> 
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index dc8591543dee..b1ca838dd80a 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(pctldev->dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
> +			np);
>  		return ret;
>  	}
> 
> @@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
> 
>  	num_pins = pins->length / sizeof(u32);
>  	if (!num_pins) {
> -		dev_err(pctldev->dev, "no pins found in node %s\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
>  		ret = -EINVAL;
>  		goto exit;
>  	}
> @@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (ret < 0) {
>  		pinctrl_utils_free_map(pctldev, *map, *num_maps);
> -		dev_err(pctldev->dev, "can't create maps for node %s\n",
> -			np_config->full_name);
> +		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
> +			np_config);
>  	}
> 
>  	return ret;
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 3ae8066bc127..1703977de7cf 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>  			return err;
>  		}
>  	} else {
> -		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
> +		dev_info(dev, "No IRQ support for %pOF bank\n", np);
>  	}
> 
>  	return 0;
> diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
> index edfba506e958..09d35006acb2 100644
> --- a/drivers/pinctrl/pinctrl-tb10x.c
> +++ b/drivers/pinctrl/pinctrl-tb10x.c
> @@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
>  	int ret = 0;
> 
>  	if (of_property_read_string(np_config, "abilis,function", &string)) {
> -		pr_err("%s: No abilis,function property in device tree.\n",
> -			np_config->full_name);
> +		pr_err("%pOF: No abilis,function property in device tree.\n",
> +			np_config);
>  		return -EINVAL;
>  	}
> 
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index f542642eed8d..20b59bb02196 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,
> 
>  	npins = of_property_count_strings(func_np, "samsung,pins");
>  	if (npins < 1) {
> -		dev_err(dev, "invalid pin list in %s node", func_np->name);
> +		dev_err(dev, "invalid pin list in %pOFn node", func_np);
>  		return -EINVAL;
>  	}
> 
> @@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
>  							i, &gname);
>  		if (ret) {
>  			dev_err(dev,
> -				"failed to read pin name %d from %s node\n",
> -				i, func_np->name);
> +				"failed to read pin name %d from %pOFn node\n",
> +				i, func_np);
>  			return ret;
>  		}
> 

For Samsung pinctrl:
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19  5:54   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2017-07-19  5:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jul 18, 2017 at 04:43:23PM -0500, Rob Herring wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list at broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio at vger.kernel.org
> Cc: linux-rpi-kernel at lists.infradead.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: kernel at stlinux.com
> Cc: linux-samsung-soc at vger.kernel.org
> Cc: linux-renesas-soc at vger.kernel.org
> ---
>  drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
>  drivers/pinctrl/devicetree.c              |  4 ++--
>  drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
>  drivers/pinctrl/pinconf-generic.c         |  7 +++----
>  drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------
>  drivers/pinctrl/pinctrl-st.c              |  2 +-
>  drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
>  drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
>  drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
>  drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
>  10 files changed, 34 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 230883168e99..3e71e5d782ee 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
>  	struct pinctrl_map *map = *maps;
> 
>  	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
> -		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
> -			of_node_full_name(np), fnum);
> +		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
>  		return -EINVAL;
>  	}
> 
> @@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
>  	unsigned long *configs;
> 
>  	if (pull > 2) {
> -		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
> -			of_node_full_name(np), pull);
> +		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
>  		return -EINVAL;
>  	}
> 
> @@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	pins = of_find_property(np, "brcm,pins", NULL);
>  	if (!pins) {
> -		dev_err(pc->dev, "%s: missing brcm,pins property\n",
> -				of_node_full_name(np));
> +		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (!funcs && !pulls) {
>  		dev_err(pc->dev,
> -			"%s: neither brcm,function nor brcm,pull specified\n",
> -			of_node_full_name(np));
> +			"%pOF: neither brcm,function nor brcm,pull specified\n",
> +			np);
>  		return -EINVAL;
>  	}
> 
> @@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (num_funcs > 1 && num_funcs != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,function must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,function must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
>  	if (num_pulls > 1 && num_pulls != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,pull must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,pull must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
> @@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
>  		if (err)
>  			goto out;
>  		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
> -			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
> -				of_node_full_name(np), pin);
> +			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
> +				np, pin);
>  			err = -EINVAL;
>  			goto out;
>  		}
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index 0e5c9f14a706..0a20afc2210c 100644
> --- a/drivers/pinctrl/devicetree.c
> +++ b/drivers/pinctrl/devicetree.c
> @@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
>  	for (;;) {
>  		np_pctldev = of_get_next_parent(np_pctldev);
>  		if (!np_pctldev || of_node_is_root(np_pctldev)) {
> -			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
> -				np_config->full_name);
> +			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
> +				np_config);
>  			of_node_put(np_pctldev);
>  			/* OK let's just assume this will appear later then */
>  			return -EPROBE_DEFER;
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
> index 72aca758f4c6..1f0095a69407 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx.c
> @@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
>  		list = of_get_property(np, "pins", &size);
>  		if (!list) {
>  			dev_err(info->dev,
> -				"no fsl,pins and pins property in node %s\n",
> -				np->full_name);
> +				"no fsl,pins and pins property in node %pOF\n", np);
>  			return -EINVAL;
>  		}
>  	}
> 
>  	/* we do not check return since it's safe node passed down */
>  	if (!size || size % pin_size) {
> -		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
> -			np->full_name);
> +		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
>  	func->name = np->name;
>  	func->num_group_names = of_get_child_count(np);
>  	if (func->num_group_names == 0) {
> -		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
> +		dev_err(info->dev, "no groups defined in %pOF\n", np);
>  		return -EINVAL;
>  	}
>  	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index fc0c230aa11f..4cf901c78130 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	if (ret < 0) {
>  		/* EINVAL=missing, which is fine since it's optional */
>  		if (ret != -EINVAL)
> -			dev_err(dev, "%s: could not parse property function\n",
> -				of_node_full_name(np));
> +			dev_err(dev, "%pOF: could not parse property function\n",
> +				np);
>  		function = NULL;
>  	}
> 
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(dev, "%pOF: could not parse node property\n", np);
>  		return ret;
>  	}
> 
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index dc8591543dee..b1ca838dd80a 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(pctldev->dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
> +			np);
>  		return ret;
>  	}
> 
> @@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
> 
>  	num_pins = pins->length / sizeof(u32);
>  	if (!num_pins) {
> -		dev_err(pctldev->dev, "no pins found in node %s\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
>  		ret = -EINVAL;
>  		goto exit;
>  	}
> @@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (ret < 0) {
>  		pinctrl_utils_free_map(pctldev, *map, *num_maps);
> -		dev_err(pctldev->dev, "can't create maps for node %s\n",
> -			np_config->full_name);
> +		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
> +			np_config);
>  	}
> 
>  	return ret;
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 3ae8066bc127..1703977de7cf 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>  			return err;
>  		}
>  	} else {
> -		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
> +		dev_info(dev, "No IRQ support for %pOF bank\n", np);
>  	}
> 
>  	return 0;
> diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
> index edfba506e958..09d35006acb2 100644
> --- a/drivers/pinctrl/pinctrl-tb10x.c
> +++ b/drivers/pinctrl/pinctrl-tb10x.c
> @@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
>  	int ret = 0;
> 
>  	if (of_property_read_string(np_config, "abilis,function", &string)) {
> -		pr_err("%s: No abilis,function property in device tree.\n",
> -			np_config->full_name);
> +		pr_err("%pOF: No abilis,function property in device tree.\n",
> +			np_config);
>  		return -EINVAL;
>  	}
> 
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index f542642eed8d..20b59bb02196 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,
> 
>  	npins = of_property_count_strings(func_np, "samsung,pins");
>  	if (npins < 1) {
> -		dev_err(dev, "invalid pin list in %s node", func_np->name);
> +		dev_err(dev, "invalid pin list in %pOFn node", func_np);
>  		return -EINVAL;
>  	}
> 
> @@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
>  							i, &gname);
>  		if (ret) {
>  			dev_err(dev,
> -				"failed to read pin name %d from %s node\n",
> -				i, func_np->name);
> +				"failed to read pin name %d from %pOFn node\n",
> +				i, func_np);
>  			return ret;
>  		}
> 

For Samsung pinctrl:
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
  2017-07-18 21:43 ` Rob Herring
  (?)
@ 2017-07-19  5:57   ` Ludovic Desroches
  -1 siblings, 0 replies; 24+ messages in thread
From: Ludovic Desroches @ 2017-07-19  5:57 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linus Walleij, linux-kernel, devicetree, Lee Jones, Eric Anholt,
	Stefan Wahren, Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio,
	linux-rpi-kernel

On Tue, Jul 18, 2017 at 04:43:23PM -0500, Rob Herring wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@stlinux.com
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
>  drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
>  drivers/pinctrl/devicetree.c              |  4 ++--
>  drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
>  drivers/pinctrl/pinconf-generic.c         |  7 +++----
>  drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------

Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>

>  drivers/pinctrl/pinctrl-st.c              |  2 +-
>  drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
>  drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
>  drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
>  drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
>  10 files changed, 34 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 230883168e99..3e71e5d782ee 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
>  	struct pinctrl_map *map = *maps;
> 
>  	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
> -		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
> -			of_node_full_name(np), fnum);
> +		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
>  		return -EINVAL;
>  	}
> 
> @@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
>  	unsigned long *configs;
> 
>  	if (pull > 2) {
> -		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
> -			of_node_full_name(np), pull);
> +		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
>  		return -EINVAL;
>  	}
> 
> @@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	pins = of_find_property(np, "brcm,pins", NULL);
>  	if (!pins) {
> -		dev_err(pc->dev, "%s: missing brcm,pins property\n",
> -				of_node_full_name(np));
> +		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (!funcs && !pulls) {
>  		dev_err(pc->dev,
> -			"%s: neither brcm,function nor brcm,pull specified\n",
> -			of_node_full_name(np));
> +			"%pOF: neither brcm,function nor brcm,pull specified\n",
> +			np);
>  		return -EINVAL;
>  	}
> 
> @@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (num_funcs > 1 && num_funcs != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,function must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,function must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
>  	if (num_pulls > 1 && num_pulls != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,pull must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,pull must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
> @@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
>  		if (err)
>  			goto out;
>  		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
> -			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
> -				of_node_full_name(np), pin);
> +			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
> +				np, pin);
>  			err = -EINVAL;
>  			goto out;
>  		}
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index 0e5c9f14a706..0a20afc2210c 100644
> --- a/drivers/pinctrl/devicetree.c
> +++ b/drivers/pinctrl/devicetree.c
> @@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
>  	for (;;) {
>  		np_pctldev = of_get_next_parent(np_pctldev);
>  		if (!np_pctldev || of_node_is_root(np_pctldev)) {
> -			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
> -				np_config->full_name);
> +			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
> +				np_config);
>  			of_node_put(np_pctldev);
>  			/* OK let's just assume this will appear later then */
>  			return -EPROBE_DEFER;
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
> index 72aca758f4c6..1f0095a69407 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx.c
> @@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
>  		list = of_get_property(np, "pins", &size);
>  		if (!list) {
>  			dev_err(info->dev,
> -				"no fsl,pins and pins property in node %s\n",
> -				np->full_name);
> +				"no fsl,pins and pins property in node %pOF\n", np);
>  			return -EINVAL;
>  		}
>  	}
> 
>  	/* we do not check return since it's safe node passed down */
>  	if (!size || size % pin_size) {
> -		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
> -			np->full_name);
> +		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
>  	func->name = np->name;
>  	func->num_group_names = of_get_child_count(np);
>  	if (func->num_group_names == 0) {
> -		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
> +		dev_err(info->dev, "no groups defined in %pOF\n", np);
>  		return -EINVAL;
>  	}
>  	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index fc0c230aa11f..4cf901c78130 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	if (ret < 0) {
>  		/* EINVAL=missing, which is fine since it's optional */
>  		if (ret != -EINVAL)
> -			dev_err(dev, "%s: could not parse property function\n",
> -				of_node_full_name(np));
> +			dev_err(dev, "%pOF: could not parse property function\n",
> +				np);
>  		function = NULL;
>  	}
> 
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(dev, "%pOF: could not parse node property\n", np);
>  		return ret;
>  	}
> 
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index dc8591543dee..b1ca838dd80a 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(pctldev->dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
> +			np);
>  		return ret;
>  	}
> 
> @@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
> 
>  	num_pins = pins->length / sizeof(u32);
>  	if (!num_pins) {
> -		dev_err(pctldev->dev, "no pins found in node %s\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
>  		ret = -EINVAL;
>  		goto exit;
>  	}
> @@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (ret < 0) {
>  		pinctrl_utils_free_map(pctldev, *map, *num_maps);
> -		dev_err(pctldev->dev, "can't create maps for node %s\n",
> -			np_config->full_name);
> +		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
> +			np_config);
>  	}
> 
>  	return ret;
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 3ae8066bc127..1703977de7cf 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>  			return err;
>  		}
>  	} else {
> -		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
> +		dev_info(dev, "No IRQ support for %pOF bank\n", np);
>  	}
> 
>  	return 0;
> diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
> index edfba506e958..09d35006acb2 100644
> --- a/drivers/pinctrl/pinctrl-tb10x.c
> +++ b/drivers/pinctrl/pinctrl-tb10x.c
> @@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
>  	int ret = 0;
> 
>  	if (of_property_read_string(np_config, "abilis,function", &string)) {
> -		pr_err("%s: No abilis,function property in device tree.\n",
> -			np_config->full_name);
> +		pr_err("%pOF: No abilis,function property in device tree.\n",
> +			np_config);
>  		return -EINVAL;
>  	}
> 
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index f542642eed8d..20b59bb02196 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,
> 
>  	npins = of_property_count_strings(func_np, "samsung,pins");
>  	if (npins < 1) {
> -		dev_err(dev, "invalid pin list in %s node", func_np->name);
> +		dev_err(dev, "invalid pin list in %pOFn node", func_np);
>  		return -EINVAL;
>  	}
> 
> @@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
>  							i, &gname);
>  		if (ret) {
>  			dev_err(dev,
> -				"failed to read pin name %d from %s node\n",
> -				i, func_np->name);
> +				"failed to read pin name %d from %pOFn node\n",
> +				i, func_np);
>  			return ret;
>  		}
> 
> diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
> index a70157f0acf4..e7a92eec06c2 100644
> --- a/drivers/pinctrl/sh-pfc/pinctrl.c
> +++ b/drivers/pinctrl/sh-pfc/pinctrl.c
> @@ -290,7 +290,7 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
>  	if (*num_maps)
>  		return 0;
> 
> -	dev_err(dev, "no mapping found in node %s\n", np->full_name);
> +	dev_err(dev, "no mapping found in node %pOF\n", np);
>  	ret = -EINVAL;
> 
>  done:
> diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
> index 0df72be60704..80bfd4719199 100644
> --- a/drivers/pinctrl/sirf/pinctrl-sirf.c
> +++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
> @@ -810,7 +810,7 @@ static int sirfsoc_gpio_probe(struct device_node *np)
>  	sgpio->chip.gc.set = sirfsoc_gpio_set_value;
>  	sgpio->chip.gc.base = 0;
>  	sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS;
> -	sgpio->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
> +	sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np);
>  	sgpio->chip.gc.of_node = np;
>  	sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
>  	sgpio->chip.gc.of_gpio_n_cells = 2;
> @@ -819,8 +819,8 @@ static int sirfsoc_gpio_probe(struct device_node *np)
> 
>  	err = gpiochip_add_data(&sgpio->chip.gc, sgpio);
>  	if (err) {
> -		dev_err(&pdev->dev, "%s: error in probe function with status %d\n",
> -			np->full_name, err);
> +		dev_err(&pdev->dev, "%pOF: error in probe function with status %d\n",
> +			np, err);
>  		goto out;
>  	}
> 
> --
> 2.11.0
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19  5:57   ` Ludovic Desroches
  0 siblings, 0 replies; 24+ messages in thread
From: Ludovic Desroches @ 2017-07-19  5:57 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linus Walleij, linux-kernel, devicetree, Lee Jones, Eric Anholt,
	Stefan Wahren, Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, kernel, linux-samsung-soc,
	linux-renesas-soc

On Tue, Jul 18, 2017 at 04:43:23PM -0500, Rob Herring wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@stlinux.com
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
>  drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
>  drivers/pinctrl/devicetree.c              |  4 ++--
>  drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
>  drivers/pinctrl/pinconf-generic.c         |  7 +++----
>  drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------

Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>

>  drivers/pinctrl/pinctrl-st.c              |  2 +-
>  drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
>  drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
>  drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
>  drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
>  10 files changed, 34 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 230883168e99..3e71e5d782ee 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
>  	struct pinctrl_map *map = *maps;
> 
>  	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
> -		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
> -			of_node_full_name(np), fnum);
> +		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
>  		return -EINVAL;
>  	}
> 
> @@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
>  	unsigned long *configs;
> 
>  	if (pull > 2) {
> -		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
> -			of_node_full_name(np), pull);
> +		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
>  		return -EINVAL;
>  	}
> 
> @@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	pins = of_find_property(np, "brcm,pins", NULL);
>  	if (!pins) {
> -		dev_err(pc->dev, "%s: missing brcm,pins property\n",
> -				of_node_full_name(np));
> +		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (!funcs && !pulls) {
>  		dev_err(pc->dev,
> -			"%s: neither brcm,function nor brcm,pull specified\n",
> -			of_node_full_name(np));
> +			"%pOF: neither brcm,function nor brcm,pull specified\n",
> +			np);
>  		return -EINVAL;
>  	}
> 
> @@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (num_funcs > 1 && num_funcs != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,function must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,function must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
>  	if (num_pulls > 1 && num_pulls != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,pull must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,pull must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
> @@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
>  		if (err)
>  			goto out;
>  		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
> -			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
> -				of_node_full_name(np), pin);
> +			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
> +				np, pin);
>  			err = -EINVAL;
>  			goto out;
>  		}
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index 0e5c9f14a706..0a20afc2210c 100644
> --- a/drivers/pinctrl/devicetree.c
> +++ b/drivers/pinctrl/devicetree.c
> @@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
>  	for (;;) {
>  		np_pctldev = of_get_next_parent(np_pctldev);
>  		if (!np_pctldev || of_node_is_root(np_pctldev)) {
> -			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
> -				np_config->full_name);
> +			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
> +				np_config);
>  			of_node_put(np_pctldev);
>  			/* OK let's just assume this will appear later then */
>  			return -EPROBE_DEFER;
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
> index 72aca758f4c6..1f0095a69407 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx.c
> @@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
>  		list = of_get_property(np, "pins", &size);
>  		if (!list) {
>  			dev_err(info->dev,
> -				"no fsl,pins and pins property in node %s\n",
> -				np->full_name);
> +				"no fsl,pins and pins property in node %pOF\n", np);
>  			return -EINVAL;
>  		}
>  	}
> 
>  	/* we do not check return since it's safe node passed down */
>  	if (!size || size % pin_size) {
> -		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
> -			np->full_name);
> +		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
>  	func->name = np->name;
>  	func->num_group_names = of_get_child_count(np);
>  	if (func->num_group_names == 0) {
> -		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
> +		dev_err(info->dev, "no groups defined in %pOF\n", np);
>  		return -EINVAL;
>  	}
>  	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index fc0c230aa11f..4cf901c78130 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	if (ret < 0) {
>  		/* EINVAL=missing, which is fine since it's optional */
>  		if (ret != -EINVAL)
> -			dev_err(dev, "%s: could not parse property function\n",
> -				of_node_full_name(np));
> +			dev_err(dev, "%pOF: could not parse property function\n",
> +				np);
>  		function = NULL;
>  	}
> 
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(dev, "%pOF: could not parse node property\n", np);
>  		return ret;
>  	}
> 
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index dc8591543dee..b1ca838dd80a 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(pctldev->dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
> +			np);
>  		return ret;
>  	}
> 
> @@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
> 
>  	num_pins = pins->length / sizeof(u32);
>  	if (!num_pins) {
> -		dev_err(pctldev->dev, "no pins found in node %s\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
>  		ret = -EINVAL;
>  		goto exit;
>  	}
> @@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (ret < 0) {
>  		pinctrl_utils_free_map(pctldev, *map, *num_maps);
> -		dev_err(pctldev->dev, "can't create maps for node %s\n",
> -			np_config->full_name);
> +		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
> +			np_config);
>  	}
> 
>  	return ret;
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 3ae8066bc127..1703977de7cf 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>  			return err;
>  		}
>  	} else {
> -		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
> +		dev_info(dev, "No IRQ support for %pOF bank\n", np);
>  	}
> 
>  	return 0;
> diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
> index edfba506e958..09d35006acb2 100644
> --- a/drivers/pinctrl/pinctrl-tb10x.c
> +++ b/drivers/pinctrl/pinctrl-tb10x.c
> @@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
>  	int ret = 0;
> 
>  	if (of_property_read_string(np_config, "abilis,function", &string)) {
> -		pr_err("%s: No abilis,function property in device tree.\n",
> -			np_config->full_name);
> +		pr_err("%pOF: No abilis,function property in device tree.\n",
> +			np_config);
>  		return -EINVAL;
>  	}
> 
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index f542642eed8d..20b59bb02196 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,
> 
>  	npins = of_property_count_strings(func_np, "samsung,pins");
>  	if (npins < 1) {
> -		dev_err(dev, "invalid pin list in %s node", func_np->name);
> +		dev_err(dev, "invalid pin list in %pOFn node", func_np);
>  		return -EINVAL;
>  	}
> 
> @@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
>  							i, &gname);
>  		if (ret) {
>  			dev_err(dev,
> -				"failed to read pin name %d from %s node\n",
> -				i, func_np->name);
> +				"failed to read pin name %d from %pOFn node\n",
> +				i, func_np);
>  			return ret;
>  		}
> 
> diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
> index a70157f0acf4..e7a92eec06c2 100644
> --- a/drivers/pinctrl/sh-pfc/pinctrl.c
> +++ b/drivers/pinctrl/sh-pfc/pinctrl.c
> @@ -290,7 +290,7 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
>  	if (*num_maps)
>  		return 0;
> 
> -	dev_err(dev, "no mapping found in node %s\n", np->full_name);
> +	dev_err(dev, "no mapping found in node %pOF\n", np);
>  	ret = -EINVAL;
> 
>  done:
> diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
> index 0df72be60704..80bfd4719199 100644
> --- a/drivers/pinctrl/sirf/pinctrl-sirf.c
> +++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
> @@ -810,7 +810,7 @@ static int sirfsoc_gpio_probe(struct device_node *np)
>  	sgpio->chip.gc.set = sirfsoc_gpio_set_value;
>  	sgpio->chip.gc.base = 0;
>  	sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS;
> -	sgpio->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
> +	sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np);
>  	sgpio->chip.gc.of_node = np;
>  	sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
>  	sgpio->chip.gc.of_gpio_n_cells = 2;
> @@ -819,8 +819,8 @@ static int sirfsoc_gpio_probe(struct device_node *np)
> 
>  	err = gpiochip_add_data(&sgpio->chip.gc, sgpio);
>  	if (err) {
> -		dev_err(&pdev->dev, "%s: error in probe function with status %d\n",
> -			np->full_name, err);
> +		dev_err(&pdev->dev, "%pOF: error in probe function with status %d\n",
> +			np, err);
>  		goto out;
>  	}
> 
> --
> 2.11.0
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19  5:57   ` Ludovic Desroches
  0 siblings, 0 replies; 24+ messages in thread
From: Ludovic Desroches @ 2017-07-19  5:57 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jul 18, 2017 at 04:43:23PM -0500, Rob Herring wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list at broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio at vger.kernel.org
> Cc: linux-rpi-kernel at lists.infradead.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: kernel at stlinux.com
> Cc: linux-samsung-soc at vger.kernel.org
> Cc: linux-renesas-soc at vger.kernel.org
> ---
>  drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
>  drivers/pinctrl/devicetree.c              |  4 ++--
>  drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
>  drivers/pinctrl/pinconf-generic.c         |  7 +++----
>  drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------

Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>

>  drivers/pinctrl/pinctrl-st.c              |  2 +-
>  drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
>  drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
>  drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
>  drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
>  10 files changed, 34 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 230883168e99..3e71e5d782ee 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
>  	struct pinctrl_map *map = *maps;
> 
>  	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
> -		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
> -			of_node_full_name(np), fnum);
> +		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
>  		return -EINVAL;
>  	}
> 
> @@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
>  	unsigned long *configs;
> 
>  	if (pull > 2) {
> -		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
> -			of_node_full_name(np), pull);
> +		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
>  		return -EINVAL;
>  	}
> 
> @@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	pins = of_find_property(np, "brcm,pins", NULL);
>  	if (!pins) {
> -		dev_err(pc->dev, "%s: missing brcm,pins property\n",
> -				of_node_full_name(np));
> +		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (!funcs && !pulls) {
>  		dev_err(pc->dev,
> -			"%s: neither brcm,function nor brcm,pull specified\n",
> -			of_node_full_name(np));
> +			"%pOF: neither brcm,function nor brcm,pull specified\n",
> +			np);
>  		return -EINVAL;
>  	}
> 
> @@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (num_funcs > 1 && num_funcs != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,function must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,function must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
>  	if (num_pulls > 1 && num_pulls != num_pins) {
>  		dev_err(pc->dev,
> -			"%s: brcm,pull must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,pull must have 1 or %d entries\n",
> +			np, num_pins);
>  		return -EINVAL;
>  	}
> 
> @@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
>  		if (err)
>  			goto out;
>  		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
> -			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
> -				of_node_full_name(np), pin);
> +			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
> +				np, pin);
>  			err = -EINVAL;
>  			goto out;
>  		}
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index 0e5c9f14a706..0a20afc2210c 100644
> --- a/drivers/pinctrl/devicetree.c
> +++ b/drivers/pinctrl/devicetree.c
> @@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
>  	for (;;) {
>  		np_pctldev = of_get_next_parent(np_pctldev);
>  		if (!np_pctldev || of_node_is_root(np_pctldev)) {
> -			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
> -				np_config->full_name);
> +			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
> +				np_config);
>  			of_node_put(np_pctldev);
>  			/* OK let's just assume this will appear later then */
>  			return -EPROBE_DEFER;
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
> index 72aca758f4c6..1f0095a69407 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx.c
> @@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
>  		list = of_get_property(np, "pins", &size);
>  		if (!list) {
>  			dev_err(info->dev,
> -				"no fsl,pins and pins property in node %s\n",
> -				np->full_name);
> +				"no fsl,pins and pins property in node %pOF\n", np);
>  			return -EINVAL;
>  		}
>  	}
> 
>  	/* we do not check return since it's safe node passed down */
>  	if (!size || size % pin_size) {
> -		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
> -			np->full_name);
> +		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
>  		return -EINVAL;
>  	}
> 
> @@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
>  	func->name = np->name;
>  	func->num_group_names = of_get_child_count(np);
>  	if (func->num_group_names == 0) {
> -		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
> +		dev_err(info->dev, "no groups defined in %pOF\n", np);
>  		return -EINVAL;
>  	}
>  	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index fc0c230aa11f..4cf901c78130 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	if (ret < 0) {
>  		/* EINVAL=missing, which is fine since it's optional */
>  		if (ret != -EINVAL)
> -			dev_err(dev, "%s: could not parse property function\n",
> -				of_node_full_name(np));
> +			dev_err(dev, "%pOF: could not parse property function\n",
> +				np);
>  		function = NULL;
>  	}
> 
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(dev, "%pOF: could not parse node property\n", np);
>  		return ret;
>  	}
> 
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index dc8591543dee..b1ca838dd80a 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>  					      &num_configs);
>  	if (ret < 0) {
> -		dev_err(pctldev->dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
> +			np);
>  		return ret;
>  	}
> 
> @@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
> 
>  	num_pins = pins->length / sizeof(u32);
>  	if (!num_pins) {
> -		dev_err(pctldev->dev, "no pins found in node %s\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
>  		ret = -EINVAL;
>  		goto exit;
>  	}
> @@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>  	if (ret < 0) {
>  		pinctrl_utils_free_map(pctldev, *map, *num_maps);
> -		dev_err(pctldev->dev, "can't create maps for node %s\n",
> -			np_config->full_name);
> +		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
> +			np_config);
>  	}
> 
>  	return ret;
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 3ae8066bc127..1703977de7cf 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>  			return err;
>  		}
>  	} else {
> -		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
> +		dev_info(dev, "No IRQ support for %pOF bank\n", np);
>  	}
> 
>  	return 0;
> diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
> index edfba506e958..09d35006acb2 100644
> --- a/drivers/pinctrl/pinctrl-tb10x.c
> +++ b/drivers/pinctrl/pinctrl-tb10x.c
> @@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
>  	int ret = 0;
> 
>  	if (of_property_read_string(np_config, "abilis,function", &string)) {
> -		pr_err("%s: No abilis,function property in device tree.\n",
> -			np_config->full_name);
> +		pr_err("%pOF: No abilis,function property in device tree.\n",
> +			np_config);
>  		return -EINVAL;
>  	}
> 
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index f542642eed8d..20b59bb02196 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,
> 
>  	npins = of_property_count_strings(func_np, "samsung,pins");
>  	if (npins < 1) {
> -		dev_err(dev, "invalid pin list in %s node", func_np->name);
> +		dev_err(dev, "invalid pin list in %pOFn node", func_np);
>  		return -EINVAL;
>  	}
> 
> @@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
>  							i, &gname);
>  		if (ret) {
>  			dev_err(dev,
> -				"failed to read pin name %d from %s node\n",
> -				i, func_np->name);
> +				"failed to read pin name %d from %pOFn node\n",
> +				i, func_np);
>  			return ret;
>  		}
> 
> diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
> index a70157f0acf4..e7a92eec06c2 100644
> --- a/drivers/pinctrl/sh-pfc/pinctrl.c
> +++ b/drivers/pinctrl/sh-pfc/pinctrl.c
> @@ -290,7 +290,7 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
>  	if (*num_maps)
>  		return 0;
> 
> -	dev_err(dev, "no mapping found in node %s\n", np->full_name);
> +	dev_err(dev, "no mapping found in node %pOF\n", np);
>  	ret = -EINVAL;
> 
>  done:
> diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
> index 0df72be60704..80bfd4719199 100644
> --- a/drivers/pinctrl/sirf/pinctrl-sirf.c
> +++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
> @@ -810,7 +810,7 @@ static int sirfsoc_gpio_probe(struct device_node *np)
>  	sgpio->chip.gc.set = sirfsoc_gpio_set_value;
>  	sgpio->chip.gc.base = 0;
>  	sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS;
> -	sgpio->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
> +	sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np);
>  	sgpio->chip.gc.of_node = np;
>  	sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
>  	sgpio->chip.gc.of_gpio_n_cells = 2;
> @@ -819,8 +819,8 @@ static int sirfsoc_gpio_probe(struct device_node *np)
> 
>  	err = gpiochip_add_data(&sgpio->chip.gc, sgpio);
>  	if (err) {
> -		dev_err(&pdev->dev, "%s: error in probe function with status %d\n",
> -			np->full_name, err);
> +		dev_err(&pdev->dev, "%pOF: error in probe function with status %d\n",
> +			np, err);
>  		goto out;
>  	}
> 
> --
> 2.11.0
> 

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
  2017-07-18 21:43 ` Rob Herring
  (?)
  (?)
@ 2017-07-19  7:05   ` Patrice CHOTARD
  -1 siblings, 0 replies; 24+ messages in thread
From: Patrice CHOTARD @ 2017-07-19  7:05 UTC (permalink / raw)
  To: Rob Herring, Linus Walleij
  Cc: kernel, Geert Uytterhoeven, Tomasz Figa, Eric Anholt,
	Laurent Pinchart, Sylwester Nawrocki, Stefan Wahren,
	Florian Fainelli, Lee Jones, Krzysztof Kozlowski,
	Ludovic Desroches, bcm-kernel-feedback-list, devicetree, Ray Jui,
	linux-gpio, linux-samsung-soc, linux-rpi-kernel



On 07/18/2017 11:43 PM, Rob Herring wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@stlinux.com
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
>   drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
>   drivers/pinctrl/devicetree.c              |  4 ++--
>   drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
>   drivers/pinctrl/pinconf-generic.c         |  7 +++----
>   drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------
>   drivers/pinctrl/pinctrl-st.c              |  2 +-
>   drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
>   drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
>   drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
>   drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
>   10 files changed, 34 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 230883168e99..3e71e5d782ee 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
>   	struct pinctrl_map *map = *maps;
> 
>   	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
> -		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
> -			of_node_full_name(np), fnum);
> +		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
>   		return -EINVAL;
>   	}
> 
> @@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
>   	unsigned long *configs;
> 
>   	if (pull > 2) {
> -		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
> -			of_node_full_name(np), pull);
> +		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
>   		return -EINVAL;
>   	}
> 
> @@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	pins = of_find_property(np, "brcm,pins", NULL);
>   	if (!pins) {
> -		dev_err(pc->dev, "%s: missing brcm,pins property\n",
> -				of_node_full_name(np));
> +		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
>   		return -EINVAL;
>   	}
> 
> @@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (!funcs && !pulls) {
>   		dev_err(pc->dev,
> -			"%s: neither brcm,function nor brcm,pull specified\n",
> -			of_node_full_name(np));
> +			"%pOF: neither brcm,function nor brcm,pull specified\n",
> +			np);
>   		return -EINVAL;
>   	}
> 
> @@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (num_funcs > 1 && num_funcs != num_pins) {
>   		dev_err(pc->dev,
> -			"%s: brcm,function must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,function must have 1 or %d entries\n",
> +			np, num_pins);
>   		return -EINVAL;
>   	}
> 
>   	if (num_pulls > 1 && num_pulls != num_pins) {
>   		dev_err(pc->dev,
> -			"%s: brcm,pull must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,pull must have 1 or %d entries\n",
> +			np, num_pins);
>   		return -EINVAL;
>   	}
> 
> @@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
>   		if (err)
>   			goto out;
>   		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
> -			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
> -				of_node_full_name(np), pin);
> +			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
> +				np, pin);
>   			err = -EINVAL;
>   			goto out;
>   		}
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index 0e5c9f14a706..0a20afc2210c 100644
> --- a/drivers/pinctrl/devicetree.c
> +++ b/drivers/pinctrl/devicetree.c
> @@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
>   	for (;;) {
>   		np_pctldev = of_get_next_parent(np_pctldev);
>   		if (!np_pctldev || of_node_is_root(np_pctldev)) {
> -			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
> -				np_config->full_name);
> +			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
> +				np_config);
>   			of_node_put(np_pctldev);
>   			/* OK let's just assume this will appear later then */
>   			return -EPROBE_DEFER;
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
> index 72aca758f4c6..1f0095a69407 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx.c
> @@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
>   		list = of_get_property(np, "pins", &size);
>   		if (!list) {
>   			dev_err(info->dev,
> -				"no fsl,pins and pins property in node %s\n",
> -				np->full_name);
> +				"no fsl,pins and pins property in node %pOF\n", np);
>   			return -EINVAL;
>   		}
>   	}
> 
>   	/* we do not check return since it's safe node passed down */
>   	if (!size || size % pin_size) {
> -		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
> -			np->full_name);
> +		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
>   		return -EINVAL;
>   	}
> 
> @@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
>   	func->name = np->name;
>   	func->num_group_names = of_get_child_count(np);
>   	if (func->num_group_names == 0) {
> -		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
> +		dev_err(info->dev, "no groups defined in %pOF\n", np);
>   		return -EINVAL;
>   	}
>   	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index fc0c230aa11f..4cf901c78130 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>   	if (ret < 0) {
>   		/* EINVAL=missing, which is fine since it's optional */
>   		if (ret != -EINVAL)
> -			dev_err(dev, "%s: could not parse property function\n",
> -				of_node_full_name(np));
> +			dev_err(dev, "%pOF: could not parse property function\n",
> +				np);
>   		function = NULL;
>   	}
> 
>   	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>   					      &num_configs);
>   	if (ret < 0) {
> -		dev_err(dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(dev, "%pOF: could not parse node property\n", np);
>   		return ret;
>   	}
> 
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index dc8591543dee..b1ca838dd80a 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>   	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>   					      &num_configs);
>   	if (ret < 0) {
> -		dev_err(pctldev->dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
> +			np);
>   		return ret;
>   	}
> 
> @@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
> 
>   	num_pins = pins->length / sizeof(u32);
>   	if (!num_pins) {
> -		dev_err(pctldev->dev, "no pins found in node %s\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
>   		ret = -EINVAL;
>   		goto exit;
>   	}
> @@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (ret < 0) {
>   		pinctrl_utils_free_map(pctldev, *map, *num_maps);
> -		dev_err(pctldev->dev, "can't create maps for node %s\n",
> -			np_config->full_name);
> +		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
> +			np_config);
>   	}
> 
>   	return ret;
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 3ae8066bc127..1703977de7cf 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>   			return err;
>   		}
>   	} else {
> -		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
> +		dev_info(dev, "No IRQ support for %pOF bank\n", np);
>   	}
> 
>   	return 0;
> diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
> index edfba506e958..09d35006acb2 100644
> --- a/drivers/pinctrl/pinctrl-tb10x.c
> +++ b/drivers/pinctrl/pinctrl-tb10x.c
> @@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
>   	int ret = 0;
> 
>   	if (of_property_read_string(np_config, "abilis,function", &string)) {
> -		pr_err("%s: No abilis,function property in device tree.\n",
> -			np_config->full_name);
> +		pr_err("%pOF: No abilis,function property in device tree.\n",
> +			np_config);
>   		return -EINVAL;
>   	}
> 
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index f542642eed8d..20b59bb02196 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,
> 
>   	npins = of_property_count_strings(func_np, "samsung,pins");
>   	if (npins < 1) {
> -		dev_err(dev, "invalid pin list in %s node", func_np->name);
> +		dev_err(dev, "invalid pin list in %pOFn node", func_np);
>   		return -EINVAL;
>   	}
> 
> @@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
>   							i, &gname);
>   		if (ret) {
>   			dev_err(dev,
> -				"failed to read pin name %d from %s node\n",
> -				i, func_np->name);
> +				"failed to read pin name %d from %pOFn node\n",
> +				i, func_np);
>   			return ret;
>   		}
> 
> diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
> index a70157f0acf4..e7a92eec06c2 100644
> --- a/drivers/pinctrl/sh-pfc/pinctrl.c
> +++ b/drivers/pinctrl/sh-pfc/pinctrl.c
> @@ -290,7 +290,7 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
>   	if (*num_maps)
>   		return 0;
> 
> -	dev_err(dev, "no mapping found in node %s\n", np->full_name);
> +	dev_err(dev, "no mapping found in node %pOF\n", np);
>   	ret = -EINVAL;
> 
>   done:
> diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
> index 0df72be60704..80bfd4719199 100644
> --- a/drivers/pinctrl/sirf/pinctrl-sirf.c
> +++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
> @@ -810,7 +810,7 @@ static int sirfsoc_gpio_probe(struct device_node *np)
>   	sgpio->chip.gc.set = sirfsoc_gpio_set_value;
>   	sgpio->chip.gc.base = 0;
>   	sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS;
> -	sgpio->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
> +	sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np);
>   	sgpio->chip.gc.of_node = np;
>   	sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
>   	sgpio->chip.gc.of_gpio_n_cells = 2;
> @@ -819,8 +819,8 @@ static int sirfsoc_gpio_probe(struct device_node *np)
> 
>   	err = gpiochip_add_data(&sgpio->chip.gc, sgpio);
>   	if (err) {
> -		dev_err(&pdev->dev, "%s: error in probe function with status %d\n",
> -			np->full_name, err);
> +		dev_err(&pdev->dev, "%pOF: error in probe function with status %d\n",
> +			np, err);
>   		goto out;
>   	}
> 
> --
> 2.11.0
> 
For ST pinctrl:

Acked-by: Patrice Chotard <patrice.chotard@st.com>

Thanks

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19  7:05   ` Patrice CHOTARD
  0 siblings, 0 replies; 24+ messages in thread
From: Patrice CHOTARD @ 2017-07-19  7:05 UTC (permalink / raw)
  To: Rob Herring, Linus Walleij
  Cc: linux-kernel, devicetree, Lee Jones, Eric Anholt, Stefan Wahren,
	Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Tomasz Figa,
	Krzysztof Kozlowski, Sylwester Nawrocki, Laurent Pinchart,
	Geert Uytterhoeven, Barry Song, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, kernel, linux-samsung-soc, linux-renesas-soc



On 07/18/2017 11:43 PM, Rob Herring wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@stlinux.com
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
>   drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
>   drivers/pinctrl/devicetree.c              |  4 ++--
>   drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
>   drivers/pinctrl/pinconf-generic.c         |  7 +++----
>   drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------
>   drivers/pinctrl/pinctrl-st.c              |  2 +-
>   drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
>   drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
>   drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
>   drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
>   10 files changed, 34 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 230883168e99..3e71e5d782ee 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
>   	struct pinctrl_map *map = *maps;
> 
>   	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
> -		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
> -			of_node_full_name(np), fnum);
> +		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
>   		return -EINVAL;
>   	}
> 
> @@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
>   	unsigned long *configs;
> 
>   	if (pull > 2) {
> -		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
> -			of_node_full_name(np), pull);
> +		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
>   		return -EINVAL;
>   	}
> 
> @@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	pins = of_find_property(np, "brcm,pins", NULL);
>   	if (!pins) {
> -		dev_err(pc->dev, "%s: missing brcm,pins property\n",
> -				of_node_full_name(np));
> +		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
>   		return -EINVAL;
>   	}
> 
> @@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (!funcs && !pulls) {
>   		dev_err(pc->dev,
> -			"%s: neither brcm,function nor brcm,pull specified\n",
> -			of_node_full_name(np));
> +			"%pOF: neither brcm,function nor brcm,pull specified\n",
> +			np);
>   		return -EINVAL;
>   	}
> 
> @@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (num_funcs > 1 && num_funcs != num_pins) {
>   		dev_err(pc->dev,
> -			"%s: brcm,function must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,function must have 1 or %d entries\n",
> +			np, num_pins);
>   		return -EINVAL;
>   	}
> 
>   	if (num_pulls > 1 && num_pulls != num_pins) {
>   		dev_err(pc->dev,
> -			"%s: brcm,pull must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,pull must have 1 or %d entries\n",
> +			np, num_pins);
>   		return -EINVAL;
>   	}
> 
> @@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
>   		if (err)
>   			goto out;
>   		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
> -			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
> -				of_node_full_name(np), pin);
> +			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
> +				np, pin);
>   			err = -EINVAL;
>   			goto out;
>   		}
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index 0e5c9f14a706..0a20afc2210c 100644
> --- a/drivers/pinctrl/devicetree.c
> +++ b/drivers/pinctrl/devicetree.c
> @@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
>   	for (;;) {
>   		np_pctldev = of_get_next_parent(np_pctldev);
>   		if (!np_pctldev || of_node_is_root(np_pctldev)) {
> -			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
> -				np_config->full_name);
> +			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
> +				np_config);
>   			of_node_put(np_pctldev);
>   			/* OK let's just assume this will appear later then */
>   			return -EPROBE_DEFER;
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
> index 72aca758f4c6..1f0095a69407 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx.c
> @@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
>   		list = of_get_property(np, "pins", &size);
>   		if (!list) {
>   			dev_err(info->dev,
> -				"no fsl,pins and pins property in node %s\n",
> -				np->full_name);
> +				"no fsl,pins and pins property in node %pOF\n", np);
>   			return -EINVAL;
>   		}
>   	}
> 
>   	/* we do not check return since it's safe node passed down */
>   	if (!size || size % pin_size) {
> -		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
> -			np->full_name);
> +		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
>   		return -EINVAL;
>   	}
> 
> @@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
>   	func->name = np->name;
>   	func->num_group_names = of_get_child_count(np);
>   	if (func->num_group_names == 0) {
> -		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
> +		dev_err(info->dev, "no groups defined in %pOF\n", np);
>   		return -EINVAL;
>   	}
>   	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index fc0c230aa11f..4cf901c78130 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>   	if (ret < 0) {
>   		/* EINVAL=missing, which is fine since it's optional */
>   		if (ret != -EINVAL)
> -			dev_err(dev, "%s: could not parse property function\n",
> -				of_node_full_name(np));
> +			dev_err(dev, "%pOF: could not parse property function\n",
> +				np);
>   		function = NULL;
>   	}
> 
>   	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>   					      &num_configs);
>   	if (ret < 0) {
> -		dev_err(dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(dev, "%pOF: could not parse node property\n", np);
>   		return ret;
>   	}
> 
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index dc8591543dee..b1ca838dd80a 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>   	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>   					      &num_configs);
>   	if (ret < 0) {
> -		dev_err(pctldev->dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
> +			np);
>   		return ret;
>   	}
> 
> @@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
> 
>   	num_pins = pins->length / sizeof(u32);
>   	if (!num_pins) {
> -		dev_err(pctldev->dev, "no pins found in node %s\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
>   		ret = -EINVAL;
>   		goto exit;
>   	}
> @@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (ret < 0) {
>   		pinctrl_utils_free_map(pctldev, *map, *num_maps);
> -		dev_err(pctldev->dev, "can't create maps for node %s\n",
> -			np_config->full_name);
> +		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
> +			np_config);
>   	}
> 
>   	return ret;
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 3ae8066bc127..1703977de7cf 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>   			return err;
>   		}
>   	} else {
> -		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
> +		dev_info(dev, "No IRQ support for %pOF bank\n", np);
>   	}
> 
>   	return 0;
> diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
> index edfba506e958..09d35006acb2 100644
> --- a/drivers/pinctrl/pinctrl-tb10x.c
> +++ b/drivers/pinctrl/pinctrl-tb10x.c
> @@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
>   	int ret = 0;
> 
>   	if (of_property_read_string(np_config, "abilis,function", &string)) {
> -		pr_err("%s: No abilis,function property in device tree.\n",
> -			np_config->full_name);
> +		pr_err("%pOF: No abilis,function property in device tree.\n",
> +			np_config);
>   		return -EINVAL;
>   	}
> 
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index f542642eed8d..20b59bb02196 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,
> 
>   	npins = of_property_count_strings(func_np, "samsung,pins");
>   	if (npins < 1) {
> -		dev_err(dev, "invalid pin list in %s node", func_np->name);
> +		dev_err(dev, "invalid pin list in %pOFn node", func_np);
>   		return -EINVAL;
>   	}
> 
> @@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
>   							i, &gname);
>   		if (ret) {
>   			dev_err(dev,
> -				"failed to read pin name %d from %s node\n",
> -				i, func_np->name);
> +				"failed to read pin name %d from %pOFn node\n",
> +				i, func_np);
>   			return ret;
>   		}
> 
> diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
> index a70157f0acf4..e7a92eec06c2 100644
> --- a/drivers/pinctrl/sh-pfc/pinctrl.c
> +++ b/drivers/pinctrl/sh-pfc/pinctrl.c
> @@ -290,7 +290,7 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
>   	if (*num_maps)
>   		return 0;
> 
> -	dev_err(dev, "no mapping found in node %s\n", np->full_name);
> +	dev_err(dev, "no mapping found in node %pOF\n", np);
>   	ret = -EINVAL;
> 
>   done:
> diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
> index 0df72be60704..80bfd4719199 100644
> --- a/drivers/pinctrl/sirf/pinctrl-sirf.c
> +++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
> @@ -810,7 +810,7 @@ static int sirfsoc_gpio_probe(struct device_node *np)
>   	sgpio->chip.gc.set = sirfsoc_gpio_set_value;
>   	sgpio->chip.gc.base = 0;
>   	sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS;
> -	sgpio->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
> +	sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np);
>   	sgpio->chip.gc.of_node = np;
>   	sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
>   	sgpio->chip.gc.of_gpio_n_cells = 2;
> @@ -819,8 +819,8 @@ static int sirfsoc_gpio_probe(struct device_node *np)
> 
>   	err = gpiochip_add_data(&sgpio->chip.gc, sgpio);
>   	if (err) {
> -		dev_err(&pdev->dev, "%s: error in probe function with status %d\n",
> -			np->full_name, err);
> +		dev_err(&pdev->dev, "%pOF: error in probe function with status %d\n",
> +			np, err);
>   		goto out;
>   	}
> 
> --
> 2.11.0
> 
For ST pinctrl:

Acked-by: Patrice Chotard <patrice.chotard@st.com>

Thanks

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19  7:05   ` Patrice CHOTARD
  0 siblings, 0 replies; 24+ messages in thread
From: Patrice CHOTARD @ 2017-07-19  7:05 UTC (permalink / raw)
  To: Rob Herring, Linus Walleij
  Cc: linux-kernel, devicetree, Lee Jones, Eric Anholt, Stefan Wahren,
	Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Tomasz Figa,
	Krzysztof Kozlowski, Sylwester Nawrocki, Laurent Pinchart,
	Geert Uytterhoeven, Barry Song, linux-gpio, linux-rpi-kernel,
	linux-arm-kernel, kernel, linux-samsung-soc, linux-renesas-soc



On 07/18/2017 11:43 PM, Rob Herring wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@stlinux.com
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
>   drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
>   drivers/pinctrl/devicetree.c              |  4 ++--
>   drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
>   drivers/pinctrl/pinconf-generic.c         |  7 +++----
>   drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------
>   drivers/pinctrl/pinctrl-st.c              |  2 +-
>   drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
>   drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
>   drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
>   drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
>   10 files changed, 34 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 230883168e99..3e71e5d782ee 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
>   	struct pinctrl_map *map = *maps;
> 
>   	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
> -		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
> -			of_node_full_name(np), fnum);
> +		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
>   		return -EINVAL;
>   	}
> 
> @@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
>   	unsigned long *configs;
> 
>   	if (pull > 2) {
> -		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
> -			of_node_full_name(np), pull);
> +		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
>   		return -EINVAL;
>   	}
> 
> @@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	pins = of_find_property(np, "brcm,pins", NULL);
>   	if (!pins) {
> -		dev_err(pc->dev, "%s: missing brcm,pins property\n",
> -				of_node_full_name(np));
> +		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
>   		return -EINVAL;
>   	}
> 
> @@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (!funcs && !pulls) {
>   		dev_err(pc->dev,
> -			"%s: neither brcm,function nor brcm,pull specified\n",
> -			of_node_full_name(np));
> +			"%pOF: neither brcm,function nor brcm,pull specified\n",
> +			np);
>   		return -EINVAL;
>   	}
> 
> @@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (num_funcs > 1 && num_funcs != num_pins) {
>   		dev_err(pc->dev,
> -			"%s: brcm,function must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,function must have 1 or %d entries\n",
> +			np, num_pins);
>   		return -EINVAL;
>   	}
> 
>   	if (num_pulls > 1 && num_pulls != num_pins) {
>   		dev_err(pc->dev,
> -			"%s: brcm,pull must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,pull must have 1 or %d entries\n",
> +			np, num_pins);
>   		return -EINVAL;
>   	}
> 
> @@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
>   		if (err)
>   			goto out;
>   		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
> -			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
> -				of_node_full_name(np), pin);
> +			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
> +				np, pin);
>   			err = -EINVAL;
>   			goto out;
>   		}
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index 0e5c9f14a706..0a20afc2210c 100644
> --- a/drivers/pinctrl/devicetree.c
> +++ b/drivers/pinctrl/devicetree.c
> @@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
>   	for (;;) {
>   		np_pctldev = of_get_next_parent(np_pctldev);
>   		if (!np_pctldev || of_node_is_root(np_pctldev)) {
> -			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
> -				np_config->full_name);
> +			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
> +				np_config);
>   			of_node_put(np_pctldev);
>   			/* OK let's just assume this will appear later then */
>   			return -EPROBE_DEFER;
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
> index 72aca758f4c6..1f0095a69407 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx.c
> @@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
>   		list = of_get_property(np, "pins", &size);
>   		if (!list) {
>   			dev_err(info->dev,
> -				"no fsl,pins and pins property in node %s\n",
> -				np->full_name);
> +				"no fsl,pins and pins property in node %pOF\n", np);
>   			return -EINVAL;
>   		}
>   	}
> 
>   	/* we do not check return since it's safe node passed down */
>   	if (!size || size % pin_size) {
> -		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
> -			np->full_name);
> +		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
>   		return -EINVAL;
>   	}
> 
> @@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
>   	func->name = np->name;
>   	func->num_group_names = of_get_child_count(np);
>   	if (func->num_group_names == 0) {
> -		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
> +		dev_err(info->dev, "no groups defined in %pOF\n", np);
>   		return -EINVAL;
>   	}
>   	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index fc0c230aa11f..4cf901c78130 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>   	if (ret < 0) {
>   		/* EINVAL=missing, which is fine since it's optional */
>   		if (ret != -EINVAL)
> -			dev_err(dev, "%s: could not parse property function\n",
> -				of_node_full_name(np));
> +			dev_err(dev, "%pOF: could not parse property function\n",
> +				np);
>   		function = NULL;
>   	}
> 
>   	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>   					      &num_configs);
>   	if (ret < 0) {
> -		dev_err(dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(dev, "%pOF: could not parse node property\n", np);
>   		return ret;
>   	}
> 
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index dc8591543dee..b1ca838dd80a 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>   	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>   					      &num_configs);
>   	if (ret < 0) {
> -		dev_err(pctldev->dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
> +			np);
>   		return ret;
>   	}
> 
> @@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
> 
>   	num_pins = pins->length / sizeof(u32);
>   	if (!num_pins) {
> -		dev_err(pctldev->dev, "no pins found in node %s\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
>   		ret = -EINVAL;
>   		goto exit;
>   	}
> @@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (ret < 0) {
>   		pinctrl_utils_free_map(pctldev, *map, *num_maps);
> -		dev_err(pctldev->dev, "can't create maps for node %s\n",
> -			np_config->full_name);
> +		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
> +			np_config);
>   	}
> 
>   	return ret;
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 3ae8066bc127..1703977de7cf 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>   			return err;
>   		}
>   	} else {
> -		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
> +		dev_info(dev, "No IRQ support for %pOF bank\n", np);
>   	}
> 
>   	return 0;
> diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
> index edfba506e958..09d35006acb2 100644
> --- a/drivers/pinctrl/pinctrl-tb10x.c
> +++ b/drivers/pinctrl/pinctrl-tb10x.c
> @@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
>   	int ret = 0;
> 
>   	if (of_property_read_string(np_config, "abilis,function", &string)) {
> -		pr_err("%s: No abilis,function property in device tree.\n",
> -			np_config->full_name);
> +		pr_err("%pOF: No abilis,function property in device tree.\n",
> +			np_config);
>   		return -EINVAL;
>   	}
> 
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index f542642eed8d..20b59bb02196 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,
> 
>   	npins = of_property_count_strings(func_np, "samsung,pins");
>   	if (npins < 1) {
> -		dev_err(dev, "invalid pin list in %s node", func_np->name);
> +		dev_err(dev, "invalid pin list in %pOFn node", func_np);
>   		return -EINVAL;
>   	}
> 
> @@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
>   							i, &gname);
>   		if (ret) {
>   			dev_err(dev,
> -				"failed to read pin name %d from %s node\n",
> -				i, func_np->name);
> +				"failed to read pin name %d from %pOFn node\n",
> +				i, func_np);
>   			return ret;
>   		}
> 
> diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
> index a70157f0acf4..e7a92eec06c2 100644
> --- a/drivers/pinctrl/sh-pfc/pinctrl.c
> +++ b/drivers/pinctrl/sh-pfc/pinctrl.c
> @@ -290,7 +290,7 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
>   	if (*num_maps)
>   		return 0;
> 
> -	dev_err(dev, "no mapping found in node %s\n", np->full_name);
> +	dev_err(dev, "no mapping found in node %pOF\n", np);
>   	ret = -EINVAL;
> 
>   done:
> diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
> index 0df72be60704..80bfd4719199 100644
> --- a/drivers/pinctrl/sirf/pinctrl-sirf.c
> +++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
> @@ -810,7 +810,7 @@ static int sirfsoc_gpio_probe(struct device_node *np)
>   	sgpio->chip.gc.set = sirfsoc_gpio_set_value;
>   	sgpio->chip.gc.base = 0;
>   	sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS;
> -	sgpio->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
> +	sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np);
>   	sgpio->chip.gc.of_node = np;
>   	sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
>   	sgpio->chip.gc.of_gpio_n_cells = 2;
> @@ -819,8 +819,8 @@ static int sirfsoc_gpio_probe(struct device_node *np)
> 
>   	err = gpiochip_add_data(&sgpio->chip.gc, sgpio);
>   	if (err) {
> -		dev_err(&pdev->dev, "%s: error in probe function with status %d\n",
> -			np->full_name, err);
> +		dev_err(&pdev->dev, "%pOF: error in probe function with status %d\n",
> +			np, err);
>   		goto out;
>   	}
> 
> --
> 2.11.0
> 
For ST pinctrl:

Acked-by: Patrice Chotard <patrice.chotard@st.com>

Thanks

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19  7:05   ` Patrice CHOTARD
  0 siblings, 0 replies; 24+ messages in thread
From: Patrice CHOTARD @ 2017-07-19  7:05 UTC (permalink / raw)
  To: linux-arm-kernel



On 07/18/2017 11:43 PM, Rob Herring wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list at broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio at vger.kernel.org
> Cc: linux-rpi-kernel at lists.infradead.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: kernel at stlinux.com
> Cc: linux-samsung-soc at vger.kernel.org
> Cc: linux-renesas-soc at vger.kernel.org
> ---
>   drivers/pinctrl/bcm/pinctrl-bcm2835.c     | 25 +++++++++++--------------
>   drivers/pinctrl/devicetree.c              |  4 ++--
>   drivers/pinctrl/freescale/pinctrl-imx.c   |  8 +++-----
>   drivers/pinctrl/pinconf-generic.c         |  7 +++----
>   drivers/pinctrl/pinctrl-at91-pio4.c       | 11 +++++------
>   drivers/pinctrl/pinctrl-st.c              |  2 +-
>   drivers/pinctrl/pinctrl-tb10x.c           |  4 ++--
>   drivers/pinctrl/samsung/pinctrl-samsung.c |  6 +++---
>   drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-
>   drivers/pinctrl/sirf/pinctrl-sirf.c       |  6 +++---
>   10 files changed, 34 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> index 230883168e99..3e71e5d782ee 100644
> --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
> @@ -692,8 +692,7 @@ static int bcm2835_pctl_dt_node_to_map_func(struct bcm2835_pinctrl *pc,
>   	struct pinctrl_map *map = *maps;
> 
>   	if (fnum >= ARRAY_SIZE(bcm2835_functions)) {
> -		dev_err(pc->dev, "%s: invalid brcm,function %d\n",
> -			of_node_full_name(np), fnum);
> +		dev_err(pc->dev, "%pOF: invalid brcm,function %d\n", np, fnum);
>   		return -EINVAL;
>   	}
> 
> @@ -713,8 +712,7 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
>   	unsigned long *configs;
> 
>   	if (pull > 2) {
> -		dev_err(pc->dev, "%s: invalid brcm,pull %d\n",
> -			of_node_full_name(np), pull);
> +		dev_err(pc->dev, "%pOF: invalid brcm,pull %d\n", np, pull);
>   		return -EINVAL;
>   	}
> 
> @@ -745,8 +743,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	pins = of_find_property(np, "brcm,pins", NULL);
>   	if (!pins) {
> -		dev_err(pc->dev, "%s: missing brcm,pins property\n",
> -				of_node_full_name(np));
> +		dev_err(pc->dev, "%pOF: missing brcm,pins property\n", np);
>   		return -EINVAL;
>   	}
> 
> @@ -755,8 +752,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (!funcs && !pulls) {
>   		dev_err(pc->dev,
> -			"%s: neither brcm,function nor brcm,pull specified\n",
> -			of_node_full_name(np));
> +			"%pOF: neither brcm,function nor brcm,pull specified\n",
> +			np);
>   		return -EINVAL;
>   	}
> 
> @@ -766,15 +763,15 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (num_funcs > 1 && num_funcs != num_pins) {
>   		dev_err(pc->dev,
> -			"%s: brcm,function must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,function must have 1 or %d entries\n",
> +			np, num_pins);
>   		return -EINVAL;
>   	}
> 
>   	if (num_pulls > 1 && num_pulls != num_pins) {
>   		dev_err(pc->dev,
> -			"%s: brcm,pull must have 1 or %d entries\n",
> -			of_node_full_name(np), num_pins);
> +			"%pOF: brcm,pull must have 1 or %d entries\n",
> +			np, num_pins);
>   		return -EINVAL;
>   	}
> 
> @@ -793,8 +790,8 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
>   		if (err)
>   			goto out;
>   		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
> -			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
> -				of_node_full_name(np), pin);
> +			dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
> +				np, pin);
>   			err = -EINVAL;
>   			goto out;
>   		}
> diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
> index 0e5c9f14a706..0a20afc2210c 100644
> --- a/drivers/pinctrl/devicetree.c
> +++ b/drivers/pinctrl/devicetree.c
> @@ -117,8 +117,8 @@ static int dt_to_map_one_config(struct pinctrl *p,
>   	for (;;) {
>   		np_pctldev = of_get_next_parent(np_pctldev);
>   		if (!np_pctldev || of_node_is_root(np_pctldev)) {
> -			dev_info(p->dev, "could not find pctldev for node %s, deferring probe\n",
> -				np_config->full_name);
> +			dev_info(p->dev, "could not find pctldev for node %pOF, deferring probe\n",
> +				np_config);
>   			of_node_put(np_pctldev);
>   			/* OK let's just assume this will appear later then */
>   			return -EPROBE_DEFER;
> diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
> index 72aca758f4c6..1f0095a69407 100644
> --- a/drivers/pinctrl/freescale/pinctrl-imx.c
> +++ b/drivers/pinctrl/freescale/pinctrl-imx.c
> @@ -573,16 +573,14 @@ static int imx_pinctrl_parse_groups(struct device_node *np,
>   		list = of_get_property(np, "pins", &size);
>   		if (!list) {
>   			dev_err(info->dev,
> -				"no fsl,pins and pins property in node %s\n",
> -				np->full_name);
> +				"no fsl,pins and pins property in node %pOF\n", np);
>   			return -EINVAL;
>   		}
>   	}
> 
>   	/* we do not check return since it's safe node passed down */
>   	if (!size || size % pin_size) {
> -		dev_err(info->dev, "Invalid fsl,pins or pins property in node %s\n",
> -			np->full_name);
> +		dev_err(info->dev, "Invalid fsl,pins or pins property in node %pOF\n", np);
>   		return -EINVAL;
>   	}
> 
> @@ -666,7 +664,7 @@ static int imx_pinctrl_parse_functions(struct device_node *np,
>   	func->name = np->name;
>   	func->num_group_names = of_get_child_count(np);
>   	if (func->num_group_names == 0) {
> -		dev_err(info->dev, "no groups defined in %s\n", np->full_name);
> +		dev_err(info->dev, "no groups defined in %pOF\n", np);
>   		return -EINVAL;
>   	}
>   	func->group_names = devm_kcalloc(info->dev, func->num_group_names,
> diff --git a/drivers/pinctrl/pinconf-generic.c b/drivers/pinctrl/pinconf-generic.c
> index fc0c230aa11f..4cf901c78130 100644
> --- a/drivers/pinctrl/pinconf-generic.c
> +++ b/drivers/pinctrl/pinconf-generic.c
> @@ -316,16 +316,15 @@ int pinconf_generic_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>   	if (ret < 0) {
>   		/* EINVAL=missing, which is fine since it's optional */
>   		if (ret != -EINVAL)
> -			dev_err(dev, "%s: could not parse property function\n",
> -				of_node_full_name(np));
> +			dev_err(dev, "%pOF: could not parse property function\n",
> +				np);
>   		function = NULL;
>   	}
> 
>   	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>   					      &num_configs);
>   	if (ret < 0) {
> -		dev_err(dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(dev, "%pOF: could not parse node property\n", np);
>   		return ret;
>   	}
> 
> diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c
> index dc8591543dee..b1ca838dd80a 100644
> --- a/drivers/pinctrl/pinctrl-at91-pio4.c
> +++ b/drivers/pinctrl/pinctrl-at91-pio4.c
> @@ -494,8 +494,8 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
>   	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs,
>   					      &num_configs);
>   	if (ret < 0) {
> -		dev_err(pctldev->dev, "%s: could not parse node property\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "%pOF: could not parse node property\n",
> +			np);
>   		return ret;
>   	}
> 
> @@ -504,8 +504,7 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev,
> 
>   	num_pins = pins->length / sizeof(u32);
>   	if (!num_pins) {
> -		dev_err(pctldev->dev, "no pins found in node %s\n",
> -			of_node_full_name(np));
> +		dev_err(pctldev->dev, "no pins found in node %pOF\n", np);
>   		ret = -EINVAL;
>   		goto exit;
>   	}
> @@ -584,8 +583,8 @@ static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
> 
>   	if (ret < 0) {
>   		pinctrl_utils_free_map(pctldev, *map, *num_maps);
> -		dev_err(pctldev->dev, "can't create maps for node %s\n",
> -			np_config->full_name);
> +		dev_err(pctldev->dev, "can't create maps for node %pOF\n",
> +			np_config);
>   	}
> 
>   	return ret;
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index 3ae8066bc127..1703977de7cf 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1537,7 +1537,7 @@ static int st_gpiolib_register_bank(struct st_pinctrl *info,
>   			return err;
>   		}
>   	} else {
> -		dev_info(dev, "No IRQ support for %s bank\n", np->full_name);
> +		dev_info(dev, "No IRQ support for %pOF bank\n", np);
>   	}
> 
>   	return 0;
> diff --git a/drivers/pinctrl/pinctrl-tb10x.c b/drivers/pinctrl/pinctrl-tb10x.c
> index edfba506e958..09d35006acb2 100644
> --- a/drivers/pinctrl/pinctrl-tb10x.c
> +++ b/drivers/pinctrl/pinctrl-tb10x.c
> @@ -557,8 +557,8 @@ static int tb10x_dt_node_to_map(struct pinctrl_dev *pctl,
>   	int ret = 0;
> 
>   	if (of_property_read_string(np_config, "abilis,function", &string)) {
> -		pr_err("%s: No abilis,function property in device tree.\n",
> -			np_config->full_name);
> +		pr_err("%pOF: No abilis,function property in device tree.\n",
> +			np_config);
>   		return -EINVAL;
>   	}
> 
> diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> index f542642eed8d..20b59bb02196 100644
> --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> @@ -679,7 +679,7 @@ static int samsung_pinctrl_create_function(struct device *dev,
> 
>   	npins = of_property_count_strings(func_np, "samsung,pins");
>   	if (npins < 1) {
> -		dev_err(dev, "invalid pin list in %s node", func_np->name);
> +		dev_err(dev, "invalid pin list in %pOFn node", func_np);
>   		return -EINVAL;
>   	}
> 
> @@ -696,8 +696,8 @@ static int samsung_pinctrl_create_function(struct device *dev,
>   							i, &gname);
>   		if (ret) {
>   			dev_err(dev,
> -				"failed to read pin name %d from %s node\n",
> -				i, func_np->name);
> +				"failed to read pin name %d from %pOFn node\n",
> +				i, func_np);
>   			return ret;
>   		}
> 
> diff --git a/drivers/pinctrl/sh-pfc/pinctrl.c b/drivers/pinctrl/sh-pfc/pinctrl.c
> index a70157f0acf4..e7a92eec06c2 100644
> --- a/drivers/pinctrl/sh-pfc/pinctrl.c
> +++ b/drivers/pinctrl/sh-pfc/pinctrl.c
> @@ -290,7 +290,7 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
>   	if (*num_maps)
>   		return 0;
> 
> -	dev_err(dev, "no mapping found in node %s\n", np->full_name);
> +	dev_err(dev, "no mapping found in node %pOF\n", np);
>   	ret = -EINVAL;
> 
>   done:
> diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
> index 0df72be60704..80bfd4719199 100644
> --- a/drivers/pinctrl/sirf/pinctrl-sirf.c
> +++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
> @@ -810,7 +810,7 @@ static int sirfsoc_gpio_probe(struct device_node *np)
>   	sgpio->chip.gc.set = sirfsoc_gpio_set_value;
>   	sgpio->chip.gc.base = 0;
>   	sgpio->chip.gc.ngpio = SIRFSOC_GPIO_BANK_SIZE * SIRFSOC_GPIO_NO_OF_BANKS;
> -	sgpio->chip.gc.label = kstrdup(np->full_name, GFP_KERNEL);
> +	sgpio->chip.gc.label = kasprintf(GFP_KERNEL, "%pOF", np);
>   	sgpio->chip.gc.of_node = np;
>   	sgpio->chip.gc.of_xlate = sirfsoc_gpio_of_xlate;
>   	sgpio->chip.gc.of_gpio_n_cells = 2;
> @@ -819,8 +819,8 @@ static int sirfsoc_gpio_probe(struct device_node *np)
> 
>   	err = gpiochip_add_data(&sgpio->chip.gc, sgpio);
>   	if (err) {
> -		dev_err(&pdev->dev, "%s: error in probe function with status %d\n",
> -			np->full_name, err);
> +		dev_err(&pdev->dev, "%pOF: error in probe function with status %d\n",
> +			np, err);
>   		goto out;
>   	}
> 
> --
> 2.11.0
> 
For ST pinctrl:

Acked-by: Patrice Chotard <patrice.chotard@st.com>

Thanks

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
  2017-07-18 21:43 ` Rob Herring
  (?)
  (?)
@ 2017-07-19  7:37   ` Geert Uytterhoeven
  -1 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-07-19  7:37 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linus Walleij, linux-kernel, devicetree, Lee Jones, Eric Anholt,
	Stefan Wahren, Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song

On Tue, Jul 18, 2017 at 11:43 PM, Rob Herring <robh@kernel.org> wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
>
> Signed-off-by: Rob Herring <robh@kernel.org>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

>  drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-

For the sh-pfc part:
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19  7:37   ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-07-19  7:37 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linus Walleij, linux-kernel, devicetree, Lee Jones, Eric Anholt,
	Stefan Wahren, Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, kernel, linux-samsung-soc,
	Linux-Renesas

On Tue, Jul 18, 2017 at 11:43 PM, Rob Herring <robh@kernel.org> wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
>
> Signed-off-by: Rob Herring <robh@kernel.org>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

>  drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-

For the sh-pfc part:
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19  7:37   ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-07-19  7:37 UTC (permalink / raw)
  To: Rob Herring
  Cc: Linus Walleij, linux-kernel, devicetree, Lee Jones, Eric Anholt,
	Stefan Wahren, Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, kernel, linux-samsung-soc,
	Linux-Renesas

On Tue, Jul 18, 2017 at 11:43 PM, Rob Herring <robh@kernel.org> wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
>
> Signed-off-by: Rob Herring <robh@kernel.org>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

>  drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-

For the sh-pfc part:
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19  7:37   ` Geert Uytterhoeven
  0 siblings, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2017-07-19  7:37 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jul 18, 2017 at 11:43 PM, Rob Herring <robh@kernel.org> wrote:
> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
>
> Signed-off-by: Rob Herring <robh@kernel.org>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

>  drivers/pinctrl/sh-pfc/pinctrl.c          |  2 +-

For the sh-pfc part:
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
  2017-07-18 21:43 ` Rob Herring
  (?)
@ 2017-07-19 19:50   ` Eric Anholt
  -1 siblings, 0 replies; 24+ messages in thread
From: Eric Anholt @ 2017-07-19 19:50 UTC (permalink / raw)
  To: Rob Herring, Linus Walleij
  Cc: linux-kernel, devicetree, Lee Jones, Stefan Wahren,
	Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, kernel, linux-samsung-

[-- Attachment #1: Type: text/plain, Size: 276 bytes --]

Rob Herring <robh@kernel.org> writes:

> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.

For bcm283x:

Acked-by: Eric Anholt <eric@anholt.net>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19 19:50   ` Eric Anholt
  0 siblings, 0 replies; 24+ messages in thread
From: Eric Anholt @ 2017-07-19 19:50 UTC (permalink / raw)
  To: Rob Herring, Linus Walleij
  Cc: linux-kernel, devicetree, Lee Jones, Stefan Wahren,
	Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel, kernel, linux-samsung-soc,
	linux-renesas-soc

[-- Attachment #1: Type: text/plain, Size: 276 bytes --]

Rob Herring <robh@kernel.org> writes:

> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.

For bcm283x:

Acked-by: Eric Anholt <eric@anholt.net>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-07-19 19:50   ` Eric Anholt
  0 siblings, 0 replies; 24+ messages in thread
From: Eric Anholt @ 2017-07-19 19:50 UTC (permalink / raw)
  To: linux-arm-kernel

Rob Herring <robh@kernel.org> writes:

> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.

For bcm283x:

Acked-by: Eric Anholt <eric@anholt.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170719/d478e68a/attachment.sig>

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
  2017-07-18 21:43 ` Rob Herring
  (?)
  (?)
@ 2017-08-02 11:51   ` Linus Walleij
  -1 siblings, 0 replies; 24+ messages in thread
From: Linus Walleij @ 2017-08-02 11:51 UTC (permalink / raw)
  To: Rob Herring
  Cc: linux-kernel, devicetree, Lee Jones, Eric Anholt, Stefan Wahren,
	Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio

On Tue, Jul 18, 2017 at 11:43 PM, Rob Herring <robh@kernel.org> wrote:

> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@stlinux.com
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org

Patch applied with the recieved ACKs.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-08-02 11:51   ` Linus Walleij
  0 siblings, 0 replies; 24+ messages in thread
From: Linus Walleij @ 2017-08-02 11:51 UTC (permalink / raw)
  To: Rob Herring
  Cc: linux-kernel, devicetree, Lee Jones, Eric Anholt, Stefan Wahren,
	Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel,
	open list:ARM/STI ARCHITECTURE, linux-samsung-soc, Linux-Renesas

On Tue, Jul 18, 2017 at 11:43 PM, Rob Herring <robh@kernel.org> wrote:

> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@stlinux.com
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org

Patch applied with the recieved ACKs.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-08-02 11:51   ` Linus Walleij
  0 siblings, 0 replies; 24+ messages in thread
From: Linus Walleij @ 2017-08-02 11:51 UTC (permalink / raw)
  To: Rob Herring
  Cc: linux-kernel, devicetree, Lee Jones, Eric Anholt, Stefan Wahren,
	Florian Fainelli, Ray Jui, Scott Branden,
	bcm-kernel-feedback-list, Ludovic Desroches, Patrice Chotard,
	Tomasz Figa, Krzysztof Kozlowski, Sylwester Nawrocki,
	Laurent Pinchart, Geert Uytterhoeven, Barry Song, linux-gpio,
	linux-rpi-kernel, linux-arm-kernel,
	open list:ARM/STI ARCHITECTURE, linux-samsung-soc, Linux-Renesas

On Tue, Jul 18, 2017 at 11:43 PM, Rob Herring <robh@kernel.org> wrote:

> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list@broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: kernel@stlinux.com
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org

Patch applied with the recieved ACKs.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH] pinctrl: Convert to using %pOF instead of full_name
@ 2017-08-02 11:51   ` Linus Walleij
  0 siblings, 0 replies; 24+ messages in thread
From: Linus Walleij @ 2017-08-02 11:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jul 18, 2017 at 11:43 PM, Rob Herring <robh@kernel.org> wrote:

> Now that we have a custom printf format specifier, convert users of
> full_name to use %pOF instead. This is preparation to remove storing
> of the full path string for each node.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Stefan Wahren <stefan.wahren@i2se.com>
> Cc: Florian Fainelli <f.fainelli@gmail.com>
> Cc: Ray Jui <rjui@broadcom.com>
> Cc: Scott Branden <sbranden@broadcom.com>
> Cc: bcm-kernel-feedback-list at broadcom.com
> Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Tomasz Figa <tomasz.figa@gmail.com>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Barry Song <baohua@kernel.org>
> Cc: linux-gpio at vger.kernel.org
> Cc: linux-rpi-kernel at lists.infradead.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: kernel at stlinux.com
> Cc: linux-samsung-soc at vger.kernel.org
> Cc: linux-renesas-soc at vger.kernel.org

Patch applied with the recieved ACKs.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2017-08-02 11:51 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-18 21:43 [PATCH] pinctrl: Convert to using %pOF instead of full_name Rob Herring
2017-07-18 21:43 ` Rob Herring
2017-07-18 21:43 ` Rob Herring
2017-07-19  5:54 ` Krzysztof Kozlowski
2017-07-19  5:54   ` Krzysztof Kozlowski
2017-07-19  5:54   ` Krzysztof Kozlowski
2017-07-19  5:57 ` Ludovic Desroches
2017-07-19  5:57   ` Ludovic Desroches
2017-07-19  5:57   ` Ludovic Desroches
2017-07-19  7:05 ` Patrice CHOTARD
2017-07-19  7:05   ` Patrice CHOTARD
2017-07-19  7:05   ` Patrice CHOTARD
2017-07-19  7:05   ` Patrice CHOTARD
2017-07-19  7:37 ` Geert Uytterhoeven
2017-07-19  7:37   ` Geert Uytterhoeven
2017-07-19  7:37   ` Geert Uytterhoeven
2017-07-19  7:37   ` Geert Uytterhoeven
2017-07-19 19:50 ` Eric Anholt
2017-07-19 19:50   ` Eric Anholt
2017-07-19 19:50   ` Eric Anholt
2017-08-02 11:51 ` Linus Walleij
2017-08-02 11:51   ` Linus Walleij
2017-08-02 11:51   ` Linus Walleij
2017-08-02 11:51   ` Linus Walleij

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.