From: Julian Wiedmann <j...@linux.vnet.ibm.com> Date: Mon, 19 Jun 2017 13:22:24 +0200
> +#define DIAG26C_GET_MAC 0x0000 > +struct diag26c_mac_req { > + u32 resp_buf_len; > + u32 resp_version; > + u16 op_code; > + u16 devno; > + u8 res[4]; > +} __packed; The packed attribute is not necessary here, the structure will be perfectly packed together because of the types used and the order of the members. __packed is to be used only in the last possible resort for correctness and every effort whatsoever should be used to avoid using it. > + > +struct diag26c_mac_resp { > + u32 version; > + u8 mac[ETH_ALEN]; > + u16 res; > +} __packed __aligned(8); Using packed with an 8 byte alignment is even more unnecessary. Again, it is not needed, so please don't use it. > + */ > +static inline int __diag26c(void *req, void *resp, enum diag26c_sc subcode) Do not mark functions inline in *.c files, let the compiler decide.