|
@@ -420,6 +420,26 @@ static int ksz8873mll_config_aneg(struct phy_device *phydev)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+/* This routine returns -1 as an indication to the caller that the
|
|
|
+ * Micrel ksz9021 10/100/1000 PHY does not support standard IEEE
|
|
|
+ * MMD extended PHY registers.
|
|
|
+ */
|
|
|
+static int
|
|
|
+ksz9021_rd_mmd_phyreg(struct phy_device *phydev, int ptrad, int devnum,
|
|
|
+ int regnum)
|
|
|
+{
|
|
|
+ return -1;
|
|
|
+}
|
|
|
+
|
|
|
+/* This routine does nothing since the Micrel ksz9021 does not support
|
|
|
+ * standard IEEE MMD extended PHY registers.
|
|
|
+ */
|
|
|
+static void
|
|
|
+ksz9021_wr_mmd_phyreg(struct phy_device *phydev, int ptrad, int devnum,
|
|
|
+ int regnum, u32 val)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
static struct phy_driver ksphy_driver[] = {
|
|
|
{
|
|
|
.phy_id = PHY_ID_KS8737,
|
|
@@ -565,6 +585,8 @@ static struct phy_driver ksphy_driver[] = {
|
|
|
.config_intr = ksz9021_config_intr,
|
|
|
.suspend = genphy_suspend,
|
|
|
.resume = genphy_resume,
|
|
|
+ .read_mmd_indirect = ksz9021_rd_mmd_phyreg,
|
|
|
+ .write_mmd_indirect = ksz9021_wr_mmd_phyreg,
|
|
|
.driver = { .owner = THIS_MODULE, },
|
|
|
}, {
|
|
|
.phy_id = PHY_ID_KSZ9031,
|