On Tue, Dec 13, 2011 at 12:18 PM, Ilya Yanok <ya...@emcraft.com> wrote: > 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.
Ah, I hadn't been thinking of it that way. Perhaps a omap-common/mmc.c that tries and init's them all will do, but needs a lot of testing first. And a little bit of thinking to make sure the one interface case isn't ugly too (am33xx). -- Tom _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot