@@ -996,7 +996,7 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
struct pinctrl_pin_desc *pin_desc;
const char **group_names;
const struct of_device_id *match;
- int i, ret;
+ int i, ret, autoname;
struct resource *res;
struct atmel_pioctrl *atmel_pioctrl;
const struct atmel_pioctrl_data *atmel_pioctrl_data;
@@ -1056,6 +1056,7 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
GFP_KERNEL);
if (!atmel_pioctrl->groups)
return -ENOMEM;
+ autoname = !of_property_read_bool(dev->of_node, "no-autoname");
for (i = 0 ; i < atmel_pioctrl->npins; i++) {
struct atmel_group *group = atmel_pioctrl->groups + i;
unsigned bank = ATMEL_PIO_BANK(i);
@@ -1086,8 +1087,9 @@ static int atmel_pinctrl_probe(struct platform_device *pdev)
atmel_pioctrl->gpio_chip->ngpio = atmel_pioctrl->npins;
atmel_pioctrl->gpio_chip->label = dev_name(dev);
atmel_pioctrl->gpio_chip->parent = dev;
- atmel_pioctrl->gpio_chip->names = atmel_pioctrl->group_names;
-
+ if (autoname) {
+ atmel_pioctrl->gpio_chip->names = atmel_pioctrl->group_names;
+ }
atmel_pioctrl->pm_wakeup_sources = devm_kcalloc(dev,
atmel_pioctrl->nbanks,
sizeof(*atmel_pioctrl->pm_wakeup_sources),