RE: [PATCH] net/mdio: fix mdio_bus_match for c45 PHY

2015-07-22 Thread Shaohui Xie
 -Original Message-
 From: David Miller [mailto:da...@davemloft.net]
 Sent: Tuesday, July 21, 2015 3:17 PM
 To: shh@gmail.com
 Cc: netdev@vger.kernel.org; Xie Shaohui-B21989
 Subject: Re: [PATCH] net/mdio: fix mdio_bus_match for c45 PHY
 
 From: shh@gmail.com
 Date: Fri, 17 Jul 2015 18:07:19 +0800
 
  From: Shaohui Xie shaohui@freescale.com
 
  We store c45 PHY's id information in c45_ids, so it should be used to
  check the matching between PHY driver and PHY device for c45 PHY.
 
  Signed-off-by: Shaohui Xie shaohui@freescale.com
 
 Applied, thanks.
As mentioned, the patch was applied, but it does not merged, seems it was 
missed.

Thanks.
Shaohui
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] net/mdio: fix mdio_bus_match for c45 PHY

2015-07-21 Thread David Miller
From: shh@gmail.com
Date: Fri, 17 Jul 2015 18:07:19 +0800

 From: Shaohui Xie shaohui@freescale.com
 
 We store c45 PHY's id information in c45_ids, so it should be used to
 check the matching between PHY driver and PHY device for c45 PHY.
 
 Signed-off-by: Shaohui Xie shaohui@freescale.com

Applied, thanks.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] net/mdio: fix mdio_bus_match for c45 PHY

2015-07-17 Thread shh.xie
From: Shaohui Xie shaohui@freescale.com

We store c45 PHY's id information in c45_ids, so it should be used to
check the matching between PHY driver and PHY device for c45 PHY.

Signed-off-by: Shaohui Xie shaohui@freescale.com
---
 drivers/net/phy/mdio_bus.c | 19 +--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 095ef3f..46a14cb 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -421,6 +421,8 @@ static int mdio_bus_match(struct device *dev, struct 
device_driver *drv)
 {
struct phy_device *phydev = to_phy_device(dev);
struct phy_driver *phydrv = to_phy_driver(drv);
+   const int num_ids = ARRAY_SIZE(phydev-c45_ids.device_ids);
+   int i;
 
if (of_driver_match_device(dev, drv))
return 1;
@@ -428,8 +430,21 @@ static int mdio_bus_match(struct device *dev, struct 
device_driver *drv)
if (phydrv-match_phy_device)
return phydrv-match_phy_device(phydev);
 
-   return (phydrv-phy_id  phydrv-phy_id_mask) ==
-   (phydev-phy_id  phydrv-phy_id_mask);
+   if (phydev-is_c45) {
+   for (i = 1; i  num_ids; i++) {
+   if (!(phydev-c45_ids.devices_in_package  (1  i)))
+   continue;
+
+   if ((phydrv-phy_id  phydrv-phy_id_mask) ==
+   (phydev-c45_ids.device_ids[i] 
+phydrv-phy_id_mask))
+   return 1;
+   }
+   return 0;
+   } else {
+   return (phydrv-phy_id  phydrv-phy_id_mask) ==
+   (phydev-phy_id  phydrv-phy_id_mask);
+   }
 }
 
 #ifdef CONFIG_PM
-- 
2.1.0.27.g96db324

--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html