From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vipin Kumar Date: Fri, 7 Dec 2012 15:10:54 +0530 Subject: [U-Boot] [PATCH resend 2/2] arm/boards: Define a new config option CONFIG_BOOT_PARAMS_P In-Reply-To: <50C080CF.10604@denx.de> References: <0914ca07f3fa7549188e349e7a0a32c3d6521321.1354786138.git.vipin.kumar@st.com> <50C068F4.3000107@denx.de> <50C06BD5.7010507@st.com> <50C080CF.10604@denx.de> Message-ID: <50C1B9A6.1020106@st.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 12/6/2012 4:56 PM, Stefan Roese wrote: > On 12/06/2012 10:56 AM, Vipin Kumar wrote: > > > >>>> +#ifdef CONFIG_BOOT_PARAMS_P >>>> + /* Boot params passed to Linux */ >>>> + gd->bd->bi_boot_params = CONFIG_BOOT_PARAMS_P; >>>> +#endif >>> >>> Again an ugly #ifdef. Why not something like this instead: >>> >>> Define a default earlier in the code (is 0x100 the best default?): >>> >>> #ifndef CONFIG_BOOT_PARAMS_P >>> #define CONFIG_BOOT_PARAMS_P 0x100 >>> #endif >>> >>> then here just: >>> >>> /* Boot params passed to Linux */ >>> gd->bd->bi_boot_params = CONFIG_BOOT_PARAMS_P; >>> >> >> This would mean that I am forcing the boot params at 0x100 for all >> boards. Is that the right thing to do >> >> Off-course, all of them might already be initializing >> gd->bd->bi_boot_params on their own > > Yes. Before or after this initialization? Will the board_init code > overwrite this one here? > board_init would overwrite it as it is called after relocation from board_init_r while this routine is called even before relocation > But I also think this could be confusing. The generic way to implement > this would be to remove *all* local board specific assignments of > gd->bd->bi_boot_params and define CONFIG_BOOT_PARAMS_P in their board > config header. But this will be quite intrusive and could be error-prone. > Yes, that is what I also thought.. Originally, I based my patch on the CONFIG_MACH_TYPE handling. If it is defined the board need not initialize gd->bd->bi_arch_number Can you please suggest what is the best way here. Wolfgang, Albert ? >>> without the #ifdef. >>> >>>> + >>>> addr_sp -= sizeof (gd_t); >>>> id = (gd_t *) addr_sp; >>>> debug("Reserving %zu Bytes for Global Data at: %08lx\n", >>>> @@ -468,6 +473,13 @@ void board_init_f(ulong bootflag) >>>> static char *failed = "*** failed ***\n"; >>>> #endif >>>> >>>> +static int __def_board_init(bd_t *bis) >>>> +{ >>>> + return -1; >>> >>> Is -1 a good value to return as default board_init()? >>> >> >> The return value is not checked as of today > > Then I suggest to use 0. > OK. Accepted > Thanks, > Stefan > > . >