Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77e8a501 authored by Jaime Arrocha's avatar Jaime Arrocha Committed by Greg Kroah-Hartman
Browse files

staging: gdm724x: Remove test for host endian



gdm_endian.c: small changes were done to remove testing for host
endianness and in-driver conversion for byte-ordering.
The linux/kernel.h functions are used now.

gdm_endian.h: removal of code no longer needed with changes
in gdm_endian.c.

Signed-off-by: default avatarJaime Arrocha <jarr@kerneldev.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3f8ded9d
Loading
Loading
Loading
Loading
+17 −29
Original line number Diff line number Diff line
@@ -11,57 +11,45 @@
 * GNU General Public License for more details.
 */

#include <linux/slab.h>
#include <linux/kernel.h>
#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 be16_to_cpu(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);
}
+0 −11
Original line number Diff line number Diff line
@@ -16,16 +16,6 @@

#include <linux/types.h>

#define Endian16_Swap(value) \
	((((u16)((value) & 0x00FF)) << 8) | \
	 (((u16)((value) & 0xFF00)) >> 8))

#define Endian32_Swap(value) \
	((((u32)((value) & 0x000000FF)) << 24) | \
	 (((u32)((value) & 0x0000FF00)) << 8) | \
	 (((u32)((value) & 0x00FF0000)) >> 8) | \
	 (((u32)((value) & 0xFF000000)) >> 24))

enum {
	ENDIANNESS_MIN = 0,
	ENDIANNESS_UNKNOWN,
@@ -37,7 +27,6 @@ enum {

struct gdm_endian {
	u8 dev_ed;
	u8 host_ed;
};

void gdm_set_endian(struct gdm_endian *ed, u8 dev_endian);