Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'renesas-pinctrl-for-v6.12-tag1' of git://git.kernel.org/pub/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 <linus.walleij@linaro.org>

+20 -26
+1
Documentation/devicetree/bindings/pinctrl/renesas,pfc.yaml
··· 25 25 - renesas,pfc-r8a7745 # RZ/G1E 26 26 - renesas,pfc-r8a77470 # RZ/G1C 27 27 - renesas,pfc-r8a774a1 # RZ/G2M 28 + - renesas,pfc-r8a774a3 # RZ/G2M v3.0 28 29 - renesas,pfc-r8a774b1 # RZ/G2N 29 30 - renesas,pfc-r8a774c0 # RZ/G2E 30 31 - renesas,pfc-r8a774e1 # RZ/G2H
+19 -26
drivers/pinctrl/renesas/pinctrl-rzg2l.c
··· 1261 1261 break; 1262 1262 1263 1263 case PIN_CONFIG_OUTPUT_ENABLE: 1264 - if (!pctrl->data->oen_read || !(cfg & PIN_CFG_OEN)) 1264 + if (!(cfg & PIN_CFG_OEN)) 1265 + return -EINVAL; 1266 + if (!pctrl->data->oen_read) 1265 1267 return -EOPNOTSUPP; 1266 1268 arg = pctrl->data->oen_read(pctrl, _pin); 1267 1269 if (!arg) ··· 1404 1402 1405 1403 case PIN_CONFIG_OUTPUT_ENABLE: 1406 1404 arg = pinconf_to_config_argument(_configs[i]); 1407 - if (!pctrl->data->oen_write || !(cfg & PIN_CFG_OEN)) 1405 + if (!(cfg & PIN_CFG_OEN)) 1406 + return -EINVAL; 1407 + if (!pctrl->data->oen_write) 1408 1408 return -EOPNOTSUPP; 1409 1409 ret = pctrl->data->oen_write(pctrl, _pin, !!arg); 1410 1410 if (ret) ··· 2600 2596 return -EPROBE_DEFER; 2601 2597 2602 2598 ret = of_parse_phandle_with_fixed_args(np, "gpio-ranges", 3, 0, &of_args); 2603 - if (ret) { 2604 - dev_err(pctrl->dev, "Unable to parse gpio-ranges\n"); 2605 - return ret; 2606 - } 2599 + if (ret) 2600 + return dev_err_probe(pctrl->dev, ret, "Unable to parse gpio-ranges\n"); 2607 2601 2608 2602 if (of_args.args[0] != 0 || of_args.args[1] != 0 || 2609 - of_args.args[2] != pctrl->data->n_port_pins) { 2610 - dev_err(pctrl->dev, "gpio-ranges does not match selected SOC\n"); 2611 - return -EINVAL; 2612 - } 2603 + of_args.args[2] != pctrl->data->n_port_pins) 2604 + return dev_err_probe(pctrl->dev, -EINVAL, 2605 + "gpio-ranges does not match selected SOC\n"); 2613 2606 2614 2607 chip->names = pctrl->data->port_pins; 2615 2608 chip->request = rzg2l_gpio_request; ··· 2638 2637 pctrl->gpio_range.name = chip->label; 2639 2638 pctrl->gpio_range.gc = chip; 2640 2639 ret = devm_gpiochip_add_data(pctrl->dev, chip, pctrl); 2641 - if (ret) { 2642 - dev_err(pctrl->dev, "failed to add GPIO controller\n"); 2643 - return ret; 2644 - } 2640 + if (ret) 2641 + return dev_err_probe(pctrl->dev, ret, "failed to add GPIO controller\n"); 2645 2642 2646 2643 dev_dbg(pctrl->dev, "Registered gpio controller\n"); 2647 2644 ··· 2725 2726 2726 2727 ret = devm_pinctrl_register_and_init(pctrl->dev, &pctrl->desc, pctrl, 2727 2728 &pctrl->pctl); 2728 - if (ret) { 2729 - dev_err(pctrl->dev, "pinctrl registration failed\n"); 2730 - return ret; 2731 - } 2729 + if (ret) 2730 + return dev_err_probe(pctrl->dev, ret, "pinctrl registration failed\n"); 2732 2731 2733 2732 ret = pinctrl_enable(pctrl->pctl); 2734 - if (ret) { 2735 - dev_err(pctrl->dev, "pinctrl enable failed\n"); 2736 - return ret; 2737 - } 2733 + if (ret) 2734 + dev_err_probe(pctrl->dev, ret, "pinctrl enable failed\n"); 2738 2735 2739 2736 ret = rzg2l_gpio_register(pctrl); 2740 - if (ret) { 2741 - dev_err(pctrl->dev, "failed to add GPIO chip: %i\n", ret); 2742 - return ret; 2743 - } 2737 + if (ret) 2738 + return dev_err_probe(pctrl->dev, ret, "failed to add GPIO chip\n"); 2744 2739 2745 2740 return 0; 2746 2741 }