Jon Loeliger wrote: > On Tue, 2008-06-10 at 07:03 -0700, Ben Warren wrote: > >> +#if defined(CONFIG_TSEC1) >> + tsec_initialize(bis, 0, CONFIG_TSEC1_NAME); >> +#endif >> +#if defined(CONFIG_TSEC2) >> + tsec_initialize(bis, 1, CONFIG_TSEC2_NAME); >> +#endif >> +#if defined(CONFIG_MPC85XX_FEC) >> + tsec_initialize(bis, 2, CONFIG_MPC85XX_FEC_NAME); >> +#else >> +#if defined(CONFIG_TSEC3) >> + tsec_initialize(bis, 2, CONFIG_TSEC3_NAME); >> +#endif >> +#if defined(CONFIG_TSEC4) >> + tsec_initialize(bis, 3, CONFIG_TSEC4_NAME); >> +#endif >> +#endif >> + return 0; >> +} >> > > So, why not make a new function in tsec.c called something > like tsec_initialize_all(bis) with essentially the above > #ifdef-series and make all of the individual board functions > just be like: > > +int board_eth_init(bd_t *bis) > +{ > + tsec_initialize_all(bis); > + return 0; > +} > > I'd prefer to abstract index information away from the drivers. That way if you guys come up with a chip that has 8 TSECs, the driver doesn't have to change. Next release cycle I'm planning on bringing in PHY lib support, in which case we'll want to pass specific info to each instance of the TSEC. That said, what you're suggesting would be a good candidate for a cpu_eth_init() function, that can be overridden by board_eth_init() if desired. Ya man, I dig it. I'll play around with that tonight. > Just a notion. Haven't actually thought about it... > > Please keep not thinking. It's more interesting than most peoples' fully-baked discussion :) > jdl > > cheers, Ben
------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users