pinctrl: equilibrium: Convert to use struct pingroup

The pin control header provides struct pingroup.
Utilize it instead of open coded variants in the driver.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20231204160033.1872569-4-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Andy Shevchenko 2023-12-04 17:56:34 +02:00 committed by Linus Walleij
parent d98d73855f
commit be1d5f5736
1 changed files with 13 additions and 13 deletions

View File

@ -705,7 +705,7 @@ static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata)
struct device *dev = drvdata->dev;
struct device_node *node = dev->of_node;
unsigned int *pins, *pinmux, pin_id, pinmux_id;
struct group_desc group;
struct pingroup group, *grp = &group;
struct device_node *np;
struct property *prop;
int j, err;
@ -721,49 +721,49 @@ static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata)
of_node_put(np);
return err;
}
group.num_pins = err;
group.name = prop->value;
pins = devm_kcalloc(dev, group.num_pins, sizeof(*pins), GFP_KERNEL);
grp->npins = err;
grp->name = prop->value;
pins = devm_kcalloc(dev, grp->npins, sizeof(*pins), GFP_KERNEL);
if (!pins) {
of_node_put(np);
return -ENOMEM;
}
group.pins = pins;
grp->pins = pins;
pinmux = devm_kcalloc(dev, group.num_pins, sizeof(*pinmux), GFP_KERNEL);
pinmux = devm_kcalloc(dev, grp->npins, sizeof(*pinmux), GFP_KERNEL);
if (!pinmux) {
of_node_put(np);
return -ENOMEM;
}
for (j = 0; j < group.num_pins; j++) {
for (j = 0; j < grp->npins; j++) {
if (of_property_read_u32_index(np, "pins", j, &pin_id)) {
dev_err(dev, "Group %s: Read intel pins id failed\n",
group.name);
grp->name);
of_node_put(np);
return -EINVAL;
}
if (pin_id >= drvdata->pctl_desc.npins) {
dev_err(dev, "Group %s: Invalid pin ID, idx: %d, pin %u\n",
group.name, j, pin_id);
grp->name, j, pin_id);
of_node_put(np);
return -EINVAL;
}
pins[j] = pin_id;
if (of_property_read_u32_index(np, "pinmux", j, &pinmux_id)) {
dev_err(dev, "Group %s: Read intel pinmux id failed\n",
group.name);
grp->name);
of_node_put(np);
return -EINVAL;
}
pinmux[j] = pinmux_id;
}
err = pinctrl_generic_add_group(drvdata->pctl_dev, group.name,
group.pins, group.num_pins,
err = pinctrl_generic_add_group(drvdata->pctl_dev,
grp->name, grp->pins, grp->npins,
pinmux);
if (err < 0) {
dev_err(dev, "Failed to register group %s\n", group.name);
dev_err(dev, "Failed to register group %s\n", grp->name);
of_node_put(np);
return err;
}