[U-Boot] [PATCH 2/8] net: Don't call board/cpu_eth_init() with driver model
Bin Meng
bmeng.cn at gmail.com
Mon Jan 18 05:29:36 CET 2016
Hi Simon,
On Mon, Jan 18, 2016 at 11:58 AM, Simon Glass <sjg at chromium.org> wrote:
> 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).
>
OK, unless Joe has different opinion :)
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
Regards,
Bin
More information about the U-Boot
mailing list