瀏覽代碼

PATI board: fix compiler warnings

Fix these:
pati.c: In function 'checkboard':
pati.c:358: warning: pointer targets in passing argument 2 of 'getenv_r' differ in signedness
../common/flash.c: In function 'write_word':
../common/flash.c:824: warning: dereferencing type-punned pointer will break strict-aliasing rules
cmd_pati.c: In function 'do_pati':
cmd_pati.c:279: warning: 'value' may be used uninitialized in this function

Signed-off-by: Wolfgang Denk <wd@denx.de>
Wolfgang Denk 16 年之前
父節點
當前提交
d39041fcad
共有 3 個文件被更改,包括 10 次插入6 次删除
  1. 7 3
      board/mpl/common/flash.c
  2. 1 1
      board/mpl/pati/cmd_pati.c
  3. 2 2
      board/mpl/pati/pati.c

+ 7 - 3
board/mpl/common/flash.c

@@ -819,13 +819,17 @@ static FLASH_WORD_SIZE *read_val = (FLASH_WORD_SIZE *)0x200000;
 
 static int write_word (flash_info_t *info, ulong dest, ulong data)
 {
-	volatile FLASH_WORD_SIZE *addr2 = (FLASH_WORD_SIZE *)(info->start[0]);
-	volatile FLASH_WORD_SIZE *dest2 = (FLASH_WORD_SIZE *)dest;
-	volatile FLASH_WORD_SIZE *data2 = (FLASH_WORD_SIZE *)&data;
+	volatile FLASH_WORD_SIZE *addr2 = (volatile FLASH_WORD_SIZE *)(info->start[0]);
+	volatile FLASH_WORD_SIZE *dest2 = (volatile FLASH_WORD_SIZE *)dest;
+	volatile FLASH_WORD_SIZE *data2;
 	ulong start;
+	ulong *data_p;
 	int flag;
 	int i;
 
+	data_p = &data;
+	data2 = (volatile FLASH_WORD_SIZE *)data_p;
+
 	/* Check if Flash is (sufficiently) erased */
 	if ((*((volatile FLASH_WORD_SIZE *)dest) &
 		(FLASH_WORD_SIZE)data) != (FLASH_WORD_SIZE)data) {

+ 1 - 1
board/mpl/pati/cmd_pati.c

@@ -276,7 +276,7 @@ static int pati_pci_eeprom_write(unsigned short offset, unsigned long addr, unsi
 static int pati_pci_eeprom_read(unsigned short offset, unsigned long addr, unsigned short size)
 {
 	int i;
-	unsigned short value;
+	unsigned short value = 0;
 	unsigned short *buffer =(unsigned short *)addr;
 	if((offset + size) > PATI_EEPROM_LAST_OFFSET) {
 		size = PATI_EEPROM_LAST_OFFSET - offset;

+ 2 - 2
board/mpl/pati/pati.c

@@ -347,8 +347,8 @@ int last_stage_init (void)
 
 int checkboard (void)
 {
-	unsigned char s[50];
-	unsigned long reg;
+	char s[50];
+	ulong reg;
 	char rev;
 	int i;