[U-Boot] [PATCH] [v3] tsec: fix the return value for tsec_eth_init()

Ben Warren biggerbadderben at gmail.com
Mon Jun 21 08:07:18 CEST 2010


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<timur at freescale.com>
> ---
>   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


More information about the U-Boot mailing list