On Mon, Jan 19, 2015 at 11:58:10AM +0400, Antony Pavlov wrote: > On Mon, 19 Jan 2015 08:51:44 +0100 > Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote: > > > On Mon, Jan 19, 2015 at 02:08:58AM +0400, Antony Pavlov wrote: > > > On Tue, 13 Jan 2015 07:33:06 +0100 > > > Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> wrote: > > > > > > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> > > > > --- > > > > arch/arm/boards/raspberry-pi/rpi.c | 55 ++++++++++++++++++++++++++++++++++++++ > > > > 1 file changed, 55 insertions(+) > > > > > > > > diff --git a/arch/arm/boards/raspberry-pi/rpi.c b/arch/arm/boards/raspberry-pi/rpi.c > > > > index ae1e92a..81b485e 100644 > > > > --- a/arch/arm/boards/raspberry-pi/rpi.c > > > > +++ b/arch/arm/boards/raspberry-pi/rpi.c > > > ... > > > > @@ -160,6 +205,15 @@ unknown_rev: > > > > barebox_set_model("RaspberryPi (BCM2835/ARM1176JZF-S)"); > > > > } > > > > > > > > +static void rpi_model_init(void) > > > > +{ > > > > + if (!models[rpi_board_rev].init) > > > > + return; > > > > > > Houston, we have a problem here. > > > Please see current arch/arm/boards/raspberry-pi/rpi.c: > > > > > > /* See comments in mbox.h for data source */ > > > static const struct { > > > const char *name; > > > bool has_onboard_eth; > > > void (*init)(void); > > > } models[] = { > > > RPI_MODEL(0, "Unknown model", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_B_I2C0_2, "Model B (no P5)", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_B_I2C0_3, "Model B (no P5)", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_B_I2C1_4, "Model B", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_B_I2C1_5, "Model B", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_B_I2C1_6, "Model B", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_A_7, "Model A", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_A_8, "Model A", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_A_9, "Model A", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_B_REV2_d, "Model B rev2", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_B_REV2_e, "Model B rev2", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_B_REV2_f, "Model B rev2", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_B_PLUS, "Model B+", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_CM, "Compute Module", NULL), > > > RPI_MODEL(BCM2835_BOARD_REV_A_PLUS, "Model A+", NULL), > > > }; > > > > > > All inits are NULLs! > > > > > > Have we any chance to run rpi_add_led()? > > > > Hm, no, this is never called. Maybe rpi_model_init() should look like > > this instead? > > > > static void rpi_model_init(void) > > { > > if (!models[rpi_board_rev].init) > > models[rpi_board_rev].init(); > > > Do you really want to dereference NULL pointer? Nah, drop the '!' of course. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox