kernel: make BCM54210E PHY code work with 4.4
authorRafał Miłecki <rafal@milecki.pl>
Sat, 28 Jan 2017 16:14:50 +0000 (17:14 +0100)
committerRafał Miłecki <rafal@milecki.pl>
Sat, 28 Jan 2017 16:15:25 +0000 (17:15 +0100)
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
target/linux/generic/patches-4.4/078-0004-net-phy-pick-Broadcom-drivers-updates-from-net-next-.patch

index dad44930d9f68b3f030c1bdb6d89ac895b0a1d4b..9505bf30a963bfa48d143fcb3add921ae6c15be7 100644 (file)
@@ -134,25 +134,27 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
                /* Clear shadow selector field */
                reg &= ~MII_BCM54XX_AUXCTL_SHDWSEL_MASK;
                bcm54xx_auxctl_write(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC,
-@@ -548,6 +566,17 @@ static struct phy_driver broadcom_driver
+@@ -548,6 +566,19 @@ static struct phy_driver broadcom_driver
        .config_intr    = bcm_phy_config_intr,
        .driver         = { .owner = THIS_MODULE },
  }, {
 +      .phy_id         = PHY_ID_BCM54210E,
 +      .phy_id_mask    = 0xfffffff0,
 +      .name           = "Broadcom BCM54210E",
-+      .features       = PHY_GBIT_FEATURES,
++      .features       = PHY_GBIT_FEATURES |
++                        SUPPORTED_Pause | SUPPORTED_Asym_Pause,
 +      .flags          = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,
 +      .config_init    = bcm54xx_config_init,
 +      .config_aneg    = genphy_config_aneg,
 +      .read_status    = genphy_read_status,
 +      .ack_interrupt  = bcm_phy_ack_intr,
 +      .config_intr    = bcm_phy_config_intr,
++      .driver         = { .owner = THIS_MODULE },
 +}, {
        .phy_id         = PHY_ID_BCM5461,
        .phy_id_mask    = 0xfffffff0,
        .name           = "Broadcom BCM5461",
-@@ -708,6 +737,7 @@ module_phy_driver(broadcom_drivers);
+@@ -708,6 +739,7 @@ module_phy_driver(broadcom_drivers);
  static struct mdio_device_id __maybe_unused broadcom_tbl[] = {
        { PHY_ID_BCM5411, 0xfffffff0 },
        { PHY_ID_BCM5421, 0xfffffff0 },