of: property: Add fw_devlink support for "gpio" and "gpios" binding
Subsystems (2)
PATCH v2 1/1 of: property: Add fw_devlink support for "gpio" and "gpios" binding
To provide backward compatibility for boards that use deprecated DT bindings, we need to add fw_devlink support for "gpio" and "gpios".
---
Greg/Rob,
I think it's better for this to go into driver-core-next because this fixed fw_devlink=on change that's queued for 5.12-rcX.
-Saravana
drivers/of/property.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
drivers/of/property.c +19 -0
@@ -1271,6 +1271,24 @@ static struct device_node *parse_iommu_maps(struct device_node *np,return of_parse_phandle (np, prop_name, (index *4 ) +1 ); } +static struct device_node *parse_gpio_compat (struct device_node *np, +const char *prop_name,int index) +{ +struct of_phandle_args sup_args; + +if (strcmp (prop_name,"gpio" ) &&strcmp (prop_name,"gpios" )) +return NULL ; + +if (of_find_property (np,"gpio-hog" ,NULL )) +return NULL ; + +if (of_parse_phandle_with_args (np, prop_name,"#gpio-cells" , index, + &sup_args)) +return NULL ; + +return sup_args.np; +} +static const struct supplier_bindings of_supplier_bindings[] = { { .parse_prop = parse_clocks, }, { .parse_prop = parse_interconnects, },
@@ -1296,6 +1314,7 @@ static const struct supplier_bindings of_supplier_bindings[] = { { .parse_prop = parse_pinctrl6, }, { .parse_prop = parse_pinctrl7, }, { .parse_prop = parse_pinctrl8, }, + { .parse_prop = parse_gpio_compat, }, { .parse_prop = parse_regulators, }, { .parse_prop = parse_gpio, }, { .parse_prop = parse_gpios, },
Signature · 1 line
2.30.0.284.gd98b1dd5eaa7-goog
Quoted 61 lines · Saravana Kannan
To provide backward compatibility for boards that use deprecated DT bindings, we need to add
fw_devlinksupport for "gpio" and "gpios".Cc linux-tegra <[email protected]>Cc Linus Walleij <[email protected]>Cc Bartosz Golaszewski <[email protected]>Cc Greg Kroah-Hartman <[email protected]>Cc Geert Uytterhoeven <[email protected]>Fixes e590474768f1 ("driver core: Set fw_devlink=on by default")Tested-by Jon Hunter <[email protected]>Signed-off-by Saravana Kannan <[email protected]>---
Greg/Rob,I think it's better for this to go into driver-core-next because this fixed fw_devlink=on change that's queued for 5.12-rcX.
(quoted diff) +0
-1-Saravana drivers/of/property.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)drivers/of/property.c +19
-1@@ -1271,6 +1271,24 @@ static struct device_node *parse_iommu_maps(struct device_node *np,return of_parse_phandle (np, prop_name, (index *4 ) +1 ); } +static struct device_node *parse_gpio_compat (struct device_node *np, +const char *prop_name,int index) +{ +struct of_phandle_args sup_args; + +if (strcmp (prop_name,"gpio" ) &&strcmp (prop_name,"gpios" )) +return NULL ; + +if (of_find_property (np,"gpio-hog" ,NULL )) +return NULL ; + +if (of_parse_phandle_with_args (np, prop_name,"#gpio-cells" , index, + &sup_args)) +return NULL ; + +return sup_args.np; +} +static const struct supplier_bindings of_supplier_bindings[] = { { .parse_prop = parse_clocks, }, { .parse_prop = parse_interconnects, },@@ -1296,6 +1314,7 @@ static const struct supplier_bindings of_supplier_bindings[] = { { .parse_prop = parse_pinctrl6, }, { .parse_prop = parse_pinctrl7, }, { .parse_prop = parse_pinctrl8, }, + { .parse_prop = parse_gpio_compat, }, { .parse_prop = parse_regulators, }, { .parse_prop = parse_gpio, }, { .parse_prop = parse_gpios, }, --
Quoted 2 lines
2.30.0.284.gd98b1dd5eaa7-goog
Please ignore this patch. I'm going to make this part of a series I'll be sending out.
-Saravana