[PATCH 2/3] pinctrl: aspeed: Use the right pinconf mask

Joel Stanley joel at jms.id.au
Wed Sep 9 21:52:36 EDT 2020


On Wed, 9 Sep 2020 at 11:43, Andrew Jeffery <andrew at aj.id.au> wrote:
>
> The Aspeed pinconf data structures are split into 'conf' and 'map'
> types, where the 'conf' struct defines which register and bitfield to
> manipulate, while the 'map' struct defines what value to write to
> the register and bitfield.
>
> Both structs have a mask member, and the wrong mask was being used to
> tell the regmap which bits to update.
>
> A todo is to look at whether we can remove the mask from the 'map'
> struct.
>
> Cc: Johnny Huang <johnny_huang at aspeedtech.com>
> Fixes: 5f52c853847f ("pinctrl: aspeed: Use masks to describe pinconf bitfields")
> Signed-off-by: Andrew Jeffery <andrew at aj.id.au>

Owch.

Reviewed-by: Joel Stanley <joel at jms.id.au>

> ---
>  drivers/pinctrl/aspeed/pinctrl-aspeed.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed.c b/drivers/pinctrl/aspeed/pinctrl-aspeed.c
> index d8972911d505..e03ee78b2434 100644
> --- a/drivers/pinctrl/aspeed/pinctrl-aspeed.c
> +++ b/drivers/pinctrl/aspeed/pinctrl-aspeed.c
> @@ -534,7 +534,7 @@ int aspeed_pin_config_set(struct pinctrl_dev *pctldev, unsigned int offset,
>                 val = pmap->val << __ffs(pconf->mask);
>
>                 rc = regmap_update_bits(pdata->scu, pconf->reg,
> -                                       pmap->mask, val);
> +                                       pconf->mask, val);
>
>                 if (rc < 0)
>                         return rc;
> --
> 2.25.1
>



More information about the linux-arm-kernel mailing list