diff mbox

[U-Boot,2/2] smc911x MII made available

Message ID 1309775392-8282-2-git-send-email-helmut.raiger@hale.at
State Accepted
Headers show

Commit Message

Helmut Raiger July 4, 2011, 10:29 a.m. UTC
From: Helmut Raiger <helmut.raiger@hale.at>

The driver already had the MII functions, but they have not been
registered using miiphy_register().

Signed-off-by: Helmut Raiger <helmut.raiger@hale.at>
---
 drivers/net/smc911x.c |   36 ++++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 6 deletions(-)

Comments

Stefano Babic Sept. 7, 2011, 12:33 p.m. UTC | #1
On 01/-10/-28163 08:59 PM, Helmut Raiger wrote:
> From: Helmut Raiger <helmut.raiger@hale.at>
> 
> The driver already had the MII functions, but they have not been
> registered using miiphy_register().
> 
> Signed-off-by: Helmut Raiger <helmut.raiger@hale.at>
> 

As for V1, tested on a MX35.

Tested-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic
Helmut Raiger Sept. 7, 2011, 1:06 p.m. UTC | #2
On 09/07/2011 02:33 PM, Stefano Babic wrote:
> On 01/-10/-28163 08:59 PM, Helmut Raiger wrote:
>> From: Helmut Raiger<helmut.raiger@hale.at>
>>
>> The driver already had the MII functions, but they have not been
>> registered using miiphy_register().
>>
>> Signed-off-by: Helmut Raiger<helmut.raiger@hale.at>
>>
> As for V1, tested on a MX35.
>
> Tested-by: Stefano Babic<sbabic@denx.de>
>
> Best regards,
> Stefano Babic
>
Thx Stefano, I do not know how to handle Tested-by: tags, however.
Helmut



--
Scanned by MailScanner.
Stefano Babic Sept. 7, 2011, 1:12 p.m. UTC | #3
On 09/07/2011 03:06 PM, Helmut Raiger wrote:

>>
> Thx Stefano, I do not know how to handle Tested-by: tags, however.

Do not worry: you have not to handle. These tags are automatically
inserted by patchworks in a patch by downloading and this helps the
maintainer who does not need to insert them manually before applying the
patch to the tree.

As submitter, nothing is requested to you to handle them ;-).

Best regards,
Stefano Babic
Wolfgang Denk Sept. 7, 2011, 9:50 p.m. UTC | #4
Dear helmut.raiger@hale.at,

In message <1309775392-8282-2-git-send-email-helmut.raiger@hale.at> you wrote:
> From: Helmut Raiger <helmut.raiger@hale.at>
> 
> The driver already had the MII functions, but they have not been
> registered using miiphy_register().
> 
> Signed-off-by: Helmut Raiger <helmut.raiger@hale.at>
> ---
>  drivers/net/smc911x.c |   36 ++++++++++++++++++++++++++++++------
>  1 files changed, 30 insertions(+), 6 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk
diff mbox

Patch

diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index aeafeba..6cc236c 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -50,7 +50,7 @@  static void smc911x_handle_mac_address(struct eth_device *dev)
 	printf(DRIVERNAME ": MAC %pM\n", m);
 }
 
-static int smc911x_miiphy_read(struct eth_device *dev,
+static int smc911x_eth_phy_read(struct eth_device *dev,
 				u8 phy, u8 reg, u16 *val)
 {
 	while (smc911x_get_mac_csr(dev, MII_ACC) & MII_ACC_MII_BUSY)
@@ -67,7 +67,7 @@  static int smc911x_miiphy_read(struct eth_device *dev,
 	return 0;
 }
 
-static int smc911x_miiphy_write(struct eth_device *dev,
+static int smc911x_eth_phy_write(struct eth_device *dev,
 				u8 phy, u8 reg, u16  val)
 {
 	while (smc911x_get_mac_csr(dev, MII_ACC) & MII_ACC_MII_BUSY)
@@ -103,10 +103,10 @@  static void smc911x_phy_configure(struct eth_device *dev)
 
 	smc911x_phy_reset(dev);
 
-	smc911x_miiphy_write(dev, 1, MII_BMCR, BMCR_RESET);
+	smc911x_eth_phy_write(dev, 1, MII_BMCR, BMCR_RESET);
 	mdelay(1);
-	smc911x_miiphy_write(dev, 1, MII_ADVERTISE, 0x01e1);
-	smc911x_miiphy_write(dev, 1, MII_BMCR, BMCR_ANENABLE |
+	smc911x_eth_phy_write(dev, 1, MII_ADVERTISE, 0x01e1);
+	smc911x_eth_phy_write(dev, 1, MII_BMCR, BMCR_ANENABLE |
 				BMCR_ANRESTART);
 
 	timeout = 5000;
@@ -115,7 +115,7 @@  static void smc911x_phy_configure(struct eth_device *dev)
 		if ((timeout--) == 0)
 			goto err_out;
 
-		if (smc911x_miiphy_read(dev, 1, MII_BMSR, &status) != 0)
+		if (smc911x_eth_phy_read(dev, 1, MII_BMSR, &status) != 0)
 			goto err_out;
 	} while (!(status & BMSR_LSTATUS));
 
@@ -235,6 +235,25 @@  static int smc911x_rx(struct eth_device *dev)
 	return 0;
 }
 
+#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
+/* wrapper for smc911x_eth_phy_read */
+static int smc911x_miiphy_read(char *devname, u8 phy, u8 reg, u16 *val)
+{
+	struct eth_device *dev = eth_get_dev_by_name(devname);
+	if (dev)
+		return smc911x_eth_phy_read(dev, phy, reg, val);
+	return -1;
+}
+/* wrapper for smc911x_eth_phy_write */
+static int smc911x_miiphy_write(char *devname, u8 phy, u8 reg, u16 val)
+{
+	struct eth_device *dev = eth_get_dev_by_name(devname);
+	if (dev)
+		return smc911x_eth_phy_write(dev, phy, reg, val);
+	return -1;
+}
+#endif
+
 int smc911x_initialize(u8 dev_num, int base_addr)
 {
 	unsigned long addrl, addrh;
@@ -273,5 +292,10 @@  int smc911x_initialize(u8 dev_num, int base_addr)
 	sprintf(dev->name, "%s-%hu", DRIVERNAME, dev_num);
 
 	eth_register(dev);
+
+#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
+	miiphy_register(dev->name, smc911x_miiphy_read, smc911x_miiphy_write);
+#endif
+
 	return 1;
 }