pinctrl: equilibrium: Use temporary variable to hold pins
The pins are allocated from the heap, but in order to pass them as constant object, we need to use non-constant pointer. Achieve this by using a temporary variable. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20231129161459.1002323-5-andriy.shevchenko@linux.intel.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
c82c03819b
commit
271e6a0477
@ -704,7 +704,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 *pinmux, pin_id, pinmux_id;
|
||||
unsigned int *pins, *pinmux, pin_id, pinmux_id;
|
||||
struct group_desc group;
|
||||
struct device_node *np;
|
||||
struct property *prop;
|
||||
@ -723,15 +723,14 @@ static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata)
|
||||
}
|
||||
group.num_pins = err;
|
||||
group.name = prop->value;
|
||||
group.pins = devm_kcalloc(dev, group.num_pins,
|
||||
sizeof(*(group.pins)), GFP_KERNEL);
|
||||
if (!group.pins) {
|
||||
pins = devm_kcalloc(dev, group.num_pins, sizeof(*pins), GFP_KERNEL);
|
||||
if (!pins) {
|
||||
of_node_put(np);
|
||||
return -ENOMEM;
|
||||
}
|
||||
group.pins = pins;
|
||||
|
||||
pinmux = devm_kcalloc(dev, group.num_pins, sizeof(*pinmux),
|
||||
GFP_KERNEL);
|
||||
pinmux = devm_kcalloc(dev, group.num_pins, sizeof(*pinmux), GFP_KERNEL);
|
||||
if (!pinmux) {
|
||||
of_node_put(np);
|
||||
return -ENOMEM;
|
||||
@ -750,7 +749,7 @@ static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata)
|
||||
of_node_put(np);
|
||||
return -EINVAL;
|
||||
}
|
||||
group.pins[j] = pin_id;
|
||||
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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user