Hi Tom, On 12.12.2011 20:22, Tom Rini wrote: >>>> +#if defined(CONFIG_GENERIC_MMC) && defined(CONFIG_OMAP_HSMMC) && \ >>>> + !defined(CONFIG_SPL_BUILD) >>>> +int board_mmc_init(bd_t *bis) >>>> +{ >>>> + omap_mmc_init(0); >>>> + return 0; >>> >>> return omap_mmc_init(0); >>> >>> I would also define this function ("weak") in some common place, >>> so we will not need to copy/paste it all over the boards, but >>> of course, it is not a blocker and I don't request this from you. >>> Only if you want to... :-) >> >> Well, we can use cpu_mmc_init() for this. But what slot(s) should we >> initialized in this common function? First? All? > > The problem we have here is that board_mmc_init and cpu_mmc_init are > already both weak and you can't replace one weak function with another > weak function (or if you can, you need to play linker games). I had > given this a quick stab but not reported back since I hadn't finished > the rest of the related task (SPL and MMC support for am335x).
I don't really understand the issue. We don't even have to play with the weak functions, generic MMC code already does this. We can just provide the cpu_mmc_init function for OMAPs (which we don't have at the moment). The only problem I can see is how to tell this cpu_mmc_init function which slots to initialize. Probably we could use some configuration defines for this. Regards, Ilya. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot