mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-25 02:48:21 +00:00
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: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Tony Prisk <linux@prisktech.co.nz>
This commit is contained in:
parent
dc1010860b
commit
ce63d6d4bb
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user