From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Fri, 26 Sep 2008 00:27:34 -0700 Subject: [U-Boot] [PATCH 08/11 v1] ARM: OMAP3: Add I2C and network support In-Reply-To: <48DC866C.2080505@googlemail.com> References: <48ccdf1d.1f205e0a.3c76.5e64@mx.google.com> <48DC83EE.5060004@gmail.com> <48DC866C.2080505@googlemail.com> Message-ID: <48DC8EE6.3010902@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dirk Behme wrote: > Ben Warren wrote: >> dirk.behme at googlemail.com wrote: >> >>> Subject: [PATCH 08/11 v1] ARM: OMAP3: Add I2C and network support >>> >>> From: Dirk Behme >>> >>> Add I2C and network support >>> >>> >> >> I2C and network bits are kinda unrelated, don't you think? >> > > Ben: Yes, you are right ;) The OMAP3 patch is ~300k and I tried to put > this in as less patches as possible while having no patch > 40k. This > resulted in some more or less unrelated code in one patch. Alternative > would be to have more than the ~11 patches at the list we already have. > >>> Index: u-boot_master/net/eth.c >>> =================================================================== >>> --- u-boot_master.orig/net/eth.c >>> +++ u-boot_master/net/eth.c >>> @@ -508,7 +508,7 @@ extern int emac4xx_miiphy_initialize(bd_ >>> extern int mcf52x2_miiphy_initialize(bd_t *bis); >>> extern int ns7520_miiphy_initialize(bd_t *bis); >>> extern int davinci_eth_miiphy_initialize(bd_t *bis); >>> - >>> +extern int eth_init(bd_t *bd); >>> >>> int eth_initialize(bd_t *bis) >>> { >>> @@ -532,6 +532,9 @@ int eth_initialize(bd_t *bis) >>> #if defined(CONFIG_DRIVER_TI_EMAC) >>> davinci_eth_miiphy_initialize(bis); >>> #endif >>> +#if defined(CONFIG_DRIVER_SMC911X) >>> + eth_init(bis); >>> >> >> This isn't the right place to call eth_init(). I know the namespaces >> are pretty convoluted, but the eth_initialize() family of functions >> are intended to do things like register devices, initialize data >> structures etc. without actually enabling the device. eth_init() >> enables a device. The SMC911X driver doesn' t have such a thing, >> which is why none of the other boards that use this chip have >> anything in this file. > > Mani, Steve: Any comments on this? > > Ben: Any hint where in existing code it is done right to take this as > example? > eth_init() will get called in NetLoop() (net/net.c) whenever you send a packet. You should never have to call it explicitly. There doesn't appear to be a separate driver initialization for this controller. > Thanks > > Dirk regards, Ben