RE: [PATCH v2] staging: kpc2000: kpc_i2c: remove the macros inb_p and outb_p

From: Matt Sickler
Date: Tue Jun 11 2019 - 10:02:03 EST


>-----Original Message-----
>From: devel <driverdev-devel-bounces@xxxxxxxxxxxxxxxxxxxxxx> On Behalf Of
>Geordan Neukum
>
>This inb() call looks like a bug. We perform a 64-bit operation when
>talking to this hardware register everywhere else in this driver. Anyone
>have more insight into the hardware with which this driver interacts
>such that they could shed some light on the subject?

That would be me. I looked at the VHDL for the hardware. The registers seem to
be aligned to 8 bytes but only use the LS byte of each. So it probably doesn't
matter whether the memory transactions are 64-bit or 8-bit.
I know the hardware doesn't support byte-enables either, which is probably why
the registers were padded this way. Probably also why the inb_p and outb_p
macros were redefined.

>Probably a separate issue, but I did notice it as a result of this patch.
>
>Thanks,
>Geordan