>From TODO list: remove test for host endian Included header to gather information about host endianness. Please let me know if the code addition requires corrections to meet standards. Signed-off-by: Jaime Arrocha <jarr@xxxxxxxxxxxxx> --- drivers/staging/gdm724x/gdm_endian.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/drivers/staging/gdm724x/gdm_endian.c b/drivers/staging/gdm724x/gdm_endian.c index f6cc90a..5dfd9d3 100644 --- a/drivers/staging/gdm724x/gdm_endian.c +++ b/drivers/staging/gdm724x/gdm_endian.c @@ -11,27 +11,25 @@ * GNU General Public License for more details. */ -#include <linux/slab.h> +#include<asm/byteorder.h> +#ifdef __LITTLE_ENDIAN +#include<linux/byteorder/little_endian.h> +#define H_ENDIAN ENDIANNESS_LITTLE +#else +#include<linux/byteorder/big_endian.h> +#define H_ENDIAN ENDIANNESS_BIG +#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; - + ed->host_ed = H_ENDIAN; } u16 gdm_cpu_to_dev16(struct gdm_endian *ed, u16 x) -- 1.7.10.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel