aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2007-06-23 05:30:31 +0000
committerGabor Juhos <juhosg@openwrt.org>2007-06-23 05:30:31 +0000
commit46d45f2c848af0372c090f068fad58602cc7c4f4 (patch)
tree3cd00089a669c6d76ef6930ae6325ce43d15b9d4 /target/linux
parentaa1b4ab09a4f3f0890c1e9933767d0816e5deb3d (diff)
downloadupstream-46d45f2c848af0372c090f068fad58602cc7c4f4.tar.gz
upstream-46d45f2c848af0372c090f068fad58602cc7c4f4.tar.bz2
upstream-46d45f2c848af0372c090f068fad58602cc7c4f4.zip
[adm5120] fix hardware byte swapping to work in little endian mode as well
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7712 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c4
-rw-r--r--target/linux/adm5120-2.6/patches/008-adm5120_hardware_swab.patch2
2 files changed, 3 insertions, 3 deletions
diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c
index fea52ffca0..570244b24d 100644
--- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c
+++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c
@@ -904,12 +904,12 @@ void __init adm5120_swab_test(void)
u32 t1,t2;
t1 = 0x1234;
- t2 = swab16(t1);
+ t2 = __arch__swab16(t1);
printk("hardware swab16 test %s, data:0x%04X, result:0x%04X\n",
(t2 == 0x3412) ? "passed" :"failed", t1, t2);
t1 = 0x12345678;
- t2 = swab32(t1);
+ t2 = __arch__swab32(t1);
printk("hardware swab32 test %s, data:0x%08X, result:0x%08X\n",
(t2 == 0x78563412) ? "passed" :"failed", t1, t2);
diff --git a/target/linux/adm5120-2.6/patches/008-adm5120_hardware_swab.patch b/target/linux/adm5120-2.6/patches/008-adm5120_hardware_swab.patch
index a71dba2d03..6b0fe55edf 100644
--- a/target/linux/adm5120-2.6/patches/008-adm5120_hardware_swab.patch
+++ b/target/linux/adm5120-2.6/patches/008-adm5120_hardware_swab.patch
@@ -9,7 +9,7 @@
+static __inline__ __attribute_const__ __u16 ___adm5120__swab16(__u16 x)
+{
+ __asm__ (
-+ " sw %2, 0xC8(%1) \n"
++ " sh %2, 0xCA(%1) \n"
+ " lhu %0, 0xCC(%1) \n"
+ : "=r" (x)
+ : "r" (0xB2000000), "r" (x));