Commit dfcc496e authored by Joe Hershberger's avatar Joe Hershberger

net: mii: Changes not made by spatch

If the functions passed to the registration function are not in the same
C file (extern) then spatch will not handle the dependent changes.

Make those changes manually.
Signed-off-by: default avatarJoe Hershberger <joe.hershberger@ni.com>

For the 4xx related files:
Acked-by: default avatarStefan Roese <sr@denx.de>
Reviewed-by: default avatarBin Meng <bmeng.cn@gmail.com>
parent 875e0bc6
...@@ -15,6 +15,8 @@ ...@@ -15,6 +15,8 @@
#ifndef fec_h #ifndef fec_h
#define fec_h #define fec_h
#include <phy.h>
/* Buffer descriptors used FEC. /* Buffer descriptors used FEC.
*/ */
typedef struct cpm_buf_desc { typedef struct cpm_buf_desc {
...@@ -341,10 +343,9 @@ int fecpin_setclear(struct eth_device *dev, int setclear); ...@@ -341,10 +343,9 @@ int fecpin_setclear(struct eth_device *dev, int setclear);
void __mii_init(void); void __mii_init(void);
uint mii_send(uint mii_cmd); uint mii_send(uint mii_cmd);
int mii_discover_phy(struct eth_device *dev); int mii_discover_phy(struct eth_device *dev);
int mcffec_miiphy_read(const char *devname, unsigned char addr, int mcffec_miiphy_read(struct mii_dev *bus, int addr, int devad, int reg);
unsigned char reg, unsigned short *value); int mcffec_miiphy_write(struct mii_dev *bus, int addr, int devad, int reg,
int mcffec_miiphy_write(const char *devname, unsigned char addr, u16 value);
unsigned char reg, unsigned short value);
#endif #endif
#endif /* fec_h */ #endif /* fec_h */
...@@ -318,8 +318,7 @@ static int emac_miiphy_command(u8 addr, u8 reg, int cmd, u16 value) ...@@ -318,8 +318,7 @@ static int emac_miiphy_command(u8 addr, u8 reg, int cmd, u16 value)
return 0; return 0;
} }
int emac4xx_miiphy_read (const char *devname, unsigned char addr, unsigned char reg, int emac4xx_miiphy_read(struct mii_dev *bus, int addr, int devad, int reg)
unsigned short *value)
{ {
unsigned long sta_reg; unsigned long sta_reg;
unsigned long emac_reg; unsigned long emac_reg;
...@@ -330,17 +329,15 @@ int emac4xx_miiphy_read (const char *devname, unsigned char addr, unsigned char ...@@ -330,17 +329,15 @@ int emac4xx_miiphy_read (const char *devname, unsigned char addr, unsigned char
return -1; return -1;
sta_reg = in_be32((void *)EMAC0_STACR + emac_reg); sta_reg = in_be32((void *)EMAC0_STACR + emac_reg);
*value = sta_reg >> 16; return sta_reg >> 16;
return 0;
} }
/***********************************************************/ /***********************************************************/
/* write a phy reg and return the value with a rc */ /* write a phy reg and return the value with a rc */
/***********************************************************/ /***********************************************************/
int emac4xx_miiphy_write (const char *devname, unsigned char addr, unsigned char reg, int emac4xx_miiphy_write(struct mii_dev *bus, int addr, int devad, int reg,
unsigned short value) u16 value)
{ {
return emac_miiphy_command(addr, reg, EMAC_STACR_WRITE, value); return emac_miiphy_command(addr, reg, EMAC_STACR_WRITE, value);
} }
...@@ -283,10 +283,9 @@ static void mal_err (struct eth_device *dev, unsigned long isr, ...@@ -283,10 +283,9 @@ static void mal_err (struct eth_device *dev, unsigned long isr,
static void emac_err (struct eth_device *dev, unsigned long isr); static void emac_err (struct eth_device *dev, unsigned long isr);
extern int phy_setup_aneg (char *devname, unsigned char addr); extern int phy_setup_aneg (char *devname, unsigned char addr);
extern int emac4xx_miiphy_read (const char *devname, unsigned char addr, int emac4xx_miiphy_read(struct mii_dev *bus, int addr, int devad, int reg);
unsigned char reg, unsigned short *value); int emac4xx_miiphy_write(struct mii_dev *bus, int addr, int devad, int reg,
extern int emac4xx_miiphy_write (const char *devname, unsigned char addr, u16 value);
unsigned char reg, unsigned short value);
int board_emac_count(void); int board_emac_count(void);
......
...@@ -596,12 +596,10 @@ bool gmac_mii_busywait(unsigned int timeout) ...@@ -596,12 +596,10 @@ bool gmac_mii_busywait(unsigned int timeout)
return tmp & (1 << GMAC_MII_BUSY_SHIFT); return tmp & (1 << GMAC_MII_BUSY_SHIFT);
} }
int gmac_miiphy_read(const char *devname, unsigned char phyaddr, int gmac_miiphy_read(struct mii_dev *bus, int phyaddr, int devad, int reg)
unsigned char reg, unsigned short *value)
{ {
uint32_t tmp = 0; uint32_t tmp = 0;
u16 value = 0;
(void)devname;
/* Busy wait timeout is 1ms */ /* Busy wait timeout is 1ms */
if (gmac_mii_busywait(1000)) { if (gmac_mii_busywait(1000)) {
...@@ -621,18 +619,16 @@ int gmac_miiphy_read(const char *devname, unsigned char phyaddr, ...@@ -621,18 +619,16 @@ int gmac_miiphy_read(const char *devname, unsigned char phyaddr,
return -1; return -1;
} }
*value = readl(GMAC_MII_DATA_ADDR) & 0xffff; value = readl(GMAC_MII_DATA_ADDR) & 0xffff;
debug("MII read data 0x%x\n", *value); debug("MII read data 0x%x\n", value);
return 0; return value;
} }
int gmac_miiphy_write(const char *devname, unsigned char phyaddr, int gmac_miiphy_write(struct mii_dev *bus, int phyaddr, int devad, int reg,
unsigned char reg, unsigned short value) u16 value)
{ {
uint32_t tmp = 0; uint32_t tmp = 0;
(void)devname;
/* Busy wait timeout is 1ms */ /* Busy wait timeout is 1ms */
if (gmac_mii_busywait(1000)) { if (gmac_mii_busywait(1000)) {
error("%s: Prepare MII write: MII/MDIO busy\n", __func__); error("%s: Prepare MII write: MII/MDIO busy\n", __func__);
......
...@@ -244,7 +244,18 @@ int bcm_sf2_eth_register(bd_t *bis, u8 dev_num) ...@@ -244,7 +244,18 @@ int bcm_sf2_eth_register(bd_t *bis, u8 dev_num)
eth_register(dev); eth_register(dev);
#ifdef CONFIG_CMD_MII #ifdef CONFIG_CMD_MII
miiphy_register(dev->name, eth->miiphy_read, eth->miiphy_write); int retval;
struct mii_dev *mdiodev = mdio_alloc();
if (!mdiodev)
return -ENOMEM;
strncpy(mdiodev->name, dev->name, MDIO_NAME_LEN);
mdiodev->read = eth->miiphy_read;
mdiodev->write = eth->miiphy_write;
retval = mdio_register(mdiodev);
if (retval < 0)
return retval;
#endif #endif
/* Initialization */ /* Initialization */
......
...@@ -54,10 +54,10 @@ struct eth_info { ...@@ -54,10 +54,10 @@ struct eth_info {
struct phy_device *port[BCM_ETH_MAX_PORT_NUM]; struct phy_device *port[BCM_ETH_MAX_PORT_NUM];
int port_num; int port_num;
int (*miiphy_read)(const char *devname, unsigned char phyaddr, int (*miiphy_read)(struct mii_dev *bus, int phyaddr, int devad,
unsigned char reg, unsigned short *value); int reg);
int (*miiphy_write)(const char *devname, unsigned char phyaddr, int (*miiphy_write)(struct mii_dev *bus, int phyaddr, int devad,
unsigned char reg, unsigned short value); int reg, u16 value);
int (*mac_init)(struct eth_device *dev); int (*mac_init)(struct eth_device *dev);
int (*enable_mac)(void); int (*enable_mac)(void);
......
...@@ -277,8 +277,7 @@ void __mii_init(void) ...@@ -277,8 +277,7 @@ void __mii_init(void)
* Otherwise they hang in mii_send() !!! Sorry! * Otherwise they hang in mii_send() !!! Sorry!
*/ */
int mcffec_miiphy_read(const char *devname, unsigned char addr, unsigned char reg, int mcffec_miiphy_read(struct mii_dev *bus, int addr, int devad, int reg)
unsigned short *value)
{ {
short rdreg; /* register working value */ short rdreg; /* register working value */
...@@ -287,28 +286,22 @@ int mcffec_miiphy_read(const char *devname, unsigned char addr, unsigned char re ...@@ -287,28 +286,22 @@ int mcffec_miiphy_read(const char *devname, unsigned char addr, unsigned char re
#endif #endif
rdreg = mii_send(mk_mii_read(addr, reg)); rdreg = mii_send(mk_mii_read(addr, reg));
*value = rdreg;
#ifdef MII_DEBUG #ifdef MII_DEBUG
printf("0x%04x\n", *value); printf("0x%04x\n", rdreg);
#endif #endif
return 0; return rdreg;
} }
int mcffec_miiphy_write(const char *devname, unsigned char addr, unsigned char reg, int mcffec_miiphy_write(struct mii_dev *bus, int addr, int devad, int reg,
unsigned short value) u16 value)
{ {
#ifdef MII_DEBUG #ifdef MII_DEBUG
printf("miiphy_write(0x%x) @ 0x%x = ", reg, addr); printf("miiphy_write(0x%x) @ 0x%x = 0x%04x\n", reg, addr, value);
#endif #endif
mii_send(mk_mii_write(addr, reg, value)); mii_send(mk_mii_write(addr, reg, value));
#ifdef MII_DEBUG
printf("0x%04x\n", value);
#endif
return 0; return 0;
} }
......
...@@ -230,24 +230,18 @@ static void miiphy_pre(struct bb_miiphy_bus *bus, char read, ...@@ -230,24 +230,18 @@ static void miiphy_pre(struct bb_miiphy_bus *bus, char read,
* Returns: * Returns:
* 0 on success * 0 on success
*/ */
int bb_miiphy_read(const char *devname, unsigned char addr, int bb_miiphy_read(struct mii_dev *miidev, int addr, int devad, int reg)
unsigned char reg, unsigned short *value)
{ {
short rdreg; /* register working value */ short rdreg; /* register working value */
int v; int v;
int j; /* counter */ int j; /* counter */
struct bb_miiphy_bus *bus; struct bb_miiphy_bus *bus;
bus = bb_miiphy_getbus(devname); bus = bb_miiphy_getbus(miidev->name);
if (bus == NULL) { if (bus == NULL) {
return -1; return -1;
} }
if (value == NULL) {
puts("NULL value pointer\n");
return -1;
}
miiphy_pre (bus, 1, addr, reg); miiphy_pre (bus, 1, addr, reg);
/* tri-state our MDIO I/O pin so we can read */ /* tri-state our MDIO I/O pin so we can read */
...@@ -267,8 +261,7 @@ int bb_miiphy_read(const char *devname, unsigned char addr, ...@@ -267,8 +261,7 @@ int bb_miiphy_read(const char *devname, unsigned char addr,
bus->set_mdc(bus, 1); bus->set_mdc(bus, 1);
bus->delay(bus); bus->delay(bus);
} }
/* There is no PHY, set value to 0xFFFF and return */ /* There is no PHY, return */
*value = 0xFFFF;
return -1; return -1;
} }
...@@ -294,13 +287,11 @@ int bb_miiphy_read(const char *devname, unsigned char addr, ...@@ -294,13 +287,11 @@ int bb_miiphy_read(const char *devname, unsigned char addr,
bus->set_mdc(bus, 1); bus->set_mdc(bus, 1);
bus->delay(bus); bus->delay(bus);
*value = rdreg;
#ifdef DEBUG #ifdef DEBUG
printf ("miiphy_read(0x%x) @ 0x%x = 0x%04x\n", reg, addr, *value); printf("miiphy_read(0x%x) @ 0x%x = 0x%04x\n", reg, addr, rdreg);
#endif #endif
return 0; return rdreg;
} }
...@@ -311,13 +302,13 @@ int bb_miiphy_read(const char *devname, unsigned char addr, ...@@ -311,13 +302,13 @@ int bb_miiphy_read(const char *devname, unsigned char addr,
* Returns: * Returns:
* 0 on success * 0 on success
*/ */
int bb_miiphy_write (const char *devname, unsigned char addr, int bb_miiphy_write(struct mii_dev *miidev, int addr, int devad, int reg,
unsigned char reg, unsigned short value) u16 value)
{ {
struct bb_miiphy_bus *bus; struct bb_miiphy_bus *bus;
int j; /* counter */ int j; /* counter */
bus = bb_miiphy_getbus(devname); bus = bb_miiphy_getbus(miidev->name);
if (bus == NULL) { if (bus == NULL) {
/* Bus not found! */ /* Bus not found! */
return -1; return -1;
......
...@@ -86,10 +86,9 @@ extern struct bb_miiphy_bus bb_miiphy_buses[]; ...@@ -86,10 +86,9 @@ extern struct bb_miiphy_bus bb_miiphy_buses[];
extern int bb_miiphy_buses_num; extern int bb_miiphy_buses_num;
void bb_miiphy_init(void); void bb_miiphy_init(void);
int bb_miiphy_read(const char *devname, unsigned char addr, int bb_miiphy_read(struct mii_dev *miidev, int addr, int devad, int reg);
unsigned char reg, unsigned short *value); int bb_miiphy_write(struct mii_dev *miidev, int addr, int devad, int reg,
int bb_miiphy_write(const char *devname, unsigned char addr, u16 value);
unsigned char reg, unsigned short value);
#endif #endif
/* phy seed setup */ /* phy seed setup */
......
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