ARM: rpi: consolidate board rev error checking

Create a fake model table entry with default values, so we can error
check the board rev value once when querying it from the firmware, rather
than error-checking for invalid board rev values every time the model
table is used.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
This commit is contained in:
Stephen Warren 2014-12-23 20:01:44 -07:00 committed by Tom Rini
parent 47705eff7a
commit 914627fe1c

View File

@ -84,6 +84,11 @@ static const struct {
const char *fdtfile;
bool has_onboard_eth;
} models[] = {
[0] = {
"Unknown model",
"bcm2835-rpi-other.dtb",
false,
},
[BCM2835_BOARD_REV_B_I2C0_2] = {
"Model B (no P5)",
"bcm2835-rpi-b-i2c0.dtb",
@ -185,9 +190,6 @@ static void set_fdtfile(void)
return;
fdtfile = models[rpi_board_rev].fdtfile;
if (!fdtfile)
fdtfile = "bcm2835-rpi-other.dtb";
setenv("fdtfile", fdtfile);
}
@ -270,12 +272,12 @@ static void get_board_rev(void)
rpi_board_rev);
rpi_board_rev = 0;
}
if (!models[rpi_board_rev].name) {
printf("RPI: Board rev %u unknown\n", rpi_board_rev);
rpi_board_rev = 0;
}
name = models[rpi_board_rev].name;
if (!name) {
printf("RPI: Board rev %u unknown\n", rpi_board_rev);
name = "Unknown model";
}
printf("RPI model: %s\n", name);
}