ARM: sc8830: fdl: remove build warnings
[profile/mobile/platform/kernel/u-boot-tm1.git] / nand_fdl / common / src / fdl_stdio.c
1 #include <asm/arch/fdl_stdio.h>
2
3 void *FDL_memcpy (void *dst, const void *src, unsigned int count)
4 {
5     void *ret = dst;
6 #if ((defined(SC8800S_LITTLE_ENDIAN) && defined(_BIG_ENDIAN))) || (defined(FDL_ENDIAN_SWITCH))//temp for data swap in fdl1
7     unsigned int *tmp_dst = (unsigned int *) dst;
8     unsigned int value;
9
10     count =  count / 4;
11
12     while (count-->0)
13     {
14         value = * (unsigned int *) src;
15         *tmp_dst = ( (value & 0x000000ff) <<24) | ( (value & 0xff000000) >>24) | ( (value & 0x0000ff00) <<8) | ( (value & 0x00ff0000) >>8);
16         tmp_dst = (unsigned int *) tmp_dst + 1;
17         src = (unsigned int *) src + 1;
18     }
19
20 #else
21
22     while (count-->0)
23     {
24         * (char *) dst = * (char *) src;
25         dst = (char *) dst + 1;
26         src = (char *) src + 1;
27     }
28
29 #endif
30
31
32     return ret;
33 }
34
35 void *FDL_memset (void *dst, int c, unsigned int count)
36 {
37     void *ret = dst;
38
39     while (count--)
40     {
41         * (char *) dst = (char) c;
42         dst = (char *) dst + 1;
43     }
44
45     return ret;
46 }
47
48 /*****************************************************************************/
49 //  Description:
50 //  Global resource dependence:
51 //  Author:         Daniel.Ding
52 //  Note:
53 /*****************************************************************************/
54 unsigned short EndianConv_16 (unsigned short value)
55 {
56 #ifdef _LITTLE_ENDIAN
57     return (value >> 8 | value << 8);
58 #else
59     return value;
60 #endif
61 }
62
63 unsigned int EndianConv_32 (unsigned int value)
64 {
65 #ifdef _LITTLE_ENDIAN
66     unsigned int nTmp = 0;
67         nTmp = (value >> 24 | value << 24);
68
69     nTmp |= ( (value >> 8) & 0x0000FF00);
70     nTmp |= ( (value << 8) & 0x00FF0000);
71     return nTmp;
72 #else
73     return value;
74 #endif
75 }
76