From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephan Linz Date: Tue, 07 Aug 2012 22:10:39 +0200 Subject: [U-Boot] [PATCH v2 6/7] microblaze: Clean microblaze initialization In-Reply-To: <1344239199-11445-6-git-send-email-monstr@monstr.eu> References: <1344239199-11445-1-git-send-email-monstr@monstr.eu> <1344239199-11445-6-git-send-email-monstr@monstr.eu> Message-ID: <1344370240.29456.91.camel@keto> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Am Montag, den 06.08.2012, 09:46 +0200 schrieb Michal Simek: > Move board specific function to board_init function in board/ folder > Remove externs from generic board.c > Use board_init_f function in board.c file. > > Signed-off-by: Michal Simek > Acked-by: Stephan Linz Tested with AXI systems on Avnet S6LX150T and S6LX9 micro-evaluation. > --- > v2: Remove global pointer > Define board_init function in header > --- > arch/microblaze/cpu/start.S | 2 +- > arch/microblaze/include/asm/processor.h | 3 +++ > arch/microblaze/lib/board.c | 17 +++-------------- > .../xilinx/microblaze-generic/microblaze-generic.c | 9 +++++++++ > 4 files changed, 16 insertions(+), 15 deletions(-) > > diff --git a/arch/microblaze/cpu/start.S b/arch/microblaze/cpu/start.S > index 8a2f634..8564c4e 100644 > --- a/arch/microblaze/cpu/start.S > +++ b/arch/microblaze/cpu/start.S > @@ -149,7 +149,7 @@ clear_bss: > cmp r6, r5, r4 /* check if we have reach the end */ > bnei r6, 2b > 3: /* jumping to board_init */ > - brai board_init > + brai board_init_f > 1: bri 1b > > /* > diff --git a/arch/microblaze/include/asm/processor.h b/arch/microblaze/include/asm/processor.h > index 2295d0a..2c4d5ff 100644 > --- a/arch/microblaze/include/asm/processor.h > +++ b/arch/microblaze/include/asm/processor.h > @@ -28,4 +28,7 @@ > extern char __end[]; > extern char __text_start[]; > > +/* Microblaze board initialization function */ > +void board_init(void); > + > #endif /* __ASM_MICROBLAZE_PROCESSOR_H */ > diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c > index fde109f..b450367 100644 > --- a/arch/microblaze/lib/board.c > +++ b/arch/microblaze/lib/board.c > @@ -39,13 +39,6 @@ > > DECLARE_GLOBAL_DATA_PTR; > > -#ifdef CONFIG_SYS_GPIO_0 > -extern int gpio_init (void); > -#endif > -#ifdef CONFIG_SYS_FSL_2 > -extern void fsl_init2 (void); > -#endif > - > /* > * All attempts to come up with a "common" initialization sequence > * that works for all boards and architectures failed: some of the > @@ -67,20 +60,14 @@ init_fnc_t *init_sequence[] = { > #endif > serial_init, > console_init_f, > -#ifdef CONFIG_SYS_GPIO_0 > - gpio_init, > -#endif > interrupts_init, > timer_init, > -#ifdef CONFIG_SYS_FSL_2 > - fsl_init2, > -#endif > NULL, > }; > > unsigned long monitor_flash_len; > > -void board_init (void) > +void board_init_f(ulong not_used) > { > bd_t *bd; > init_fnc_t **init_fnc_ptr; > @@ -189,6 +176,8 @@ void board_init (void) > /* Initialize the console (after the relocation and devices init) */ > console_init_r(); > > + board_init(); > + > /* Initialize from environment */ > load_addr = getenv_ulong("loadaddr", 16, load_addr); > > diff --git a/board/xilinx/microblaze-generic/microblaze-generic.c b/board/xilinx/microblaze-generic/microblaze-generic.c > index a1e2bfe..b75e62c 100644 > --- a/board/xilinx/microblaze-generic/microblaze-generic.c > +++ b/board/xilinx/microblaze-generic/microblaze-generic.c > @@ -28,6 +28,7 @@ > #include > #include > #include > +#include > #include > #include > > @@ -69,6 +70,14 @@ int fsl_init2 (void) { > } > #endif > > +void board_init(void) > +{ > + gpio_init(); > +#ifdef CONFIG_SYS_FSL_2 > + fsl_init2(); > +#endif > +} > + > int board_eth_init(bd_t *bis) > { > int ret = 0; -- Viele Gr??e, Stephan Linz ______________________________________________________________________________ MB-Ref: http://www.li-pro.de/xilinx_mb:mbref:start OpenDCC: http://www.li-pro.net/opendcc.phtml PC/M: http://www.li-pro.net/pcm.phtml Sourceforge: http://sourceforge.net/users/slz Gitorious: https://gitorious.org/~slz