[U-Boot] [PATCH 2/8] net: Don't call board/cpu_eth_init() with driver model
Simon Glass
sjg at chromium.org
Mon Jan 18 04:58:39 CET 2016
Hi Bin,
On 17 January 2016 at 20:25, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Mon, Jan 18, 2016 at 5:51 AM, Simon Glass <sjg at chromium.org> wrote:
>> We should avoid weak functions with driver model. Existing boards that use
>> driver model don't need them, so let's kill them off.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>> net/eth.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/net/eth.c b/net/eth.c
>> index 45fe6e3..d96d3a5 100644
>> --- a/net/eth.c
>> +++ b/net/eth.c
>> @@ -96,6 +96,7 @@ static void eth_common_init(void)
>> phy_init();
>> #endif
>>
>> +#ifndef CONFIG_DM_ETH
>> /*
>> * If board-specific initialization exists, call it.
>> * If not, call a CPU-specific one
>> @@ -107,10 +108,9 @@ static void eth_common_init(void)
>> if (cpu_eth_init(gd->bd) < 0)
>> printf("CPU Net Initialization Failed\n");
>> } else {
>> -#ifndef CONFIG_DM_ETH
>> printf("Net Initialization Skipped\n");
>> -#endif
>> }
>> +#endif
>> }
>>
>> #ifdef CONFIG_DM_ETH
>> --
>
> I posted the same patch [1] before. But you and Joe mentioned that
> this is still needed on some cases. And even if it is not needed, we
> may still have a chance to insert some board-specific stuff into these
> two routines.
>
> [1] http://patchwork.ozlabs.org/patch/510391/
Well I think I was on your side :-) We really don't want this with
driver model as calling weak functions is skirting around driver
model. If there is a feature that is needed we should model it
properly with a uclass (e.g. pinctrl, GPIOs).
Regards,
Simon
More information about the U-Boot
mailing list