Skip to content

Commit

Permalink
Merge tag 'renesas-pinctrl-for-v6.12-tag1' of git://git.kernel.org/pu…
Browse files Browse the repository at this point in the history
…b/scm/linux/kernel/git/geert/renesas-drivers into devel

pinctrl: renesas: Updates for v6.12

  - Document support for the Renesas RZ/G2M v3.0 (r8a774a3) SoC,
  - Miscellaneous fixes and improvements.

Signed-off-by: Linus Walleij <[email protected]>
  • Loading branch information
linusw committed Aug 26, 2024
2 parents ca428f1 + f73f63b commit d0627b2
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 26 deletions.
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/pinctrl/renesas,pfc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ properties:
- renesas,pfc-r8a7745 # RZ/G1E
- renesas,pfc-r8a77470 # RZ/G1C
- renesas,pfc-r8a774a1 # RZ/G2M
- renesas,pfc-r8a774a3 # RZ/G2M v3.0
- renesas,pfc-r8a774b1 # RZ/G2N
- renesas,pfc-r8a774c0 # RZ/G2E
- renesas,pfc-r8a774e1 # RZ/G2H
Expand Down
45 changes: 19 additions & 26 deletions drivers/pinctrl/renesas/pinctrl-rzg2l.c
Original file line number Diff line number Diff line change
Expand Up @@ -1261,7 +1261,9 @@ static int rzg2l_pinctrl_pinconf_get(struct pinctrl_dev *pctldev,
break;

case PIN_CONFIG_OUTPUT_ENABLE:
if (!pctrl->data->oen_read || !(cfg & PIN_CFG_OEN))
if (!(cfg & PIN_CFG_OEN))
return -EINVAL;
if (!pctrl->data->oen_read)
return -EOPNOTSUPP;
arg = pctrl->data->oen_read(pctrl, _pin);
if (!arg)
Expand Down Expand Up @@ -1402,7 +1404,9 @@ static int rzg2l_pinctrl_pinconf_set(struct pinctrl_dev *pctldev,

case PIN_CONFIG_OUTPUT_ENABLE:
arg = pinconf_to_config_argument(_configs[i]);
if (!pctrl->data->oen_write || !(cfg & PIN_CFG_OEN))
if (!(cfg & PIN_CFG_OEN))
return -EINVAL;
if (!pctrl->data->oen_write)
return -EOPNOTSUPP;
ret = pctrl->data->oen_write(pctrl, _pin, !!arg);
if (ret)
Expand Down Expand Up @@ -2596,16 +2600,13 @@ static int rzg2l_gpio_register(struct rzg2l_pinctrl *pctrl)
return -EPROBE_DEFER;

ret = of_parse_phandle_with_fixed_args(np, "gpio-ranges", 3, 0, &of_args);
if (ret) {
dev_err(pctrl->dev, "Unable to parse gpio-ranges\n");
return ret;
}
if (ret)
return dev_err_probe(pctrl->dev, ret, "Unable to parse gpio-ranges\n");

if (of_args.args[0] != 0 || of_args.args[1] != 0 ||
of_args.args[2] != pctrl->data->n_port_pins) {
dev_err(pctrl->dev, "gpio-ranges does not match selected SOC\n");
return -EINVAL;
}
of_args.args[2] != pctrl->data->n_port_pins)
return dev_err_probe(pctrl->dev, -EINVAL,
"gpio-ranges does not match selected SOC\n");

chip->names = pctrl->data->port_pins;
chip->request = rzg2l_gpio_request;
Expand Down Expand Up @@ -2637,10 +2638,8 @@ static int rzg2l_gpio_register(struct rzg2l_pinctrl *pctrl)
pctrl->gpio_range.name = chip->label;
pctrl->gpio_range.gc = chip;
ret = devm_gpiochip_add_data(pctrl->dev, chip, pctrl);
if (ret) {
dev_err(pctrl->dev, "failed to add GPIO controller\n");
return ret;
}
if (ret)
return dev_err_probe(pctrl->dev, ret, "failed to add GPIO controller\n");

dev_dbg(pctrl->dev, "Registered gpio controller\n");

Expand Down Expand Up @@ -2726,22 +2725,16 @@ static int rzg2l_pinctrl_register(struct rzg2l_pinctrl *pctrl)

ret = devm_pinctrl_register_and_init(pctrl->dev, &pctrl->desc, pctrl,
&pctrl->pctl);
if (ret) {
dev_err(pctrl->dev, "pinctrl registration failed\n");
return ret;
}
if (ret)
return dev_err_probe(pctrl->dev, ret, "pinctrl registration failed\n");

ret = pinctrl_enable(pctrl->pctl);
if (ret) {
dev_err(pctrl->dev, "pinctrl enable failed\n");
return ret;
}
if (ret)
dev_err_probe(pctrl->dev, ret, "pinctrl enable failed\n");

ret = rzg2l_gpio_register(pctrl);
if (ret) {
dev_err(pctrl->dev, "failed to add GPIO chip: %i\n", ret);
return ret;
}
if (ret)
return dev_err_probe(pctrl->dev, ret, "failed to add GPIO chip\n");

return 0;
}
Expand Down

0 comments on commit d0627b2

Please sign in to comment.