From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Sun, 20 Jun 2010 23:07:18 -0700 Subject: [U-Boot] [PATCH] [v3] tsec: fix the return value for tsec_eth_init() In-Reply-To: <1276003281-17963-1-git-send-email-timur@freescale.com> References: <1276003281-17963-1-git-send-email-timur@freescale.com> Message-ID: <4C1F0196.6030600@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 Timur, On 6/8/2010 6:21 AM, Timur Tabi wrote: > The Ethernet initialization functions are supposed to return the number of > devices initialized, so fix tsec_eth_init() so that they returns the number of > TSECs initialized, instead of just zero. This is safe because the return value > is currently ignored by all callers, but now they don't have to ignore it. > > In general, if an function initializes only one device, then it should return > a negative number if there's an error. If it initializes more than one device, > then it should never return a negative number. > > Signed-off-by: Timur Tabi > --- > drivers/net/tsec.c | 15 ++++++++++++--- > 1 files changed, 12 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c > index 3e4c3bd..c62ff82 100644 > --- a/drivers/net/tsec.c > +++ b/drivers/net/tsec.c > @@ -95,14 +95,23 @@ static struct tsec_info_struct tsec_info[] = { > #endif > }; > > +/* > + * Initialize all the TSEC devices > + * > + * Returns the number of TSEC devices that were initialized > + */ > int tsec_eth_init(bd_t *bis, struct tsec_info_struct *tsecs, int num) > { > int i; > + int ret, count = 0; > > - for (i = 0; i< num; i++) > - tsec_initialize(bis,&tsecs[i]); > + for (i = 0; i< num; i++) { > + ret = tsec_initialize(bis,&tsecs[i]); > + if (ret> 0) > + count += ret; > + } > > - return 0; > + return count; > } > > int tsec_standard_init(bd_t *bis) > Applied to net/next. regards, Ben