net: Remove the bd* parameter from net stack functions
authorJoe Hershberger <joe.hershberger@ni.com>
Sun, 22 Mar 2015 22:09:06 +0000 (17:09 -0500)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 8 Sep 2015 19:47:30 +0000 (21:47 +0200)
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>
Signed-off-by: Simon Glass <sjg@chromium.org>
(Trival fix to remove an unneeded variable declaration in 4xx_enet.c)

21 files changed:
api/api_net.c
arch/arm/lib/board.c
arch/avr32/lib/board.c
arch/nds32/lib/board.c
arch/openrisc/lib/board.c
arch/powerpc/lib/board.c
arch/sh/lib/board.c
arch/sparc/lib/board.c
board/BuS/eb_cpux9k2/cpux9k2.c
board/BuS/vl_ma2sc/vl_ma2sc.c
board/atmel/at91sam9261ek/at91sam9261ek.c
board/egnite/ethernut5/ethernut5.c
board/ronetix/pm9261/pm9261.c
board/ronetix/pm9g45/pm9g45.c
common/board_r.c
common/spl/spl_net.c
drivers/net/4xx_enet.c
drivers/net/netconsole.c
include/net.h
net/eth.c
net/net.c

index 7b3805e..04e4f4a 100644 (file)
@@ -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;
index 3c0ba07..9372bc9 100644 (file)
@@ -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();
index 99aa96e..aacfcbf 100644 (file)
@@ -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
index 4c06a48..24a09bc 100644 (file)
@@ -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();
index 2346685..c26cc8f 100644 (file)
@@ -128,7 +128,7 @@ void board_init(void)
 
 #if defined(CONFIG_CMD_NET)
        puts("NET:   ");
-       eth_initialize(bd);
+       eth_initialize();
 #endif
 
        /* main_loop */
index 91645d3..5ea29cc 100644 (file)
@@ -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)
index 1eb7afb..6dad3c7 100644 (file)
@@ -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) {
index b311a94..d2ac6bc 100644 (file)
@@ -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)
index 76ad7c4..3880a06 100644 (file)
@@ -111,7 +111,7 @@ int misc_init_r(void)
 void reset_phy(void)
 {
        udelay(10000);
-       eth_init(gd->bd);
+       eth_init();
 }
 #endif
 
index da39c86..e4e1a85 100644 (file)
@@ -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
index a301d72..5250474 100644 (file)
@@ -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
index b45213c..67d3984 100644 (file)
@@ -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
 
index 1f7679a..b96f745 100644 (file)
@@ -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
index 15aa4ac..efc4133 100644 (file)
@@ -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
index 5d968bf..baf1ff9 100644 (file)
@@ -582,7 +582,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();
index ff53705..af4952f 100644 (file)
@@ -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();
index 381ec42..878f1b2 100644 (file)
@@ -1719,8 +1719,6 @@ static void mal_err (struct eth_device *dev, unsigned long isr,
                     unsigned long uic, unsigned long maldef,
                     unsigned long mal_errr)
 {
-       EMAC_4XX_HW_PST hw_p = dev->priv;
-
        mtdcr (MAL0_ESR, isr);  /* clear interrupt */
 
        /* clear DE interrupt */
@@ -1728,10 +1726,11 @@ static void mal_err (struct eth_device *dev, unsigned long isr,
        mtdcr (MAL0_RXDEIR, 0x80000000);
 
 #ifdef INFO_4XX_ENET
-       printf ("\nMAL error occured.... ISR = %lx UIC = = %lx  MAL_DEF = %lx  MAL_ERR= %lx \n", isr, uic, maldef, mal_errr);
+       printf("\nMAL error occured.... ISR = %lx UIC = = %lx   MAL_DEF = %lx  MAL_ERR= %lx\n",
+              isr, uic, maldef, mal_errr);
 #endif
 
-       eth_init (hw_p->bis);   /* start again... */
+       eth_init();     /* start again... */
 }
 
 /*-----------------------------------------------------------------------------+
index 677c89f..87cea7a 100644 (file)
@@ -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;
        }
index f434b91..5bf7e68 100644 (file)
@@ -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
index b86994e..66ecb79 100644 (file)
--- 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;
index f98877d..e40e096 100644 (file)
--- 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
@@ -624,7 +623,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) {