Message ID | 1426117465-16072-10-git-send-email-joe.hershberger@ni.com |
---|---|
State | Superseded |
Delegated to: | Simon Glass |
Headers | show |
Hi Joe, On 11 March 2015 at 17:44, Joe Hershberger <joe.hershberger@ni.com> wrote: > This value is not used by the network stack and is available in the > global data, so stop passing it around. For the one legacy function > that still expects it (init op on old Ethernet drivers) pass in the > global pointer version directly to avoid changing that interface. > > Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> > Reported-by: Simon Glass <sjg@chromium.org> > Reviewed-by: Simon Glass <sjg@chromium.org> > > --- > > Changes in v6: > -Fix compile errors for other boards due to removed parameters Unfortunately this causes several build failures: 38: net: Remove the bd* parameter from net stack functions powerpc: + PLU405 PMC440 sc3 neo acadia csb472 devconcenter sequoia arches lwmon5 t3corp walnut PMC405DE redwood katmai gdppc440etx p3p440 sycamore MIP405 zeus rainier_ramboot canyonlands MIP405T haleakala dlvision csb272 xpedite1000 io yosemite yucca makalu sequoia_ramboot dlvision-10g pcs440ep CPCI4052 sbc405 iocon ebony glacier_ramboot VOM405 bamboo luan io64 PIP405 intip glacier lcd4_lwmon5 bubinga yellowstone icon kilauea rainier e.g: $ buildman -b dm-push -s PLU405 -e ... 38: net: Remove the bd* parameter from net stack functions powerpc: + PLU405 +../drivers/net/4xx_enet.c: In function 'mal_err': +../drivers/net/4xx_enet.c:1734:2: error: too many arguments to function 'eth_init' +../include/net.h:169:5: note: declared here +make[2]: *** [drivers/net/4xx_enet.o] Error 1 +make[1]: *** [drivers/net] Error 2 +make: *** [sub-make] Error 2 ... Can you please check this and respin? Regards, Simon
Hi Simon, On Fri, Mar 20, 2015 at 6:01 PM, Simon Glass <sjg@chromium.org> wrote: > > Hi Joe, > > On 11 March 2015 at 17:44, Joe Hershberger <joe.hershberger@ni.com> wrote: > > This value is not used by the network stack and is available in the > > global data, so stop passing it around. For the one legacy function > > that still expects it (init op on old Ethernet drivers) pass in the > > global pointer version directly to avoid changing that interface. > > > > Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> > > Reported-by: Simon Glass <sjg@chromium.org> > > Reviewed-by: Simon Glass <sjg@chromium.org> > > > > --- > > > > Changes in v6: > > -Fix compile errors for other boards due to removed parameters > > Unfortunately this causes several build failures: > > 38: net: Remove the bd* parameter from net stack functions > powerpc: + PLU405 PMC440 sc3 neo acadia csb472 devconcenter > sequoia arches lwmon5 t3corp walnut PMC405DE redwood katmai > gdppc440etx p3p440 sycamore MIP405 zeus rainier_ramboot canyonlands > MIP405T haleakala dlvision csb272 xpedite1000 io yosemite yucca makalu > sequoia_ramboot dlvision-10g pcs440ep CPCI4052 sbc405 iocon ebony > glacier_ramboot VOM405 bamboo luan io64 PIP405 intip glacier > lcd4_lwmon5 bubinga yellowstone icon kilauea rainier > > e.g: > > $ buildman -b dm-push -s PLU405 -e > ... > 38: net: Remove the bd* parameter from net stack functions > powerpc: + PLU405 > +../drivers/net/4xx_enet.c: In function 'mal_err': > +../drivers/net/4xx_enet.c:1734:2: error: too many arguments to > function 'eth_init' > +../include/net.h:169:5: note: declared here > +make[2]: *** [drivers/net/4xx_enet.o] Error 1 > +make[1]: *** [drivers/net] Error 2 > +make: *** [sub-make] Error 2 > ... > > Can you please check this and respin? Sorry about that. Are you aware of anything other than the 4xx_enet.c error? I grepped around and didn't find anything else, but I also missed this one previously using the same method. Thanks, -Joe
Hi Joe, On 21 March 2015 at 21:42, Joe Hershberger <joe.hershberger@gmail.com> wrote: > > Hi Simon, > > > On Fri, Mar 20, 2015 at 6:01 PM, Simon Glass <sjg@chromium.org> wrote: > > > > Hi Joe, > > > > On 11 March 2015 at 17:44, Joe Hershberger <joe.hershberger@ni.com> wrote: > > > This value is not used by the network stack and is available in the > > > global data, so stop passing it around. For the one legacy function > > > that still expects it (init op on old Ethernet drivers) pass in the > > > global pointer version directly to avoid changing that interface. > > > > > > Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> > > > Reported-by: Simon Glass <sjg@chromium.org> > > > Reviewed-by: Simon Glass <sjg@chromium.org> > > > > > > --- > > > > > > Changes in v6: > > > -Fix compile errors for other boards due to removed parameters > > > > Unfortunately this causes several build failures: > > > > 38: net: Remove the bd* parameter from net stack functions > > powerpc: + PLU405 PMC440 sc3 neo acadia csb472 devconcenter > > sequoia arches lwmon5 t3corp walnut PMC405DE redwood katmai > > gdppc440etx p3p440 sycamore MIP405 zeus rainier_ramboot canyonlands > > MIP405T haleakala dlvision csb272 xpedite1000 io yosemite yucca makalu > > sequoia_ramboot dlvision-10g pcs440ep CPCI4052 sbc405 iocon ebony > > glacier_ramboot VOM405 bamboo luan io64 PIP405 intip glacier > > lcd4_lwmon5 bubinga yellowstone icon kilauea rainier > > > > e.g: > > > > $ buildman -b dm-push -s PLU405 -e > > ... > > 38: net: Remove the bd* parameter from net stack functions > > powerpc: + PLU405 > > +../drivers/net/4xx_enet.c: In function 'mal_err': > > +../drivers/net/4xx_enet.c:1734:2: error: too many arguments to > > function 'eth_init' > > +../include/net.h:169:5: note: declared here > > +make[2]: *** [drivers/net/4xx_enet.o] Error 1 > > +make[1]: *** [drivers/net] Error 2 > > +make: *** [sub-make] Error 2 > > ... > > > > Can you please check this and respin? > > Sorry about that. Are you aware of anything other than the 4xx_enet.c error? I grepped around and didn't find anything else, but I also missed this one previously using the same method. Unfortunately I don't have that build anymore. Given the board names it seems likely. Regards, Simon
diff --git a/api/api_net.c b/api/api_net.c index 7b3805e..04e4f4a 100644 --- a/api/api_net.c +++ b/api/api_net.c @@ -37,7 +37,7 @@ int dev_open_net(void *cookie) if (!dev_valid_net(cookie)) return API_ENODEV; - if (eth_init(gd->bd) < 0) + if (eth_init() < 0) return API_EIO; return 0; diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index f606255..37ea6e9 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -644,7 +644,7 @@ void board_init_r(gd_t *id, ulong dest_addr) #endif #if defined(CONFIG_CMD_NET) puts("Net: "); - eth_initialize(gd->bd); + eth_initialize(); #if defined(CONFIG_RESET_PHY_R) debug("Reset Ethernet PHY\n"); reset_phy(); diff --git a/arch/avr32/lib/board.c b/arch/avr32/lib/board.c index 99aa96e..aacfcbf 100644 --- a/arch/avr32/lib/board.c +++ b/arch/avr32/lib/board.c @@ -244,7 +244,7 @@ void board_init_r(gd_t *new_gd, ulong dest_addr) #endif #if defined(CONFIG_CMD_NET) puts("Net: "); - eth_initialize(gd->bd); + eth_initialize(); #endif #ifdef CONFIG_GENERIC_ATMEL_MCI diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c index 9caff73..c54a3f7 100644 --- a/arch/m68k/lib/board.c +++ b/arch/m68k/lib/board.c @@ -566,10 +566,10 @@ void board_init_r (gd_t *id, ulong dest_addr) #if defined(CONFIG_CMD_NET) WATCHDOG_RESET(); #if defined(FEC_ENET) - eth_init(bd); + eth_init(); #endif puts ("Net: "); - eth_initialize (bd); + eth_initialize(); #endif #ifdef CONFIG_POST diff --git a/arch/nds32/lib/board.c b/arch/nds32/lib/board.c index 4c06a48..24a09bc 100644 --- a/arch/nds32/lib/board.c +++ b/arch/nds32/lib/board.c @@ -383,7 +383,7 @@ void board_init_r(gd_t *id, ulong dest_addr) #if defined(CONFIG_CMD_NET) puts("Net: "); - eth_initialize(gd->bd); + eth_initialize(); #if defined(CONFIG_RESET_PHY_R) debug("Reset Ethernet PHY\n"); reset_phy(); diff --git a/arch/openrisc/lib/board.c b/arch/openrisc/lib/board.c index 2346685..c26cc8f 100644 --- a/arch/openrisc/lib/board.c +++ b/arch/openrisc/lib/board.c @@ -128,7 +128,7 @@ void board_init(void) #if defined(CONFIG_CMD_NET) puts("NET: "); - eth_initialize(bd); + eth_initialize(); #endif /* main_loop */ diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c index 91645d3..5ea29cc 100644 --- a/arch/powerpc/lib/board.c +++ b/arch/powerpc/lib/board.c @@ -890,7 +890,7 @@ void board_init_r(gd_t *id, ulong dest_addr) #if defined(CONFIG_CMD_NET) WATCHDOG_RESET(); puts("Net: "); - eth_initialize(bd); + eth_initialize(); #endif #if defined(CONFIG_CMD_NET) && defined(CONFIG_RESET_PHY_R) diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c index 1eb7afb..6dad3c7 100644 --- a/arch/sh/lib/board.c +++ b/arch/sh/lib/board.c @@ -178,7 +178,7 @@ void sh_generic_init(void) #endif #if defined(CONFIG_CMD_NET) puts("Net: "); - eth_initialize(gd->bd); + eth_initialize(); #endif /* CONFIG_CMD_NET */ while (1) { diff --git a/arch/sparc/lib/board.c b/arch/sparc/lib/board.c index b311a94..d2ac6bc 100644 --- a/arch/sparc/lib/board.c +++ b/arch/sparc/lib/board.c @@ -351,7 +351,7 @@ void board_init_f(ulong bootflag) #if defined(CONFIG_CMD_NET) WATCHDOG_RESET(); puts("Net: "); - eth_initialize(bd); + eth_initialize(); #endif #if defined(CONFIG_CMD_NET) && defined(CONFIG_RESET_PHY_R) diff --git a/board/BuS/eb_cpux9k2/cpux9k2.c b/board/BuS/eb_cpux9k2/cpux9k2.c index 76ad7c4..3880a06 100644 --- a/board/BuS/eb_cpux9k2/cpux9k2.c +++ b/board/BuS/eb_cpux9k2/cpux9k2.c @@ -111,7 +111,7 @@ int misc_init_r(void) void reset_phy(void) { udelay(10000); - eth_init(gd->bd); + eth_init(); } #endif diff --git a/board/BuS/vl_ma2sc/vl_ma2sc.c b/board/BuS/vl_ma2sc/vl_ma2sc.c index da39c86..e4e1a85 100644 --- a/board/BuS/vl_ma2sc/vl_ma2sc.c +++ b/board/BuS/vl_ma2sc/vl_ma2sc.c @@ -280,7 +280,7 @@ void reset_phy(void) * Initialize ethernet HW addr prior to starting Linux, * needed for nfsroot */ - eth_init(gd->bd); + eth_init(); #endif } #endif diff --git a/board/atmel/at91sam9261ek/at91sam9261ek.c b/board/atmel/at91sam9261ek/at91sam9261ek.c index a301d72..5250474 100644 --- a/board/atmel/at91sam9261ek/at91sam9261ek.c +++ b/board/atmel/at91sam9261ek/at91sam9261ek.c @@ -275,7 +275,7 @@ void reset_phy(void) * Initialize ethernet HW addr prior to starting Linux, * needed for nfsroot */ - eth_init(gd->bd); + eth_init(); #endif } #endif diff --git a/board/egnite/ethernut5/ethernut5.c b/board/egnite/ethernut5/ethernut5.c index b45213c..67d3984 100644 --- a/board/egnite/ethernut5/ethernut5.c +++ b/board/egnite/ethernut5/ethernut5.c @@ -204,7 +204,7 @@ int board_eth_init(bd_t *bis) miiphy_write(devname, 0, MII_BMCR, BMCR_RESET); } /* Sync environment with network devices, needed for nfsroot. */ - return eth_init(gd->bd); + return eth_init(); } #endif diff --git a/board/ronetix/pm9261/pm9261.c b/board/ronetix/pm9261/pm9261.c index 1f7679a..b96f745 100644 --- a/board/ronetix/pm9261/pm9261.c +++ b/board/ronetix/pm9261/pm9261.c @@ -288,7 +288,7 @@ void reset_phy(void) * Initialize ethernet HW addr prior to starting Linux, * needed for nfsroot */ - eth_init(gd->bd); + eth_init(); #endif } #endif diff --git a/board/ronetix/pm9g45/pm9g45.c b/board/ronetix/pm9g45/pm9g45.c index 15aa4ac..efc4133 100644 --- a/board/ronetix/pm9g45/pm9g45.c +++ b/board/ronetix/pm9g45/pm9g45.c @@ -166,7 +166,7 @@ void reset_phy(void) * Initialize ethernet HW addr prior to starting Linux, * needed for nfsroot */ - eth_init(gd->bd); + eth_init(); #endif } #endif diff --git a/common/board_r.c b/common/board_r.c index af0f274..b882d9b 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -585,7 +585,7 @@ static int initr_bbmii(void) static int initr_net(void) { puts("Net: "); - eth_initialize(gd->bd); + eth_initialize(); #if defined(CONFIG_RESET_PHY_R) debug("Reset Ethernet PHY\n"); reset_phy(); diff --git a/common/spl/spl_net.c b/common/spl/spl_net.c index ff53705..af4952f 100644 --- a/common/spl/spl_net.c +++ b/common/spl/spl_net.c @@ -21,7 +21,7 @@ void spl_net_load_image(const char *device) env_relocate(); setenv("autoload", "yes"); load_addr = CONFIG_SYS_TEXT_BASE - sizeof(struct image_header); - rv = eth_initialize(gd->bd); + rv = eth_initialize(); if (rv == 0) { printf("No Ethernet devices found\n"); hang(); diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 677c89f..87cea7a 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -193,11 +193,11 @@ static void nc_send_packet(const char *buf, int len) if (eth->state != ETH_STATE_ACTIVE) { if (eth_is_on_demand_init()) { - if (eth_init(gd->bd) < 0) + if (eth_init() < 0) return; eth_set_last_protocol(NETCONS); } else - eth_init_state_only(gd->bd); + eth_init_state_only(); inited = 1; } diff --git a/include/net.h b/include/net.h index cec5612..ae0f31a 100644 --- a/include/net.h +++ b/include/net.h @@ -119,7 +119,7 @@ static inline unsigned char *eth_get_ethaddr(void) } /* Set active state */ -static inline __attribute__((always_inline)) int eth_init_state_only(bd_t *bis) +static inline __attribute__((always_inline)) int eth_init_state_only(void) { eth_get_dev()->state = ETH_STATE_ACTIVE; @@ -145,7 +145,7 @@ int eth_write_hwaddr(struct eth_device *dev, const char *base_name, int usb_eth_initialize(bd_t *bi); -int eth_initialize(bd_t *bis); /* Initialize network subsystem */ +int eth_initialize(void); /* Initialize network subsystem */ void eth_try_another(int first_restart); /* Change the device */ void eth_set_current(void); /* set nterface to ethcur var */ @@ -166,7 +166,7 @@ int eth_setenv_enetaddr(char *name, const uchar *enetaddr); int eth_getenv_enetaddr_by_index(const char *base_name, int index, uchar *enetaddr); -int eth_init(bd_t *bis); /* Initialize the device */ +int eth_init(void); /* Initialize the device */ int eth_send(void *packet, int length); /* Send a packet */ #ifdef CONFIG_API diff --git a/net/eth.c b/net/eth.c index b86994e..66ecb79 100644 --- a/net/eth.c +++ b/net/eth.c @@ -12,6 +12,8 @@ #include <phy.h> #include <asm/errno.h> +DECLARE_GLOBAL_DATA_PTR; + void eth_parse_enetaddr(const char *addr, uchar *enetaddr) { char *end; @@ -250,7 +252,7 @@ int eth_unregister(struct eth_device *dev) return 0; } -int eth_initialize(bd_t *bis) +int eth_initialize(void) { int num_devices = 0; eth_devices = NULL; @@ -272,10 +274,10 @@ int eth_initialize(bd_t *bis) * If not, call a CPU-specific one */ if (board_eth_init != __def_eth_init) { - if (board_eth_init(bis) < 0) + if (board_eth_init(gd->bd) < 0) printf("Board Net Initialization Failed\n"); } else if (cpu_eth_init != __def_eth_init) { - if (cpu_eth_init(bis) < 0) + if (cpu_eth_init(gd->bd) < 0) printf("CPU Net Initialization Failed\n"); } else printf("Net Initialization Skipped\n"); @@ -362,7 +364,7 @@ u32 ether_crc(size_t len, unsigned char const *p) #endif -int eth_init(bd_t *bis) +int eth_init(void) { struct eth_device *old_current, *dev; @@ -387,7 +389,7 @@ int eth_init(bd_t *bis) do { debug("Trying %s\n", eth_current->name); - if (eth_current->init(eth_current, bis) >= 0) { + if (eth_current->init(eth_current, gd->bd) >= 0) { eth_current->state = ETH_STATE_ACTIVE; return 0; diff --git a/net/net.c b/net/net.c index 4b3c90e..e5ab07c 100644 --- a/net/net.c +++ b/net/net.c @@ -324,7 +324,6 @@ void net_init(void) int NetLoop(enum proto_t protocol) { - bd_t *bd = gd->bd; int ret = -1; NetRestarted = 0; @@ -337,12 +336,12 @@ int NetLoop(enum proto_t protocol) if (eth_is_on_demand_init() || protocol != NETCONS) { eth_halt(); eth_set_current(); - if (eth_init(bd) < 0) { + if (eth_init() < 0) { eth_halt(); return -1; } } else - eth_init_state_only(bd); + eth_init_state_only(); restart: #ifdef CONFIG_USB_KEYBOARD @@ -618,7 +617,7 @@ void NetStartAgain(void) #if !defined(CONFIG_NET_DO_NOT_TRY_ANOTHER) eth_try_another(!NetRestarted); #endif - eth_init(gd->bd); + eth_init(); if (NetRestartWrap) { NetRestartWrap = 0; if (NetDevExists) {