On Sat, Jun 04, 2022 at 08:41:01PM -0700, Saravana Kannan wrote: > On Mon, May 30, 2022 at 2:22 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > > On Thu, May 26, 2022 at 10:16 AM Saravana Kannan <saravanak@xxxxxxxxxx> wrote: > > > Now that fw_devlink=on by default and fw_devlink supports > > > "pinctrl-[0-8]" property, the execution will never get to the point > > > > 0-9? > > > > oh, it's really 0-8: > > > > drivers/of/property.c:DEFINE_SIMPLE_PROP(pinctrl0, "pinctrl-0", NULL) > > drivers/of/property.c:DEFINE_SIMPLE_PROP(pinctrl1, "pinctrl-1", NULL) > > drivers/of/property.c:DEFINE_SIMPLE_PROP(pinctrl2, "pinctrl-2", NULL) > > drivers/of/property.c:DEFINE_SIMPLE_PROP(pinctrl3, "pinctrl-3", NULL) > > drivers/of/property.c:DEFINE_SIMPLE_PROP(pinctrl4, "pinctrl-4", NULL) > > drivers/of/property.c:DEFINE_SIMPLE_PROP(pinctrl5, "pinctrl-5", NULL) > > drivers/of/property.c:DEFINE_SIMPLE_PROP(pinctrl6, "pinctrl-6", NULL) > > drivers/of/property.c:DEFINE_SIMPLE_PROP(pinctrl7, "pinctrl-7", NULL) > > drivers/of/property.c:DEFINE_SIMPLE_PROP(pinctrl8, "pinctrl-8", NULL) > > > > Looks fragile, especially since we now have: > > > > arch/arm64/boot/dts/microchip/sparx5_pcb134_board.dtsi: > > pinctrl-9 = <&i2cmux_9>; > > arch/arm64/boot/dts/microchip/sparx5_pcb134_board.dtsi: pinctrl-10 > > = <&i2cmux_10>; > > arch/arm64/boot/dts/microchip/sparx5_pcb134_board.dtsi: pinctrl-11 > > = <&i2cmux_11>; > > arch/arm64/boot/dts/microchip/sparx5_pcb134_board.dtsi: pinctrl-12 > > = <&i2cmux_pins_i>; > > Checking for pinctrl-* and then verifying if * matches %d would be > more complicated and probably more expensive compared to listing > pinctrl-[0-8]. Especially because more than 50% of pinctrl-* > properties in DT files are NOT pinctrl-%d. So back when we merged > this, Rob and I agreed [0-8] was good enough for now and we can add > more if we needed to. Also, when I checked back then, all the > pinctrl-5+ properties ended up pointing to the same suppliers as the > lower numbered ones. So it didn't make a difference. > > Ok, I just checked linux-next all the pinctrl-9+ instances and it's > still true that they all point to the same supplier pointed to by > pinctrl-[0-8]. > > So yeah, it looks fragile, And feels fragile, adds into confusion, etc. Please, consider redesigning this to be more robust. > but is not broken and it's more efficient > than looking for pinctrl-%d or adding more pinctrl-xx entries. So, > let's fix it if it actually breaks? Not going to oppose a patch if > anyone wants to make it more complete. > > > > where driver_deferred_probe_check_state() is called before the supplier > > > has probed successfully or before deferred probe timeout has expired. > > > > > > So, delete the call and replace it with -ENODEV. -- With Best Regards, Andy Shevchenko