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 Original line Diff line number Diff line
@@ -11,57 +11,45 @@
 * GNU General Public License for more details.
 * GNU General Public License for more details.
 */
 */


#include <linux/slab.h>
#include <linux/kernel.h>
#include "gdm_endian.h"
#include "gdm_endian.h"


void gdm_set_endian(struct gdm_endian *ed, u8 dev_endian)
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)
	if (dev_endian == ENDIANNESS_BIG)
		ed->dev_ed = ENDIANNESS_BIG;
		ed->dev_ed = ENDIANNESS_BIG;
	else
	else
		ed->dev_ed = ENDIANNESS_LITTLE;
		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)
u16 gdm_cpu_to_dev16(struct gdm_endian *ed, u16 x)
{
{
	if (ed->dev_ed == ed->host_ed)
	if (ed->dev_ed == ENDIANNESS_LITTLE)
		return x;
		return cpu_to_le16(x);

	else
	return Endian16_Swap(x);
		return cpu_to_be16(x);
}
}


u16 gdm_dev16_to_cpu(struct gdm_endian *ed, u16 x)
u16 gdm_dev16_to_cpu(struct gdm_endian *ed, u16 x)
{
{
	if (ed->dev_ed == ed->host_ed)
	if (ed->dev_ed == ENDIANNESS_LITTLE)
		return x;
		return le16_to_cpu(x);

	else
	return Endian16_Swap(x);
		return be16_to_cpu(x);
}
}


u32 gdm_cpu_to_dev32(struct gdm_endian *ed, u32 x)
u32 gdm_cpu_to_dev32(struct gdm_endian *ed, u32 x)
{
{
	if (ed->dev_ed == ed->host_ed)
	if (ed->dev_ed == ENDIANNESS_LITTLE)
		return x;
		return cpu_to_le32(x);

	else
	return Endian32_Swap(x);
		return cpu_to_be32(x);
}
}


u32 gdm_dev32_to_cpu(struct gdm_endian *ed, u32 x)
u32 gdm_dev32_to_cpu(struct gdm_endian *ed, u32 x)
{
{
	if (ed->dev_ed == ed->host_ed)
	if (ed->dev_ed == ENDIANNESS_LITTLE)
		return x;
		return le32_to_cpu(x);

	else
	return Endian32_Swap(x);
		return be32_to_cpu(x);
}
}
+0 −11
Original line number Original line Diff line number Diff line
@@ -16,16 +16,6 @@


#include <linux/types.h>
#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 {
enum {
	ENDIANNESS_MIN = 0,
	ENDIANNESS_MIN = 0,
	ENDIANNESS_UNKNOWN,
	ENDIANNESS_UNKNOWN,
@@ -37,7 +27,6 @@ enum {


struct gdm_endian {
struct gdm_endian {
	u8 dev_ed;
	u8 dev_ed;
	u8 host_ed;
};
};


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