On 4/6/21 7:04 PM, Kashyap Desai wrote: > +/***************************************************************************** > + * Define MPI3_POINTER if it has not already been defined. By default * > + * MPI3_POINTER is defined to be a near pointer. MPI3_POINTER can be defined * > + * as a far pointer by defining MPI3_POINTER as "far *" before this header * > + * file is included. * > + ****************************************************************************/ > +#ifndef MPI3_POINTER > +#define MPI3_POINTER * > +#endif /* MPI3_POINTER */ As far as I know there are no far pointers in the Linux kernel. > +typedef u8 U8; > +typedef __le16 U16; Introducing U16 as an alias for __le16 is confusing since there is already an 'u16' type in the Linux kernel. Please use the __le* types directly. > +typedef __le32 U32; > +typedef __le64 U64 __aligned(4); Do all __le64 variables need four-byte alignment or only some of them? > +typedef U8 * PU8; > +typedef U16 * PU16; > +typedef U32 * PU32; > +typedef U64 * PU64; Please use __le* directly instead of introducing the above aliases. Please also follow the Linux kernel coding style (no space after '*'). Thanks, Bart.