Hi, On 3 April 2014 14:01, Tom Rini <tr...@ti.com> wrote:
> On Wed, Apr 02, 2014 at 04:12:24PM +0900, Masahiro Yamada wrote: > > Hi. > > > > I notice bardrate parameter bd_t as well as gd_t. > > > > > > In include/asm-generic/global_data.h > > > > typedef struct global_data { > > bd_t *bd; > > unsigned long flags; > > unsigned int baudrate; > > > > We have "baudrate" here. > > > > > > > > > > E.g. arch/arm/include/asm/u-boot.h > > > > typedef struct bd_info { > > unsigned int bi_baudrate; /* serial console baudrate */ > > > > We have "bi_baudrate". > > > > > > > > My question is what's the difference > > between gd->baudrate and bd->bi_baudrate. > > Why do we need both? > > > > Since baudrate is a common paramter for all architectures, > > bd->bi_baudrate looks weird to me. > > I think the answer is sadly just duplicated datastructures. Simon do > you recall why we didn't drop this duplication before? Thanks! > The duplication existed before generic board (i.e. each arch had its own baudrate in global_data). I believe the reason for it being in bd_t is that it can be passed to the kernel in that structure on some archs. So removing it there may break some boards. I suspect the reason it is in global_data is that the bd_t structure doesn't exist until some time after the console is started up, so it wouldn't be possible to do serial output otherwise. Regards, Simon
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot