From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755014AbcBZUNI (ORCPT ); Fri, 26 Feb 2016 15:13:08 -0500 Received: from mout.kundenserver.de ([217.72.192.74]:61450 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750893AbcBZUNF (ORCPT ); Fri, 26 Feb 2016 15:13:05 -0500 From: Arnd Bergmann To: Lada Trimasova Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Alexey Brodkin , Noam Camus , Tal Zilcer Subject: Re: [PATCH] net: ezchip: adapt driver to little endian architecture Date: Fri, 26 Feb 2016 21:12:58 +0100 Message-ID: <2727618.vosfDbrtXA@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <1456513509-30844-1-git-send-email-ltrimas@synopsys.com> References: <1456513509-30844-1-git-send-email-ltrimas@synopsys.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:vnWXjJGV6JqweEiMtr9jFSwfORXq2RO+qobgr6hfECGD85Ozfq8 Eu4b56ar52kBevhllMgOOeiY2q7jL8DDAeGZEsvMJ/TUSCwFNMmS3OwKIlziTdoztaT0v9P wPZ22+N2pD9DQf1ng29NhWHZdWzCKThNJlZwktuCcrCkXw1J+dZGmpsF4gRMgB1C7gkjtaM jCvOW5nUs87pS5VcwE1Eg== X-UI-Out-Filterresults: notjunk:1;V01:K0:lR6sy0WRykU=:r8nHSOERJzSYeOD2oWfa7K vqeepH0RnR0cwGh3zshXKgC8hCN2/1dkaAce+apus/uHLntQS9DG3v8luLP+Cw6i5lgkJySxj +yB0oH8U7vGJKKVW7Gvg1mje0wkeqhOkUe0zvWvFoMvxM8v62dWStZq6rn+YGqbH8+l1XpMa3 SYxchXgDnu/bwPu0dFPjONc8KVv1hPs6QgiAu2PGaCc7/b9+5HW7vR/urMr9g7M0e+QaEsLaB TlEbFr4ja6UrxCSoI7FvBK8/ZnRoAfAVQqbQ8G7A9eHbrkOrzzuyFVPMof5VW9bsVq827ygIZ 9VnJuljYDay6XW0q/JMqBkWXWXF8+Umamr77TRbzq3oWzhTxfVpMphzYKe3pAVmVp9ChylOVA 8NjlX9gG9FaSSGUgO/UIqk1TzaS+2C3xGpiOt7CFFCvIjNYbJq4MztHwQ3qndrdPFu4phW21x K4Z2LIFEYFe1/sRpKPaY1YqAPax2zeEEt6wMz7gYjvY2cNHITM5OM9NuYUW2NnVI7TzEO/HOt VnF/5aL234Uo/ZhIL7bD50o5nR8XXr++AjFnlxEGuyop3MdESsW9tImraj+6olHcqe0crAhRE BN3kyieN7n9CV361jvhiSNd6msUjtziw1nP/pUa4I1llKQCP1iNIws+Uy8vkX7Hs003Q2Klg3 bn3Y4jnLskoSSDsuYMnTVJEfTppyDlhKx4g+PvMaRMDgaruCCCQ/yWDTuxISsUfIvG0CZum36 qf7ccpPJl2iWjHrm Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday 26 February 2016 22:05:09 Lada Trimasova wrote: > > @@ -75,6 +86,7 @@ struct nps_enet_rx_ctl { > * nr: Length in bytes of Rx frame loaded by MAC to Rx buffer > */ > struct { > +#ifdef CONFIG_CPU_BIG_ENDIAN > u32 > __reserved_1:16, > cr:1, > @@ -82,6 +94,15 @@ struct nps_enet_rx_ctl { > crc:1, > __reserved_2:2, > nr:11; > +#else > + u32 > + nr:11, > + __reserved_2:2, > + crc:1, > + er:1, > + cr:1, > + __reserved_1:16; > +#endif > }; A nicer way to do this would be to remove all the bitfields and use named constants for accessing the fields insode of a u32 or u64 variable. The order of the bits in a bit field is implementation specific and your method might not work on all architectures. Even if the driver is only meant to run on a single CPU architecture, it's always better to write portable code. Arnd