Skip to content

Commit c45c3f5

Browse files
MrVangeertu
authored andcommitted
pinctrl: renesas: Use scope based of_node_put() cleanups
Use scope based of_node_put() cleanup to simplify code. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/20240504-pinctrl-cleanup-v2-7-26c5f2dc1181@nxp.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
1 parent 2677110 commit c45c3f5

5 files changed

Lines changed: 17 additions & 41 deletions

File tree

drivers/pinctrl/renesas/pinctrl-rza1.c

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,6 @@ static const struct gpio_chip rza1_gpiochip_template = {
852852
*/
853853
static int rza1_dt_node_pin_count(struct device_node *np)
854854
{
855-
struct device_node *child;
856855
struct property *of_pins;
857856
unsigned int npins;
858857

@@ -861,12 +860,10 @@ static int rza1_dt_node_pin_count(struct device_node *np)
861860
return of_pins->length / sizeof(u32);
862861

863862
npins = 0;
864-
for_each_child_of_node(np, child) {
863+
for_each_child_of_node_scoped(np, child) {
865864
of_pins = of_find_property(child, "pinmux", NULL);
866-
if (!of_pins) {
867-
of_node_put(child);
865+
if (!of_pins)
868866
return -EINVAL;
869-
}
870867

871868
npins += of_pins->length / sizeof(u32);
872869
}
@@ -986,7 +983,6 @@ static int rza1_dt_node_to_map(struct pinctrl_dev *pctldev,
986983
struct rza1_pinctrl *rza1_pctl = pinctrl_dev_get_drvdata(pctldev);
987984
struct rza1_mux_conf *mux_confs, *mux_conf;
988985
unsigned int *grpins, *grpin;
989-
struct device_node *child;
990986
const char *grpname;
991987
const char **fngrps;
992988
int ret, npins;
@@ -1023,13 +1019,11 @@ static int rza1_dt_node_to_map(struct pinctrl_dev *pctldev,
10231019

10241020
ret = rza1_parse_pinmux_node(rza1_pctl, np, mux_conf, grpin);
10251021
if (ret == -ENOENT)
1026-
for_each_child_of_node(np, child) {
1022+
for_each_child_of_node_scoped(np, child) {
10271023
ret = rza1_parse_pinmux_node(rza1_pctl, child, mux_conf,
10281024
grpin);
1029-
if (ret < 0) {
1030-
of_node_put(child);
1025+
if (ret < 0)
10311026
return ret;
1032-
}
10331027

10341028
grpin += ret;
10351029
mux_conf += ret;

drivers/pinctrl/renesas/pinctrl-rzg2l.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -745,21 +745,18 @@ static int rzg2l_dt_node_to_map(struct pinctrl_dev *pctldev,
745745
unsigned int *num_maps)
746746
{
747747
struct rzg2l_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev);
748-
struct device_node *child;
749748
unsigned int index;
750749
int ret;
751750

752751
*map = NULL;
753752
*num_maps = 0;
754753
index = 0;
755754

756-
for_each_child_of_node(np, child) {
755+
for_each_child_of_node_scoped(np, child) {
757756
ret = rzg2l_dt_subnode_to_map(pctldev, child, np, map,
758757
num_maps, &index);
759-
if (ret < 0) {
760-
of_node_put(child);
758+
if (ret < 0)
761759
goto done;
762-
}
763760
}
764761

765762
if (*num_maps == 0) {

drivers/pinctrl/renesas/pinctrl-rzn1.c

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,6 @@ static int rzn1_dt_node_to_map(struct pinctrl_dev *pctldev,
404404
struct pinctrl_map **map,
405405
unsigned int *num_maps)
406406
{
407-
struct device_node *child;
408407
int ret;
409408

410409
*map = NULL;
@@ -414,12 +413,10 @@ static int rzn1_dt_node_to_map(struct pinctrl_dev *pctldev,
414413
if (ret < 0)
415414
return ret;
416415

417-
for_each_child_of_node(np, child) {
416+
for_each_child_of_node_scoped(np, child) {
418417
ret = rzn1_dt_node_to_map_one(pctldev, child, map, num_maps);
419-
if (ret < 0) {
420-
of_node_put(child);
418+
if (ret < 0)
421419
return ret;
422-
}
423420
}
424421

425422
return 0;
@@ -760,7 +757,6 @@ static int rzn1_pinctrl_parse_functions(struct device_node *np,
760757
{
761758
struct rzn1_pmx_func *func;
762759
struct rzn1_pin_group *grp;
763-
struct device_node *child;
764760
unsigned int i = 0;
765761
int ret;
766762

@@ -793,15 +789,13 @@ static int rzn1_pinctrl_parse_functions(struct device_node *np,
793789
ipctl->ngroups++;
794790
}
795791

796-
for_each_child_of_node(np, child) {
792+
for_each_child_of_node_scoped(np, child) {
797793
func->groups[i] = child->name;
798794
grp = &ipctl->groups[ipctl->ngroups];
799795
grp->func = func->name;
800796
ret = rzn1_pinctrl_parse_groups(child, grp, ipctl);
801-
if (ret < 0) {
802-
of_node_put(child);
797+
if (ret < 0)
803798
return ret;
804-
}
805799
i++;
806800
ipctl->ngroups++;
807801
}
@@ -816,7 +810,6 @@ static int rzn1_pinctrl_probe_dt(struct platform_device *pdev,
816810
struct rzn1_pinctrl *ipctl)
817811
{
818812
struct device_node *np = pdev->dev.of_node;
819-
struct device_node *child;
820813
unsigned int maxgroups = 0;
821814
unsigned int i = 0;
822815
int nfuncs = 0;
@@ -834,7 +827,7 @@ static int rzn1_pinctrl_probe_dt(struct platform_device *pdev,
834827
return -ENOMEM;
835828

836829
ipctl->ngroups = 0;
837-
for_each_child_of_node(np, child)
830+
for_each_child_of_node_scoped(np, child)
838831
maxgroups += rzn1_pinctrl_count_function_groups(child);
839832

840833
ipctl->groups = devm_kmalloc_array(&pdev->dev,
@@ -844,12 +837,10 @@ static int rzn1_pinctrl_probe_dt(struct platform_device *pdev,
844837
if (!ipctl->groups)
845838
return -ENOMEM;
846839

847-
for_each_child_of_node(np, child) {
840+
for_each_child_of_node_scoped(np, child) {
848841
ret = rzn1_pinctrl_parse_functions(child, ipctl, i++);
849-
if (ret < 0) {
850-
of_node_put(child);
842+
if (ret < 0)
851843
return ret;
852-
}
853844
}
854845

855846
return 0;

drivers/pinctrl/renesas/pinctrl-rzv2m.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -388,21 +388,18 @@ static int rzv2m_dt_node_to_map(struct pinctrl_dev *pctldev,
388388
unsigned int *num_maps)
389389
{
390390
struct rzv2m_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev);
391-
struct device_node *child;
392391
unsigned int index;
393392
int ret;
394393

395394
*map = NULL;
396395
*num_maps = 0;
397396
index = 0;
398397

399-
for_each_child_of_node(np, child) {
398+
for_each_child_of_node_scoped(np, child) {
400399
ret = rzv2m_dt_subnode_to_map(pctldev, child, np, map,
401400
num_maps, &index);
402-
if (ret < 0) {
403-
of_node_put(child);
401+
if (ret < 0)
404402
goto done;
405-
}
406403
}
407404

408405
if (*num_maps == 0) {

drivers/pinctrl/renesas/pinctrl.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -241,21 +241,18 @@ static int sh_pfc_dt_node_to_map(struct pinctrl_dev *pctldev,
241241
{
242242
struct sh_pfc_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev);
243243
struct device *dev = pmx->pfc->dev;
244-
struct device_node *child;
245244
unsigned int index;
246245
int ret;
247246

248247
*map = NULL;
249248
*num_maps = 0;
250249
index = 0;
251250

252-
for_each_child_of_node(np, child) {
251+
for_each_child_of_node_scoped(np, child) {
253252
ret = sh_pfc_dt_subnode_to_map(pctldev, child, map, num_maps,
254253
&index);
255-
if (ret < 0) {
256-
of_node_put(child);
254+
if (ret < 0)
257255
goto done;
258-
}
259256
}
260257

261258
/* If no mapping has been found in child nodes try the config node. */

0 commit comments

Comments
 (0)