mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 07:04:24 +00:00
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:
parent
d98d73855f
commit
be1d5f5736
1 changed files with 13 additions and 13 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue