Skip to content

Commit

Permalink
mv643xx_eth: move mac_addr inside mv643xx_eth_platform_data
Browse files Browse the repository at this point in the history
The information contained within platform_data should be self-contained.
Replace the pointer to a MAC address with the actual MAC address in
struct mv643xx_eth_platform_data.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Dale Farnsworth authored and Jeff Garzik committed Mar 3, 2007
1 parent 471a567 commit 5ada386
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 44 deletions.
20 changes: 4 additions & 16 deletions arch/mips/momentum/jaguar_atx/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,7 @@ static struct resource mv64x60_eth0_resources[] = {
},
};

static char eth0_mac_addr[ETH_ALEN];

static struct mv643xx_eth_platform_data eth0_pd = {
.mac_addr = eth0_mac_addr,

.tx_sram_addr = MV_SRAM_BASE_ETH0,
.tx_sram_size = MV_SRAM_TXRING_SIZE,
.tx_queue_size = MV_SRAM_TXRING_SIZE / 16,
Expand Down Expand Up @@ -80,11 +76,7 @@ static struct resource mv64x60_eth1_resources[] = {
},
};

static char eth1_mac_addr[ETH_ALEN];

static struct mv643xx_eth_platform_data eth1_pd = {
.mac_addr = eth1_mac_addr,

.tx_sram_addr = MV_SRAM_BASE_ETH1,
.tx_sram_size = MV_SRAM_TXRING_SIZE,
.tx_queue_size = MV_SRAM_TXRING_SIZE / 16,
Expand Down Expand Up @@ -113,11 +105,7 @@ static struct resource mv64x60_eth2_resources[] = {
},
};

static char eth2_mac_addr[ETH_ALEN];

static struct mv643xx_eth_platform_data eth2_pd = {
.mac_addr = eth2_mac_addr,
};
static struct mv643xx_eth_platform_data eth2_pd;

static struct platform_device eth2_device = {
.name = MV643XX_ETH_NAME,
Expand Down Expand Up @@ -200,9 +188,9 @@ static int __init mv643xx_eth_add_pds(void)
int ret;

get_mac(mac);
eth_mac_add(eth0_mac_addr, mac, 0);
eth_mac_add(eth1_mac_addr, mac, 1);
eth_mac_add(eth2_mac_addr, mac, 2);
eth_mac_add(eth0_pd.mac_addr, mac, 0);
eth_mac_add(eth1_pd.mac_addr, mac, 1);
eth_mac_add(eth2_pd.mac_addr, mac, 2);
ret = platform_add_devices(mv643xx_eth_pd_devs,
ARRAY_SIZE(mv643xx_eth_pd_devs));

Expand Down
20 changes: 4 additions & 16 deletions arch/mips/momentum/ocelot_3/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,7 @@ static struct resource mv64x60_eth0_resources[] = {
},
};

static char eth0_mac_addr[ETH_ALEN];

static struct mv643xx_eth_platform_data eth0_pd = {
.mac_addr = eth0_mac_addr,

.tx_sram_addr = MV_SRAM_BASE_ETH0,
.tx_sram_size = MV_SRAM_TXRING_SIZE,
.tx_queue_size = MV_SRAM_TXRING_SIZE / 16,
Expand Down Expand Up @@ -80,11 +76,7 @@ static struct resource mv64x60_eth1_resources[] = {
},
};

static char eth1_mac_addr[ETH_ALEN];

static struct mv643xx_eth_platform_data eth1_pd = {
.mac_addr = eth1_mac_addr,

.tx_sram_addr = MV_SRAM_BASE_ETH1,
.tx_sram_size = MV_SRAM_TXRING_SIZE,
.tx_queue_size = MV_SRAM_TXRING_SIZE / 16,
Expand Down Expand Up @@ -113,11 +105,7 @@ static struct resource mv64x60_eth2_resources[] = {
},
};

static char eth2_mac_addr[ETH_ALEN];

static struct mv643xx_eth_platform_data eth2_pd = {
.mac_addr = eth2_mac_addr,
};
static struct mv643xx_eth_platform_data eth2_pd;

static struct platform_device eth2_device = {
.name = MV643XX_ETH_NAME,
Expand Down Expand Up @@ -200,9 +188,9 @@ static int __init mv643xx_eth_add_pds(void)
int ret;

get_mac(mac);
eth_mac_add(eth0_mac_addr, mac, 0);
eth_mac_add(eth1_mac_addr, mac, 1);
eth_mac_add(eth2_mac_addr, mac, 2);
eth_mac_add(eth0_pd.mac_addr, mac, 0);
eth_mac_add(eth1_pd.mac_addr, mac, 1);
eth_mac_add(eth2_pd.mac_addr, mac, 2);
ret = platform_add_devices(mv643xx_eth_pd_devs,
ARRAY_SIZE(mv643xx_eth_pd_devs));

Expand Down
12 changes: 2 additions & 10 deletions arch/mips/momentum/ocelot_c/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,7 @@ static struct resource mv64x60_eth0_resources[] = {
},
};

static char eth0_mac_addr[ETH_ALEN];

static struct mv643xx_eth_platform_data eth0_pd = {
.mac_addr = eth0_mac_addr,

.tx_sram_addr = MV_SRAM_BASE_ETH0,
.tx_sram_size = MV_SRAM_TXRING_SIZE,
.tx_queue_size = MV_SRAM_TXRING_SIZE / 16,
Expand Down Expand Up @@ -79,11 +75,7 @@ static struct resource mv64x60_eth1_resources[] = {
},
};

static char eth1_mac_addr[ETH_ALEN];

static struct mv643xx_eth_platform_data eth1_pd = {
.mac_addr = eth1_mac_addr,

.tx_sram_addr = MV_SRAM_BASE_ETH1,
.tx_sram_size = MV_SRAM_TXRING_SIZE,
.tx_queue_size = MV_SRAM_TXRING_SIZE / 16,
Expand Down Expand Up @@ -174,8 +166,8 @@ static int __init mv643xx_eth_add_pds(void)
int ret;

get_mac(mac);
eth_mac_add(eth0_mac_addr, mac, 0);
eth_mac_add(eth1_mac_addr, mac, 1);
eth_mac_add(eth0_pd.mac_addr, mac, 0);
eth_mac_add(eth1_pd.mac_addr, mac, 1);
ret = platform_add_devices(mv643xx_eth_pd_devs,
ARRAY_SIZE(mv643xx_eth_pd_devs));

Expand Down
2 changes: 1 addition & 1 deletion drivers/net/mv643xx_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -1380,7 +1380,7 @@ static int mv643xx_eth_probe(struct platform_device *pdev)

pd = pdev->dev.platform_data;
if (pd) {
if (pd->mac_addr)
if (is_valid_ether_addr(pd->mac_addr))
memcpy(dev->dev_addr, pd->mac_addr, 6);

if (pd->phy_addr || pd->force_phy_addr)
Expand Down
2 changes: 1 addition & 1 deletion include/linux/mv643xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -1288,7 +1288,6 @@ struct mv64xxx_i2c_pdata {
#define MV643XX_ETH_NAME "mv643xx_eth"

struct mv643xx_eth_platform_data {
char *mac_addr; /* pointer to mac address */
u16 force_phy_addr; /* force override if phy_addr == 0 */
u16 phy_addr;

Expand All @@ -1303,6 +1302,7 @@ struct mv643xx_eth_platform_data {
u32 tx_sram_size;
u32 rx_sram_addr;
u32 rx_sram_size;
u8 mac_addr[6]; /* mac address if non-zero*/
};

#endif /* __ASM_MV643XX_H */

0 comments on commit 5ada386

Please sign in to comment.