public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jaime Arrocha <jarr@kerneldev.net>
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
Date: Tue, 26 May 2015 10:29:44 -0500	[thread overview]
Message-ID: <20150526152944.GA23178@localhost.localdomain> (raw)

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 <jarr@kerneldev.net>
---
 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 <linux/slab.h>
+#include<asm/byteorder.h>
+#ifdef __LITTLE_ENDIAN
+#include<linux/byteorder/little_endian.h>
+#else
+#include<linux/byteorder/big_endian.h>
+#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



             reply	other threads:[~2015-05-26 15:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-26 15:29 Jaime Arrocha [this message]
2015-05-26 15:59 ` [PATCH 1/2] staging: gdm724x: Remove test for host endian Dan Carpenter
2015-05-26 17:00   ` Jaime Arrocha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150526152944.GA23178@localhost.localdomain \
    --to=jarr@kerneldev.net \
    --cc=dan.carpenter@oracle.com \
    --cc=deanahn@gctsemi.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jonathankim@gctsemi.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox