From: Julian Wiedmann <[email protected]>
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.