Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce63d6d4 authored by Stephen Warren's avatar Stephen Warren Committed by Tony Prisk
Browse files

pinctrl: bcm2835: make use of of_property_read_u32_index()



Use the new standard API of_property_read_u32_index() instead of open-
coding it.

Signed-off-by: default avatarStephen Warren <swarren@wwwdotorg.org>
Signed-off-by: default avatarTony Prisk <linux@prisktech.co.nz>
parent dc101086
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -699,11 +699,6 @@ static int bcm2835_pctl_dt_node_to_map_pull(struct bcm2835_pinctrl *pc,
	return 0;
}

static inline u32 prop_u32(struct property *p, int i)
{
	return be32_to_cpup(((__be32 *)p->value) + i);
}

static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
		struct device_node *np,
		struct pinctrl_map **map, unsigned *num_maps)
@@ -761,7 +756,9 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
		return -ENOMEM;

	for (i = 0; i < num_pins; i++) {
		pin = prop_u32(pins, i);
		err = of_property_read_u32_index(np, "brcm,pins", i, &pin);
		if (err)
			goto out;
		if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
			dev_err(pc->dev, "%s: invalid brcm,pins value %d\n",
				of_node_full_name(np), pin);
@@ -770,14 +767,20 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
		}

		if (num_funcs) {
			func = prop_u32(funcs, (num_funcs > 1) ? i : 0);
			err = of_property_read_u32_index(np, "brcm,function",
					(num_funcs > 1) ? i : 0, &func);
			if (err)
				goto out;
			err = bcm2835_pctl_dt_node_to_map_func(pc, np, pin,
							func, &cur_map);
			if (err)
				goto out;
		}
		if (num_pulls) {
			pull = prop_u32(pulls, (num_pulls > 1) ? i : 0);
			err = of_property_read_u32_index(np, "brcm,pull",
					(num_funcs > 1) ? i : 0, &pull);
			if (err)
				goto out;
			err = bcm2835_pctl_dt_node_to_map_pull(pc, np, pin,
							pull, &cur_map);
			if (err)