On Wed, May 27, 2020 at 09:51:22AM -0700, Tony Lindgren wrote: > * Drew Fustini <drew@xxxxxxxxxxxxxxx> [200526 12:22]: > > Hello Haojian and Linus, > > > > For pcs_parse_one_pinctrl_entry() in drivers/pinctrl/pinctrl-single.c, > > I see that num_maps is set to 2 if PCS_HAS_PINCONF is enabled: > > > > 1057 if (PCS_HAS_PINCONF && function) { > > 1058 res = pcs_parse_pinconf(pcs, np, function, map); > > 1059 if (res) > > 1060 goto free_pingroups; > > 1061 *num_maps = 2; > > 1062 } else { > > 1063 *num_maps = 1; > > 1064 } > > 1065 mutex_unlock(&pcs->mutex); > > > > git blame shows me that came from 9dddb4df90d13: > > "pinctrl: single: support generic pinconf" > > > > Would you be able to provide any insight as to num_maps needs to be 2 > > when pinconf is enabled? > > Only slightly related, but we should really eventually move omaps to use > #pinctrl-cells = <2> (or 3) instead of 1, and pass the pinconf seprately > from the mux mode. Thanks for the insight, Tony. I was not considering the situation where pinctrl-cells would be more than 1. I see now from pinctrl-single.txt bindings doc that: - #pinctrl-cells : number of cells in addition to the index, set to 1 for pinctrl-single,pins and 2 for pinctrl-single,bits I am now wondering if it wrong for me to expect compatible string of "pinconf-single" to work with pinctrl-cells of 1. I see that arch/arm/boot/dts/da850.dtsi has: 154 pmx_core: pinmux@14120 { 155 compatible = "pinctrl-single"; 156 reg = <0x14120 0x50>; 157 #pinctrl-cells = <2>; 158 pinctrl-single,bit-per-mux; and arch/arm/boot/dts/keystone-k2l.dtsi has: 108 k2l_pmx: pinmux@2620690 { 109 compatible = "pinctrl-single"; 110 reg = <0x02620690 0xc>; 111 #address-cells = <1>; 112 #size-cells = <0>; 113 #pinctrl-cells = <2>; 114 pinctrl-single,bit-per-mux; > We already treat them separately with the new > AM33XX_PADCONF macro, so we'd only have to change one SoC at a time to > use updated #pinctrl-cells. But I think pinctrl-single might need some > changes before we can do that. Do you mean that it would be possible to make the change just for AM335x to start with? Do you think the changes would be limited to pinctrl-single.c and the associated device tree files like am33xx-l4.dtsi ? thanks, drew