patch-2.4.25 linux-2.4.25/arch/mips/lasat/lasat_board.c
Next file: linux-2.4.25/arch/mips/lasat/prom.c
Previous file: linux-2.4.25/arch/mips/lasat/Makefile
Back to the patch index
Back to the overall index
- Lines: 63
- Date:
2004-02-18 05:36:30.000000000 -0800
- Orig file:
linux-2.4.24/arch/mips/lasat/lasat_board.c
- Orig date:
2003-08-25 04:44:40.000000000 -0700
diff -urN linux-2.4.24/arch/mips/lasat/lasat_board.c linux-2.4.25/arch/mips/lasat/lasat_board.c
@@ -24,6 +24,7 @@
* Routines specific to the LASAT boards
*/
#include <linux/types.h>
+#include <linux/crc32.h>
#include <asm/lasat/lasat.h>
#include <linux/kernel.h>
#include <linux/string.h>
@@ -33,9 +34,11 @@
#include "at93c.h"
/* New model description table */
#include "lasat_models.h"
+
+#define EEPROM_CRC(data, len) (~0 ^ crc32(~0, data, len))
+
struct lasat_info lasat_board_info;
-unsigned long crc32(unsigned long, unsigned char *, int);
void update_bcastaddr(void);
int EEPROMRead(unsigned int pos, unsigned char *data, int len)
@@ -68,19 +71,19 @@
ls[LASAT_MTD_NORMAL] = 0x100000;
if (mips_machtype == MACH_LASAT_100) {
- lasat_board_info.li_flash_base = KSEG1ADDR(0x1e000000);
+ lasat_board_info.li_flash_base = 0x1e000000;
- lb[LASAT_MTD_BOOTLOADER] = KSEG1ADDR(0x1e400000);
+ lb[LASAT_MTD_BOOTLOADER] = 0x1e400000;
if (lasat_board_info.li_flash_size > 0x200000) {
ls[LASAT_MTD_CONFIG] = 0x100000;
ls[LASAT_MTD_FS] = 0x500000;
}
} else {
- lasat_board_info.li_flash_base = KSEG1ADDR(0x10000000);
+ lasat_board_info.li_flash_base = 0x10000000;
if (lasat_board_info.li_flash_size < 0x1000000) {
- lb[LASAT_MTD_BOOTLOADER] = KSEG1ADDR(0x10000000);
+ lb[LASAT_MTD_BOOTLOADER] = 0x10000000;
ls[LASAT_MTD_CONFIG] = 0x100000;
if (lasat_board_info.li_flash_size >= 0x400000) {
ls[LASAT_MTD_FS] = lasat_board_info.li_flash_size - 0x300000;
@@ -109,7 +112,7 @@
sizeof(struct lasat_eeprom_struct));
/* Check the CRC */
- crc = crc32(0x0, (unsigned char *)(&lasat_board_info.li_eeprom_info),
+ crc = EEPROM_CRC((unsigned char *)(&lasat_board_info.li_eeprom_info),
sizeof(struct lasat_eeprom_struct) - 4);
if (crc != lasat_board_info.li_eeprom_info.crc32) {
@@ -268,7 +271,7 @@
unsigned long crc;
/* Generate the CRC */
- crc = crc32(0x0, (unsigned char *)(&lasat_board_info.li_eeprom_info),
+ crc = EEPROM_CRC((unsigned char *)(&lasat_board_info.li_eeprom_info),
sizeof(struct lasat_eeprom_struct) - 4);
lasat_board_info.li_eeprom_info.crc32 = crc;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)