Nam Cao wrote: > The driver always registers pin configurations in device tree. This can > cause some inconvenience to users, as pin configurations in the base > device tree cannot be disabled in the device tree overlay, even when the > relevant devices are not used. > > Ignore disabled pin configuration nodes in device tree. > > Fixes: ec648f6b7686 ("pinctrl: starfive: Add pinctrl driver for StarFive SoCs") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Nam Cao <namcao@xxxxxxxxxxxxx> > --- > drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c b/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c > index 530fe340a9a1..561fd0c6b9b0 100644 > --- a/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c > +++ b/drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c > @@ -492,7 +492,7 @@ static int starfive_dt_node_to_map(struct pinctrl_dev *pctldev, > > nmaps = 0; > ngroups = 0; > - for_each_child_of_node(np, child) { > + for_each_available_child_of_node(np, child) { Hi Nam, Is this safe to do? I mean will the children considered "available" not change as drivers are loaded during boot so this is racy? Also arguably this is not a bugfix, but a new feature. Same comments apply to the JH7110 patch. /Emil > int npinmux = of_property_count_u32_elems(child, "pinmux"); > int npins = of_property_count_u32_elems(child, "pins"); > > @@ -527,7 +527,7 @@ static int starfive_dt_node_to_map(struct pinctrl_dev *pctldev, > nmaps = 0; > ngroups = 0; > mutex_lock(&sfp->mutex); > - for_each_child_of_node(np, child) { > + for_each_available_child_of_node(np, child) { > int npins; > int i; > > -- > 2.39.2 >