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(); rpi_add_led(); } But then again, why is rpi_add_led called from rpi_model_init()? 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