Thread (21 messages) flat view 21 messages, 3 authors, 2009-03-19

Re: [PATCH 8/9] net/pasemi_mac: Rework pasemi_mac driver to use of_mdio infrastructure

From: Grant Likely <hidden>
Date: 2009-03-19 05:07:26
Also in: linuxppc-dev

RFC, please don't apply yet.

On Wed, Mar 18, 2009 at 11:00 PM, Grant Likely
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Grant Likely <redacted>

This patch simplifies the driver by making use of more common code.

Signed-off-by: Grant Likely <redacted>
---

 drivers/net/pasemi_mac.c |   19 +++----------------
 drivers/net/pasemi_mac.h |    1 -
 2 files changed, 3 insertions(+), 17 deletions(-)

diff --git a/drivers/net/pasemi_mac.c b/drivers/net/pasemi_mac.c
index d0349e7..8c92d1f 100644
--- a/drivers/net/pasemi_mac.c
+++ b/drivers/net/pasemi_mac.c
@@ -1086,34 +1086,21 @@ static int pasemi_mac_phy_init(struct net_device *dev)
       struct pasemi_mac *mac = netdev_priv(dev);
       struct device_node *dn, *phy_dn;
       struct phy_device *phydev;
-       unsigned int phy_id;
       const phandle *ph;
       const unsigned int *prop;
       struct resource r;
       int ret;

       dn = pci_device_to_OF_node(mac->pdev);
-       ph = of_get_property(dn, "phy-handle", NULL);
-       if (!ph)
-               return -ENODEV;
-       phy_dn = of_find_node_by_phandle(*ph);
-
-       prop = of_get_property(phy_dn, "reg", NULL);
-       ret = of_address_to_resource(phy_dn->parent, 0, &r);
-       if (ret)
-               goto err;
-
-       phy_id = *prop;
-       snprintf(mac->phy_id, sizeof(mac->phy_id), "%x:%02x",
-                (int)r.start, phy_id);
-
+       phy_dn = of_parse_phandle(dn, "phy-handle", 0);
       of_node_put(phy_dn);

       mac->link = 0;
       mac->speed = 0;
       mac->duplex = -1;

-       phydev = phy_connect(dev, mac->phy_id, &pasemi_adjust_link, 0, PHY_INTERFACE_MODE_SGMII);
+       phydev = of_phy_connect(dev, phy_dn, &pasemi_adjust_link, 0,
+                               PHY_INTERFACE_MODE_SGMII);

       if (IS_ERR(phydev)) {
               printk(KERN_ERR "%s: Could not attach to phy\n", dev->name);
diff --git a/drivers/net/pasemi_mac.h b/drivers/net/pasemi_mac.h
index 1a115ec..e2f4efa 100644
--- a/drivers/net/pasemi_mac.h
+++ b/drivers/net/pasemi_mac.h
@@ -100,7 +100,6 @@ struct pasemi_mac {
       int     duplex;

       unsigned int    msg_enable;
-       char    phy_id[BUS_ID_SIZE];
 };

 /* Software status descriptor (ring_info) */


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help