From d52fb7e3d135704334bd6f97f3444e824665b76f Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Sat, 11 Mar 2006 22:53:33 +0100 Subject: [PATCH] Some code cleanup for GCC 4.x --- CHANGELOG | 2 ++ board/at91rm9200dk/at45.c | 2 +- board/at91rm9200dk/flash.c | 4 +--- board/cmc_pu2/load_sernum_ethaddr.c | 4 ++-- board/delta/nand.c | 6 ++--- board/lart/flash.c | 2 +- board/lpd7a40x/flash.c | 3 +-- board/netstar/crcek | Bin 36168 -> 35971 bytes board/netstar/eeprom | Bin 72374 -> 40842 bytes board/netstar/flash.c | 2 +- board/netstar/nand.c | 2 ++ board/shannon/flash.c | 2 +- common/env_nand.c | 12 +++++----- cpu/arm920t/at91rm9200/i2c.c | 4 ++-- drivers/dataflash.c | 9 ++++---- drivers/lan91c96.c | 16 ++++++------- drivers/lan91c96.h | 2 +- drivers/nand/nand_base.c | 5 ++-- drivers/smc91111.c | 29 +++++++++++++++--------- drivers/smc91111.h | 2 +- include/asm-arm/arch-arm720t/s3c4510b.h | 2 -- lib_arm/armlinux.c | 4 ++-- lib_arm/board.c | 8 ++++--- rtc/rs5c372.c | 4 ++-- 24 files changed, 67 insertions(+), 59 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index df48e47af4..964e2b1f55 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,8 @@ Changes since U-Boot 1.1.4: ====================================================================== +* Some code cleanup for GCC 4.x + * Fixes to support environment in NAND flash; enable NAND flash based environment for delta board. diff --git a/board/at91rm9200dk/at45.c b/board/at91rm9200dk/at45.c index 3c00132164..f886fe4820 100644 --- a/board/at91rm9200dk/at45.c +++ b/board/at91rm9200dk/at45.c @@ -593,7 +593,7 @@ int AT91F_DataFlashRead( if (AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY) != DATAFLASH_OK) return -1; - if (AT91F_DataFlashContinuousRead (pDataFlash, addr, buffer, SizeToRead) != DATAFLASH_OK) + if (AT91F_DataFlashContinuousRead (pDataFlash, addr, (uchar *)buffer, SizeToRead) != DATAFLASH_OK) return -1; size -= SizeToRead; diff --git a/board/at91rm9200dk/flash.c b/board/at91rm9200dk/flash.c index f6228ef03e..0513d61d73 100644 --- a/board/at91rm9200dk/flash.c +++ b/board/at91rm9200dk/flash.c @@ -393,8 +393,7 @@ outahere: * Copy memory to flash */ -volatile static int write_word (flash_info_t * info, ulong dest, - ulong data) +static int write_word (flash_info_t * info, ulong dest, ulong data) { volatile u16 *addr = (volatile u16 *) dest; ulong result; @@ -409,7 +408,6 @@ volatile static int write_word (flash_info_t * info, ulong dest, if ((result & data) != data) return ERR_NOT_ERASED; - /* * Disable interrupts which might cause a timeout * here. Remember that our exception vectors are diff --git a/board/cmc_pu2/load_sernum_ethaddr.c b/board/cmc_pu2/load_sernum_ethaddr.c index 94aa30df96..354566c05d 100644 --- a/board/cmc_pu2/load_sernum_ethaddr.c +++ b/board/cmc_pu2/load_sernum_ethaddr.c @@ -69,8 +69,8 @@ int i2c_read (unsigned char chip, unsigned int addr, int alen, void load_sernum_ethaddr (void) { struct manufacturer_data data; - unsigned char serial [9]; - unsigned char ethaddr[18]; + char ethaddr[18]; + char serial [9]; unsigned short chksum; unsigned char *p; unsigned short i, is, id; diff --git a/board/delta/nand.c b/board/delta/nand.c index 50def59090..c4df6e57eb 100644 --- a/board/delta/nand.c +++ b/board/delta/nand.c @@ -229,7 +229,7 @@ static void wait_us(unsigned long us) } } -static void dfc_clear_nddb() +static void dfc_clear_nddb(void) { NDCR &= ~NDCR_ND_RUN; wait_us(CFG_NAND_OTHER_TO); @@ -263,7 +263,7 @@ static unsigned long dfc_wait_event(unsigned long event) } /* we don't always wan't to do this */ -static void dfc_new_cmd() +static void dfc_new_cmd(void) { int retry = 0; unsigned long status; @@ -398,7 +398,7 @@ static void dfc_cmdfunc(struct mtd_info *mtd, unsigned command, return; } -static void dfc_gpio_init() +static void dfc_gpio_init(void) { DFC_DEBUG2("Setting up DFC GPIO's.\n"); diff --git a/board/lart/flash.c b/board/lart/flash.c index 5232ed2586..28c4531c02 100644 --- a/board/lart/flash.c +++ b/board/lart/flash.c @@ -348,7 +348,7 @@ outahere: * Copy memory to flash */ -volatile static int write_word (flash_info_t *info, ulong dest, ulong data) +static int write_word (flash_info_t *info, ulong dest, ulong data) { vu_long *addr = (vu_long *)dest; ulong result; diff --git a/board/lpd7a40x/flash.c b/board/lpd7a40x/flash.c index 2dfe37656f..d18720e5b2 100644 --- a/board/lpd7a40x/flash.c +++ b/board/lpd7a40x/flash.c @@ -351,8 +351,7 @@ outahere: * Copy memory to flash */ -volatile static int write_word (flash_info_t * info, ulong dest, - ulong data) +static int write_word (flash_info_t * info, ulong dest, ulong data) { vu_long *addr = (vu_long *) dest; ulong result; diff --git a/board/netstar/crcek b/board/netstar/crcek index 9593f893c816f4a2db8e3ec8db9eca91d04c2edb..491cceb2ed1cd8bf38ee7531dcee46fcf99bc3e3 100755 GIT binary patch delta 619 zcmX>xi>Y}g(*yQV>cJJK4%mvPti}$EYUC3 zP0G(N(J#+0%ATCwZa;ZVyY=K3?IDv>I#e`ufCexEF$`q1GBE4`3a~;2Sb#JS5F1V2 z*dfdqJNambGHWByR_n=cJCu13v1fGQ*>%XUh$x^y!z*iW|Y3fx>WQV{tF*0NT`2k4$QXoGDiC+igCm`{=fcyd= zh5*KThRHxy1d@WqK)w$We+@__5`R08>w&~S0OTjYf&-}V6p){S#J>sT%OI(L0_4LS z%*X)r|8t-KC|E&202l(FfHX26WH~aQ2W}WhJtKn-A3A& qi9tUpKd~r9KQFbUxFoSiKe;G5HCr#3K_zi=RL?Xfm6XZvdm;fywrCds delta 760 zcmZpk$#h~C(*yQqc#_|K4;`FDJ{~^OUz5r zFV#)T&o7yr)o#yHoK##qd3n3-`>+n=wx6>U}9k41S*rA{INrt zbwf7;!;Hy-o#9Lwt&_7lz3P!n0UF840CEHjurPf5?+N1oX%HV>ej=Lu0yI9l`qe=B z8*nv@^$c5poDjGwMusCmegG2xB9I@0#J>gPCm`{k0r>?$3;~P`?}3a6B>De9z7Glqn@fgBIG03(A8ke$E^F%G0s4aiSH;+q2bATBXRM&n1K z@l)Y?85jgyfEHw?v|+GOpX2mp!ejC=q9 diff --git a/board/netstar/eeprom b/board/netstar/eeprom index c30c98b72ce1d09c84f4e7b821cf1f4dfeac0386..e075eb4efd3c7fea6520d703cfb10274487482a6 100755 GIT binary patch delta 4787 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 TysRwj2(e}3sU+>p7zX_Zq7RCq literal 72374 zcmeHw3w%`7)$cxM&N(yWHIoO35MV+A1Tsk`fQX7VNRWW2;f;!hNoMkZ$-_*-L#d*I zuL`~`ZBb(F!?tSijn76!TdRH|zAb7Vq&~lj);?@)bN~On&zVfn)_&jpe)rzq-waI7 zT6?d(*4k^Yz0cn3teLrB?!uEaO$!P8rHewL0lv&r?wgKlTDm55ONi;hkMcq>Tx7|5 zv6&6ZeSAlAg=odw&7#fxlYAvDkhDP30!a%bEs(T8(gH~fBrTA%K+*z93nVR&v_R4V zNed(`khDP30!a%bEs(T8(gH~fBrTA%K+*z93nVR&v_R4VNed(`khDP30!a%bEs(T8 z(gH~fBrTA%K+*z93nVR&v_R4VNed(`khDP30!a%bEs(T8(gH~fBrTA%K+*z93nVR& zv_R4VNed(`khDP30!a%bEs(T8(gH~fBrTA%K+*z93nVR&v_R4VNed(`khDP30!a%b zEs(T8(gH~fBrTA%K+*z93nVR&v_R4VNed(`khDP30!a%bEs(T8(gH~fBrTA%K+*z9 z3nVR&v_R4VNed(`khDP30!a%bEs(T8(gH~fBrTA%K+*z93nVS@?_~kME8n29vB!!8sWR9UlUb5u+S)d^(B27hdO&& zgS+}$%Xjs=#E3ovat+^g{f7VgeqAi;f$S8#KhRL;WgA=}e^jNhtG_a5SN|SgSC7Zn z*>^9l+OeH|T5w74-yqBP6=k0d41C}@baAie&=%-pK?NP}VPXI;0OH1=dwn33@w z4g1cKdz;)>eYU3cs2|q8f9nn5o2Op(n~WdqIk0i;`>%9g_Qw8i7cIPh*rS{7I^SKq z=iO_@{Nn1c?}0I&`ggCXJm z#>s!%n!bPSeJMZu%Wd}^72R?7iLXBM@NddLf8_SQ=<8EER=qR#h4fbsoPPX^Kf68n z#>8XA+lw|YdhJ&uLi>Jk-)Hyc``FC!3=mqZ&AKi2F9=*_WnOS}J8);7$yq|j4 zrJGtxGZ!|j{Mne$*?Ov| z`Sd?;u%hSvP#gXDXP%2z?DhWP={I&qs@{Jf>w`UyeQVQY4}S5^n73-?7r#0D_nTh2 zGP3aHzpf13eae3K=O{-p*^3!KFrN1@n9JA`Dv-L?nU+QC*_|u-5a9_iUd$zXt zhrL|);I4zA|H%0K?X!10^Ty=yJNE6q_qNx5dBpMeoPJ^Yy(P!3dh~%iq7QZXFW&Q? z_uuo2@22(M@A~fkyV{SL_sR!9U%&sR;S+yjTs-1HEGxCPZ_9Dv>rYtIlz!V8YtBu5 zA>-gp1H-PHbf-wU>t^>iE3We%+JCF((uPm9v44NUYCLO2&7YpFk8D0?M)b&ct+mbT zM!)>`?xL42KjYjtea|g;tG?x(2S5M(d7T>Tw?K#)H)Q2A&p^q<}XfAu~xQCu9Onvn3 zYtOj1$XIjFsvi%$_C(nW`|kVJ&2I$8-1+vIyPpVuZ{nx5AMLz#O-IUgP5Mu)VLQJu zBjdxZ_3pOp6~eq|!7pyeId@O*oke$@H*@s;Y2Vwv|JwA&Ug>|};{%)W-uX@H%llut zy*rGd4fxi3UVZ0Jqt{N4Wa*Op#vochE)u46(I>wo;G5v%u|GOuy|Z`L=T zuwc!LcOE$7)i>%=-zh(I-0Md#x$}{qJazNKZ(s1j-SgfbxG$Ld>7$Qc@x(*F4qkW9 zk{{iAZ-F^u-$U0~uRT9`#oJ4NQU6AM$+>m+>{$@ntB-Ct>-wUWDMvq+dhadU)1Dmt zj(NtmkM&~F{l&n$SOu=e8mI?5`-0`g?+Z_7&+g#kJ)5yU`Bwt2da_4DUAuo*Kg)Lq z_xD)Ai~Dv5pOCOFvip2kuWHLX`@&ck|0KkRm1w&=_)-t+u-c?(wC%F01_eR?7TsEHJ5{89$8s1f-%6%!g?tmVSuG&cI`b5uV zXqT6uE6doAcJ_h&5l{9+rT+VS%mm%F!*u@@bg8g)VBJ5`y};J}?gZU6^qqZhbf&J< zdjs@tgJ^8CU`#iKu@RD8&HgL`C?73UK(yf(O^yW8o_B=H(@F8jc z2%GU<(+a+aI5w^56J%cxxx9B-<()l#v89)NWk0V(JK^u_(F^g0oyWr_DZx(HvBA#l z@qx~s0iW4B6YaOKy;#w=CD_@cm2c@~KOYEQ*JFw$J=*F^vf1{%fq^%LSl$Qu+31_= z5OnB7Uv}e7KS|qnN^e@#wqCQmv(M-6>`O;Kt^{9?nA

H}#9)e%v>gz=oZgCN9dN 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 diff --git a/board/netstar/flash.c b/board/netstar/flash.c index f555c0c006..692c416780 100644 --- a/board/netstar/flash.c +++ b/board/netstar/flash.c @@ -230,7 +230,7 @@ out: * Copy memory to flash */ -volatile static int write_hword(flash_info_t *info, ulong dest, ushort data) +static int write_hword(flash_info_t *info, ulong dest, ushort data) { vu_short *addr = (vu_short *) dest; ushort result; diff --git a/board/netstar/nand.c b/board/netstar/nand.c index e5b7f3346e..f470c1a01e 100644 --- a/board/netstar/nand.c +++ b/board/netstar/nand.c @@ -48,10 +48,12 @@ static void netstar_nand_hwcontrol(struct mtd_info *mtd, int cmd) /* * chip R/B detection */ +/*** static int netstar_nand_ready(struct mtd_info *mtd) { return (*(volatile ushort *)GPIO_DATA_INPUT_REG) & 0x02; } +***/ void board_nand_init(struct nand_chip *nand) { diff --git a/board/shannon/flash.c b/board/shannon/flash.c index 13c01d8351..475b76b30b 100644 --- a/board/shannon/flash.c +++ b/board/shannon/flash.c @@ -315,7 +315,7 @@ outahere: * Copy memory to flash */ -volatile static int write_word (flash_info_t *info, ulong dest, ulong data) +static int write_word (flash_info_t *info, ulong dest, ulong data) { vu_long *addr = (vu_long *)dest; ulong result; diff --git a/common/env_nand.c b/common/env_nand.c index 4ae68c5a23..dd27f7b629 100644 --- a/common/env_nand.c +++ b/common/env_nand.c @@ -112,7 +112,8 @@ int env_init(void) */ int saveenv(void) { - int total, ret = 0; + ulong total; + int ret = 0; puts ("Erasing Nand..."); if (nand_erase(&nand_info[0], CFG_ENV_OFFSET, CFG_ENV_SIZE)) @@ -120,8 +121,7 @@ int saveenv(void) puts ("Writing to Nand... "); total = CFG_ENV_SIZE; - ret = nand_write(&nand_info[0], CFG_ENV_OFFSET, &total, - (u_char*) env_ptr); + ret = nand_write(&nand_info[0], CFG_ENV_OFFSET, &total, (u_char*)env_ptr); if (ret || total != CFG_ENV_SIZE) return 1; @@ -138,11 +138,11 @@ int saveenv(void) void env_relocate_spec (void) { #if !defined(ENV_IS_EMBEDDED) - int ret, total; + ulong total; + int ret; total = CFG_ENV_SIZE; - ret = nand_read(&nand_info[0], CFG_ENV_OFFSET, &total, - (u_char*) env_ptr); + ret = nand_read(&nand_info[0], CFG_ENV_OFFSET, &total, (u_char*)env_ptr); if (ret || total != CFG_ENV_SIZE) return use_default(); diff --git a/cpu/arm920t/at91rm9200/i2c.c b/cpu/arm920t/at91rm9200/i2c.c index 2565998e48..826cea8e26 100644 --- a/cpu/arm920t/at91rm9200/i2c.c +++ b/cpu/arm920t/at91rm9200/i2c.c @@ -111,7 +111,7 @@ at91_xfer(unsigned char chip, unsigned int addr, int alen, int i2c_probe(unsigned char chip) { - char buffer[1]; + unsigned char buffer[1]; return at91_xfer(chip, 0, 0, buffer, 1, 1); } @@ -191,7 +191,7 @@ i2c_init(int speed, int slaveaddr) uchar i2c_reg_read(uchar i2c_addr, uchar reg) { - char buf; + unsigned char buf; i2c_read(i2c_addr, reg, 1, &buf, 1); diff --git a/drivers/dataflash.c b/drivers/dataflash.c index ded039578a..17eb8597f8 100644 --- a/drivers/dataflash.c +++ b/drivers/dataflash.c @@ -174,8 +174,7 @@ void dataflash_print_info (void) /* Function Name : AT91F_DataflashSelect */ /* Object : Select the correct device */ /*------------------------------------------------------------------------------*/ -AT91PS_DataFlash AT91F_DataflashSelect (AT91PS_DataFlash pFlash, - unsigned int *addr) +AT91PS_DataFlash AT91F_DataflashSelect (AT91PS_DataFlash pFlash, unsigned long *addr) { char addr_valid = 0; int i; @@ -291,7 +290,7 @@ int i,j, area1, area2, addr_valid = 0; /*------------------------------------------------------------------------------*/ int read_dataflash (unsigned long addr, unsigned long size, char *result) { - int AddrToRead = addr; + unsigned long AddrToRead = addr; AT91PS_DataFlash pFlash = &DataFlashInst; pFlash = AT91F_DataflashSelect (pFlash, &AddrToRead); @@ -313,7 +312,7 @@ int read_dataflash (unsigned long addr, unsigned long size, char *result) int write_dataflash (unsigned long addr_dest, unsigned long addr_src, unsigned long size) { - int AddrToWrite = addr_dest; + unsigned long AddrToWrite = addr_dest; AT91PS_DataFlash pFlash = &DataFlashInst; pFlash = AT91F_DataflashSelect (pFlash, &AddrToWrite); @@ -330,7 +329,7 @@ int write_dataflash (unsigned long addr_dest, unsigned long addr_src, if (AddrToWrite == -1) return -1; - return AT91F_DataFlashWrite (pFlash, (char *) addr_src, AddrToWrite, size); + return AT91F_DataFlashWrite (pFlash, (uchar *)addr_src, AddrToWrite, size); } diff --git a/drivers/lan91c96.c b/drivers/lan91c96.c index bb03dae39c..a50c5f0abe 100644 --- a/drivers/lan91c96.c +++ b/drivers/lan91c96.c @@ -185,21 +185,21 @@ static int smc_rcv (void); . If an EEPROM is present it really should be consulted. */ int smc_get_ethaddr(bd_t *bd); -int get_rom_mac(char *v_rom_mac); +int get_rom_mac(unsigned char *v_rom_mac); /* ------------------------------------------------------------ * Internal routines * ------------------------------------------------------------ */ -static char smc_mac_addr[] = { 0xc0, 0x00, 0x00, 0x1b, 0x62, 0x9c }; +static unsigned char smc_mac_addr[] = { 0xc0, 0x00, 0x00, 0x1b, 0x62, 0x9c }; /* * This function must be called before smc_open() if you want to override * the default mac address. */ -void smc_set_mac_addr (const char *addr) +void smc_set_mac_addr (const unsigned char *addr) { int i; @@ -883,7 +883,7 @@ int smc_get_ethaddr (bd_t * bd) char *s = NULL; char *e = NULL; char *v_mac, es[] = "11:22:33:44:55:66"; - uchar s_env_mac[64]; + char s_env_mac[64]; uchar v_env_mac[6]; uchar v_rom_mac[6]; @@ -905,7 +905,7 @@ int smc_get_ethaddr (bd_t * bd) if (!env_present) { /* if NO env */ if (rom_valid) { /* but ROM is valid */ - v_mac = v_rom_mac; + v_mac = (char *)v_rom_mac; sprintf (s_env_mac, "%02X:%02X:%02X:%02X:%02X:%02X", v_mac[0], v_mac[1], v_mac[2], v_mac[3], v_mac[4], v_mac[5]); @@ -915,7 +915,7 @@ int smc_get_ethaddr (bd_t * bd) return (-1); } } else { /* good env, don't care ROM */ - v_mac = v_env_mac; /* always use a good env over a ROM */ + v_mac = (char *)v_env_mac; /* always use a good env over a ROM */ } if (env_present && rom_valid) { /* if both env and ROM are good */ @@ -935,7 +935,7 @@ int smc_get_ethaddr (bd_t * bd) } } memcpy (bd->bi_enetaddr, v_mac, 6); /* update global address to match env (allows env changing) */ - smc_set_mac_addr (v_mac); /* use old function to update smc default */ + smc_set_mac_addr ((unsigned char *)v_mac); /* use old function to update smc default */ PRINTK("Using MAC Address %02X:%02X:%02X:%02X:%02X:%02X\n", v_mac[0], v_mac[1], v_mac[2], v_mac[3], v_mac[4], v_mac[5]); return (0); @@ -946,7 +946,7 @@ int smc_get_ethaddr (bd_t * bd) * Note, this has omly been tested for the OMAP730 P2. */ -int get_rom_mac (char *v_rom_mac) +int get_rom_mac (unsigned char *v_rom_mac) { #ifdef HARDCODE_MAC /* used for testing or to supress run time warnings */ char hw_mac_addr[] = { 0x02, 0x80, 0xad, 0x20, 0x31, 0xb8 }; diff --git a/drivers/lan91c96.h b/drivers/lan91c96.h index b7d7455b9d..7d33a821f3 100644 --- a/drivers/lan91c96.h +++ b/drivers/lan91c96.h @@ -51,7 +51,7 @@ * in order to override the default mac address. */ -void smc_set_mac_addr(const char *addr); +void smc_set_mac_addr(const unsigned char *addr); /* I want some simple types */ diff --git a/drivers/nand/nand_base.c b/drivers/nand/nand_base.c index d91d90bfec..e0b406041f 100644 --- a/drivers/nand/nand_base.c +++ b/drivers/nand/nand_base.c @@ -897,7 +897,7 @@ static int nand_write_page (struct mtd_info *mtd, struct nand_chip *this, int pa int i, status; u_char ecc_code[32]; int eccmode = oobsel->useecc ? this->eccmode : NAND_ECC_NONE; - int *oob_config = oobsel->eccpos; + uint *oob_config = oobsel->eccpos; int datidx = 0, eccidx = 0, eccsteps = this->eccsteps; int eccbytes = 0; @@ -1119,7 +1119,8 @@ static int nand_read_ecc (struct mtd_info *mtd, loff_t from, size_t len, u_char ecc_calc[32]; u_char ecc_code[32]; int eccmode, eccsteps; - int *oob_config, datidx; + unsigned *oob_config; + int datidx; int blockcheck = (1 << (this->phys_erase_shift - this->page_shift)) - 1; int eccbytes; int compareecc = 1; diff --git a/drivers/smc91111.c b/drivers/smc91111.c index 060da8ff2a..84e243ddd5 100644 --- a/drivers/smc91111.c +++ b/drivers/smc91111.c @@ -210,7 +210,7 @@ static int smc_rcv(void); . If an EEPROM is present it really should be consulted. */ int smc_get_ethaddr(bd_t *bd); -int get_rom_mac(char *v_rom_mac); +int get_rom_mac(uchar *v_rom_mac); /* ------------------------------------------------------------ @@ -276,17 +276,23 @@ static inline void SMC_outb(byte value, dword offset) static inline void SMC_insw(dword offset, volatile uchar* buf, dword len) { + volatile word *p = (volatile word *)buf; + while (len-- > 0) { - *((word*)buf)++ = SMC_inw(offset); - barrier(); *((volatile u32*)(0xc0000000)); + *p++ = SMC_inw(offset); + barrier(); + *((volatile u32*)(0xc0000000)); } } static inline void SMC_outsw(dword offset, uchar* buf, dword len) { + volatile word *p = (volatile word *)buf; + while (len-- > 0) { - SMC_outw(*((word*)buf)++, offset); - barrier(); *(volatile u32*)(0xc0000000); + SMC_outw(*p++, offset); + barrier(); + *(volatile u32*)(0xc0000000); } } #endif /* CONFIG_SMC_USE_IOFUNCS */ @@ -298,7 +304,7 @@ static char unsigned smc_mac_addr[6] = {0x02, 0x80, 0xad, 0x20, 0x31, 0xb8}; * the default mac address. */ -void smc_set_mac_addr(const char *addr) { +void smc_set_mac_addr(const unsigned char *addr) { int i; for (i=0; i < sizeof(smc_mac_addr); i++){ @@ -1524,7 +1530,8 @@ int smc_get_ethaddr (bd_t * bd) { int env_size, rom_valid, env_present = 0, reg; char *s = NULL, *e, *v_mac, es[] = "11:22:33:44:55:66"; - uchar s_env_mac[64], v_env_mac[6], v_rom_mac[6]; + char s_env_mac[64]; + uchar v_env_mac[6], v_rom_mac[6]; env_size = getenv_r ("ethaddr", s_env_mac, sizeof (s_env_mac)); if ((env_size > 0) && (env_size < sizeof (es))) { /* exit if env is bad */ @@ -1547,7 +1554,7 @@ int smc_get_ethaddr (bd_t * bd) if (!env_present) { /* if NO env */ if (rom_valid) { /* but ROM is valid */ - v_mac = v_rom_mac; + v_mac = (char *)v_rom_mac; sprintf (s_env_mac, "%02X:%02X:%02X:%02X:%02X:%02X", v_mac[0], v_mac[1], v_mac[2], v_mac[3], v_mac[4], v_mac[5]); @@ -1557,7 +1564,7 @@ int smc_get_ethaddr (bd_t * bd) return (-1); } } else { /* good env, don't care ROM */ - v_mac = v_env_mac; /* always use a good env over a ROM */ + v_mac = (char *)v_env_mac; /* always use a good env over a ROM */ } if (env_present && rom_valid) { /* if both env and ROM are good */ @@ -1577,13 +1584,13 @@ int smc_get_ethaddr (bd_t * bd) } } memcpy (bd->bi_enetaddr, v_mac, 6); /* update global address to match env (allows env changing) */ - smc_set_mac_addr (v_mac); /* use old function to update smc default */ + smc_set_mac_addr ((uchar *)v_mac); /* use old function to update smc default */ PRINTK("Using MAC Address %02X:%02X:%02X:%02X:%02X:%02X\n", v_mac[0], v_mac[1], v_mac[2], v_mac[3], v_mac[4], v_mac[5]); return (0); } -int get_rom_mac (char *v_rom_mac) +int get_rom_mac (uchar *v_rom_mac) { #ifdef HARDCODE_MAC /* used for testing or to supress run time warnings */ char hw_mac_addr[] = { 0x02, 0x80, 0xad, 0x20, 0x31, 0xb8 }; diff --git a/drivers/smc91111.h b/drivers/smc91111.h index cf08582fbf..c3c33672ab 100644 --- a/drivers/smc91111.h +++ b/drivers/smc91111.h @@ -49,7 +49,7 @@ * in order to override the default mac address. */ -void smc_set_mac_addr(const char *addr); +void smc_set_mac_addr (const unsigned char *addr); /* I want some simple types */ diff --git a/include/asm-arm/arch-arm720t/s3c4510b.h b/include/asm-arm/arch-arm720t/s3c4510b.h index 517b1ada99..73a3b6d856 100644 --- a/include/asm-arm/arch-arm720t/s3c4510b.h +++ b/include/asm-arm/arch-arm720t/s3c4510b.h @@ -267,8 +267,6 @@ struct _irq_handler { void (*m_func)( void *data); }; -extern struct _irq_handler IRQ_HANDLER[]; - #endif #endif /* __S3C4510_h */ diff --git a/lib_arm/armlinux.c b/lib_arm/armlinux.c index ca630b377e..dba2ff7085 100644 --- a/lib_arm/armlinux.c +++ b/lib_arm/armlinux.c @@ -124,7 +124,7 @@ void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], checksum = ntohl (hdr->ih_hcrc); hdr->ih_hcrc = 0; - if (crc32 (0, (char *) data, len) != checksum) { + if (crc32 (0, (unsigned char *) data, len) != checksum) { printf ("Bad Header Checksum\n"); SHOW_BOOT_PROGRESS (-11); do_reset (cmdtp, flag, argc, argv); @@ -148,7 +148,7 @@ void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], ulong csum = 0; printf (" Verifying Checksum ... "); - csum = crc32 (0, (char *) data, len); + csum = crc32 (0, (unsigned char *) data, len); if (csum != ntohl (hdr->ih_dcrc)) { printf ("Bad Data CRC\n"); SHOW_BOOT_PROGRESS (-12); diff --git a/lib_arm/board.c b/lib_arm/board.c index c73cf0c38f..76639081ed 100644 --- a/lib_arm/board.c +++ b/lib_arm/board.c @@ -121,7 +121,7 @@ void *sbrk (ptrdiff_t increment) static int init_baudrate (void) { - uchar tmp[64]; /* long enough for environment variables */ + char tmp[64]; /* long enough for environment variables */ int i = getenv_r ("baudrate", tmp, sizeof (tmp)); gd->bd->bi_baudrate = gd->baudrate = (i > 0) ? (int) simple_strtoul (tmp, NULL, 10) @@ -235,9 +235,11 @@ init_fnc_t *init_sequence[] = { void start_armboot (void) { - ulong size; init_fnc_t **init_fnc_ptr; char *s; +#ifndef CFG_NO_FLASH + ulong size; +#endif #if defined(CONFIG_VFD) || defined(CONFIG_LCD) unsigned long addr; #endif @@ -320,7 +322,7 @@ void start_armboot (void) int i; ulong reg; char *s, *e; - uchar tmp[64]; + char tmp[64]; i = getenv_r ("ethaddr", tmp, sizeof (tmp)); s = (i > 0) ? tmp : NULL; diff --git a/rtc/rs5c372.c b/rtc/rs5c372.c index 87f38c42bb..b56808b8ba 100644 --- a/rtc/rs5c372.c +++ b/rtc/rs5c372.c @@ -73,7 +73,7 @@ static unsigned bcd2bin (uchar c); static int setup_done = 0; static int -rs5c372_readram(char *buf, int len) +rs5c372_readram(unsigned char *buf, int len) { int ret; @@ -128,7 +128,7 @@ rs5c372_enable(void) } static void -rs5c372_convert_to_time(struct rtc_time *dt, char *buf) +rs5c372_convert_to_time(struct rtc_time *dt, unsigned char *buf) { /* buf[0] is register 15 */ dt->tm_sec = bcd2bin(buf[1]); -- 2.30.2