On Wed, Sep 11, 2019 at 10:11 AM Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> wrote: > On 11/09/2019 01:27:10+0100, Linus Walleij wrote: > > > +#if ATMEL_PIO_NPINS_PER_BANK != BITS_PER_LONG > > > > Should it not be > rather than != ? > > Realistically, the only case that could happen would be > ATMEL_PIO_NPINS_PER_BANK == 32 and BITS_PER_LONG ==64. so I would go for > ATMEL_PIO_NPINS_PER_BANK < BITS_PER_LONG OK I see. > > > + word = BIT_WORD(bank * ATMEL_PIO_NPINS_PER_BANK); > > > + offset = bank * ATMEL_PIO_NPINS_PER_BANK % BITS_PER_LONG; > > > +#endif > > > > This doesn't look good for multiplatform kernels. > > I don't think we have multiplatform kernels that run both in 32 and 64 > bits. I don't believe ATMEL_PIO_NPINS_PER_BANK will ever change, it has > been 32 on all the atmel SoCs since 2001. So there is a bit missing from the commit message: the info that the same driver is being used on 32 and 64 bit builds, and that is the reason we allow compile-time ifdef things. Can you add this to the commit message, or maybe inline in the code, or both? It confused me so it will confuse others. Yours, Linus Walleij