> > +static int r8a7794_pin_to_pocctrl(struct sh_pfc *pfc, unsigned int pin,
> > u32 *pocctrl)
> > +{
> > + if (pin < RCAR_GP_PIN(6, 0) || pin > RCAR_GP_PIN(6, 23))
> > + return -EINVAL;
> > +
> > + *pocctrl = 0xe606006c;
> > +
> > + /* GP6_16-23 -> bits 31-24 of pocctrl
> > + * GP6_06 -> bit 23 of pocctrl
> > + * GP6_00-05 -> bits 22-17 of pocctrl
> > + * GP6_07 -> bit 16 of pocctrl
> > + * GP6_14 -> bit 15 of pocctrl
> > + * GP6_08-13 -> bits 14-09 of pocctrl
> > + * GP6_15 -> bit 08 of pocctrl
> > + */
> > + if (pin == RCAR_GP_PIN(6, 6) || pin == RCAR_GP_PIN(6, 14))
> > + return 31 - 2 - (pin & 0x1f);
> > + else if (pin == RCAR_GP_PIN(6, 7) || pin == RCAR_GP_PIN(6, 15))
> > + return 31 - 8 - (pin & 0x1f);
> > + else if (pin < RCAR_GP_PIN(6, 14))
> > + return 31 - 9 - (pin & 0x1f);
> > + else
> > + return 31 + 16 - (pin & 0x1f);
>
> While your code is correct, I think it's easier for the casual reader to use
> a plain switch () statement, and let the optimizer handle the rest.Both is fine with me: Acked-by: Wolfram Sang <[email protected]>
signature.asc
Description: PGP signature
