[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