From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753869AbbEZPaV (ORCPT ); Tue, 26 May 2015 11:30:21 -0400 Received: from sender1.zohomail.com ([74.201.84.153]:25437 "EHLO sender1.zohomail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751388AbbEZPaR (ORCPT ); Tue, 26 May 2015 11:30:17 -0400 Date: Tue, 26 May 2015 10:29:44 -0500 From: Jaime Arrocha To: gregkh@linuxfoundation.org, dan.carpenter@oracle.com, jonathankim@gctsemi.com, deanahn@gctsemi.com Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, jarr@kerneldev.net Subject: [PATCH 1/2] staging: gdm724x: Remove test for host endian Message-ID: <20150526152944.GA23178@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-ZohoMail: Ss SS_10 UW2468 UB2468 CHF_INT_SMD_EXT SGR4_1_08055_16 X-ZohoMail-Owner: <20150526152944.GA23178@localhost.localdomain>+zmo_0_ X-ZohoMail-Sender: 71.123.203.27 X-Zoho-Virus-Status: 2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is the first patch of two. Both patches perform a small clean up done to the section for host endian test. Instead of handling endianness internally, kernel functions were added for use. The second patch depends on the first one, it is just a small piece that is no longer needed. Signed-off-by: Jaime Arrocha --- drivers/staging/gdm724x/gdm_endian.c | 52 +++++++++++++++------------------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/drivers/staging/gdm724x/gdm_endian.c b/drivers/staging/gdm724x/gdm_endian.c index f6cc90a..609a433 100644 --- a/drivers/staging/gdm724x/gdm_endian.c +++ b/drivers/staging/gdm724x/gdm_endian.c @@ -11,57 +11,51 @@ * GNU General Public License for more details. */ -#include +#include +#ifdef __LITTLE_ENDIAN +#include +#else +#include +#endif + #include "gdm_endian.h" void gdm_set_endian(struct gdm_endian *ed, u8 dev_endian) { - u8 a[2] = {0x12, 0x34}; - u8 b[2] = {0, }; - u16 c = 0x1234; - if (dev_endian == ENDIANNESS_BIG) ed->dev_ed = ENDIANNESS_BIG; else ed->dev_ed = ENDIANNESS_LITTLE; - - memcpy(b, &c, 2); - - if (a[0] != b[0]) - ed->host_ed = ENDIANNESS_LITTLE; - else - ed->host_ed = ENDIANNESS_BIG; - } u16 gdm_cpu_to_dev16(struct gdm_endian *ed, u16 x) { - if (ed->dev_ed == ed->host_ed) - return x; - - return Endian16_Swap(x); + if (ed->dev_ed == ENDIANNESS_LITTLE) + return __cpu_to_le16(x); + else + return __cpu_to_be16(x); } u16 gdm_dev16_to_cpu(struct gdm_endian *ed, u16 x) { - if (ed->dev_ed == ed->host_ed) - return x; - - return Endian16_Swap(x); + if (ed->dev_ed == ENDIANNESS_LITTLE) + return __le16_to_cpu(x); + else + return __cpu_to_be16(x); } u32 gdm_cpu_to_dev32(struct gdm_endian *ed, u32 x) { - if (ed->dev_ed == ed->host_ed) - return x; - - return Endian32_Swap(x); + if (ed->dev_ed == ENDIANNESS_LITTLE) + return __cpu_to_le32(x); + else + return __cpu_to_be32(x); } u32 gdm_dev32_to_cpu(struct gdm_endian *ed, u32 x) { - if (ed->dev_ed == ed->host_ed) - return x; - - return Endian32_Swap(x); + if (ed->dev_ed == ENDIANNESS_LITTLE) + return __le32_to_cpu(x); + else + return __be32_to_cpu(x); } -- 1.7.10.4