[U-Boot] [PATCH] mgcoge make ether_scc.c work with CONFIG_NET_MULTI
Gary Jennejohn
garyj at denx.de
Mon Nov 10 18:27:27 CET 2008
Hi Ben,
Ben Warren <biggerbadderben at gmail.com> wrote:
> Gary Jennejohn wrote:
[snip]
> > #if defined(CONFIG_ETHER_ON_SCC) && defined(CONFIG_CMD_NET)
> >
> While you're mucking around with this file, please settle on a single
> CONFIG that can allow conditional compilation from the Makefile, then
> get rid of this stuff.
>
You mean get rid of CONFIG_ETHER_ON_SCC and CONFIG_CMD_NET? But isn't at
least CONFIG_CMD_NET required to get networking support in other parts of
U-Boot, which would make it a prerequisite for compiling this?
And eliminating or supplementing CONFIG_ETHER_ON_SCC with a new CONFIG
would mean changing a whole slew of configuration files, not to mention
include/net.h.
> > -int eth_send(volatile void *packet, int length)
> > +int sec_send(struct eth_device *dev, volatile void *packet, int length)
> >
> Please give all these functions, except initialize(), file scope (i.e.
> make them static). I'm not crazy about the name 'sec', but if it's
> static the objection doesn't carry much weight. I also can't think of a
> better name.
>
Yeah, I should have thought of this when I did the mods.
[snip]
> > +int sec_initialize(bd_t *bis)
> >
> For this function with global namespace, please pick a more descriptive
> name. Maybe 82xx_scc_initialize() or something?
>
I called it 82xx_scc_enet_initialize() to make its function clear.
> > --- a/net/eth.c
> > +++ b/net/eth.c
> > @@ -48,6 +48,8 @@ extern int ppc_4xx_eth_initialize(bd_t *);
> > extern int scc_initialize(bd_t*);
> > extern int npe_initialize(bd_t *);
> > extern int uec_initialize(int);
> > +extern int sec_initialize(bd_t *);
> > +extern int keymile_hdlc_enet_initialize(bd_t *);
> >
> > #ifdef CONFIG_API
> > extern void (*push_packet)(volatile void *, int);
> > @@ -196,6 +198,12 @@ int eth_initialize(bd_t *bis)
> > #if defined(CONFIG_IXP4XX_NPE)
> > npe_initialize(bis);
> > #endif
> > +#if defined(CONFIG_ETHER_ON_SCC) && defined(CONFIG_MPC8260)
> > + sec_initialize(bis);
> > +#endif
> > +#if defined(CONFIG_KEYMILE_HDLC_ENET)
> > + keymile_hdlc_enet_initialize(bis);
> > +#endif
> > if (!eth_devices) {
> > puts ("No ethernet found.\n");
> > show_boot_progress (-64);
> >
> Please don't add anything to this file. All initializations now go in
> cpu_eth_init()/board_eth_init(). There are plenty of examples you can
> draw from. Don't forget to add your initializer function to
> include/netdev.h
>
OK, that should be easy enough. I've now done it for keymile.
> You get bonus points if you move this driver to drivers/net
>
I'll look into it but make no promises.
---
Gary Jennejohn
*********************************************************************
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
*********************************************************************
More information about the U-Boot
mailing list