Commit d2eaec60 authored by Joe Hershberger's avatar Joe Hershberger Committed by Simon Glass

net: Remove the bd* parameter from net stack functions

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: default avatarJoe Hershberger <joe.hershberger@ni.com>
Reported-by: default avatarSimon Glass <sjg@chromium.org>
Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
(Trival fix to remove an unneeded variable declaration in 4xx_enet.c)
parent fce6900b
......@@ -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;
......
......@@ -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();
......
......@@ -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
......
......@@ -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();
......
......@@ -128,7 +128,7 @@ void board_init(void)
#if defined(CONFIG_CMD_NET)
puts("NET: ");
eth_initialize(bd);
eth_initialize();
#endif
/* main_loop */
......
......@@ -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)
......
......@@ -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) {
......
......@@ -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)
......
......@@ -111,7 +111,7 @@ int misc_init_r(void)
void reset_phy(void)
{
udelay(10000);
eth_init(gd->bd);
eth_init();
}
#endif
......
......@@ -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
......
......@@ -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
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -590,7 +590,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();
......
......@@ -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();
......
......@@ -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... */
}
/*-----------------------------------------------------------------------------+
......
......@@ -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;
}
......
......@@ -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
......
......@@ -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;
......
......@@ -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) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment