Re: [PATCH 02/18] soc: qcom: create "include/soc/qcom/rmnet.h"

From: Alex Elder
Date: Wed May 15 2019 - 08:05:11 EST


On 5/15/19 1:59 AM, Arnd Bergmann wrote:
> On Sun, May 12, 2019 at 3:25 AM Alex Elder <elder@xxxxxxxxxx> wrote:
>
>> diff --git a/include/soc/qcom/rmnet.h b/include/soc/qcom/rmnet.h
>> new file mode 100644
>> index 000000000000..80dcd6e68c3d
>> --- /dev/null
>> +++ b/include/soc/qcom/rmnet.h
>> @@ -0,0 +1,38 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +
>> +/* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
>> + * Copyright (C) 2018-2019 Linaro Ltd.
>> + */
>> +#ifndef _SOC_QCOM_RMNET_H_
>> +#define _SOC_QCOM_RMNET_H_
>> +
>> +#include <linux/types.h>
>> +
>> +/* Header structure that precedes packets in ETH_P_MAP protocol */
>> +struct rmnet_map_header {
>> + u8 pad_len : 6;
>> + u8 reserved_bit : 1;
>> + u8 cd_bit : 1;
>> + u8 mux_id;
>> + __be16 pkt_len;
>> +} __aligned(1);
>
> If we move this into include/soc/, I want the structure to be portable,
> and avoid the bit fields. Please use mask/shift operations or the
> include/linux/bits.h macros instead to make this work with big-endian
> kernels.

Sure, I'll do that. I did that everywhere else in the driver,
but here I just tried to preserve the original code as I moved
it. I will update at least these structures, and all existing
code (plus the IPA code) to use fields masks.

-Alex
>
> Arnd
>