> > +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 <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature