summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiner Kallweit <hkallweit1@gmail.com>2018-11-09 12:17:22 -0500
committerDavid S. Miller <davem@davemloft.net>2018-11-11 12:36:56 -0500
commita4307c0ec66131e722a8fa0f1da09646c46ee924 (patch)
treedee28465b4a5bfe7089cb9d6a21910ba71fd54a3
parent0d2e778e38e0ddffab4bb2b0e9ed2ad5165c4bf7 (diff)
net: phy: remove flag PHY_HAS_INTERRUPT from driver configs
Now that flag PHY_HAS_INTERRUPT has been replaced with a check for callbacks config_intr and ack_interrupt, we can remove setting this flag from all driver configs. Last but not least remove flag PHY_HAS_INTERRUPT completely. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/phy/amd.c1
-rw-r--r--drivers/net/phy/aquantia.c6
-rw-r--r--drivers/net/phy/at803x.c3
-rw-r--r--drivers/net/phy/bcm63xx.c4
-rw-r--r--drivers/net/phy/bcm87xx.c2
-rw-r--r--drivers/net/phy/broadcom.c16
-rw-r--r--drivers/net/phy/cicada.c2
-rw-r--r--drivers/net/phy/davicom.c4
-rw-r--r--drivers/net/phy/dp83640.c1
-rw-r--r--drivers/net/phy/dp83822.c1
-rw-r--r--drivers/net/phy/dp83848.c1
-rw-r--r--drivers/net/phy/dp83867.c1
-rw-r--r--drivers/net/phy/dp83tc811.c1
-rw-r--r--drivers/net/phy/icplus.c1
-rw-r--r--drivers/net/phy/intel-xway.c10
-rw-r--r--drivers/net/phy/lxt.c2
-rw-r--r--drivers/net/phy/marvell.c15
-rw-r--r--drivers/net/phy/meson-gxl.c2
-rw-r--r--drivers/net/phy/micrel.c14
-rw-r--r--drivers/net/phy/microchip.c1
-rw-r--r--drivers/net/phy/microchip_t1.c1
-rw-r--r--drivers/net/phy/mscc.c6
-rw-r--r--drivers/net/phy/national.c1
-rw-r--r--drivers/net/phy/qsemi.c1
-rw-r--r--drivers/net/phy/realtek.c7
-rw-r--r--drivers/net/phy/smsc.c7
-rw-r--r--drivers/net/phy/ste10Xp.c2
-rw-r--r--drivers/net/phy/vitesse.c9
-rw-r--r--include/linux/phy.h5
29 files changed, 6 insertions, 121 deletions
diff --git a/drivers/net/phy/amd.c b/drivers/net/phy/amd.c
index 6fe5dc9201d0..9d0504f3e3b2 100644
--- a/drivers/net/phy/amd.c
+++ b/drivers/net/phy/amd.c
@@ -66,7 +66,6 @@ static struct phy_driver am79c_driver[] = { {
66 .name = "AM79C874", 66 .name = "AM79C874",
67 .phy_id_mask = 0xfffffff0, 67 .phy_id_mask = 0xfffffff0,
68 .features = PHY_BASIC_FEATURES, 68 .features = PHY_BASIC_FEATURES,
69 .flags = PHY_HAS_INTERRUPT,
70 .config_init = am79c_config_init, 69 .config_init = am79c_config_init,
71 .ack_interrupt = am79c_ack_interrupt, 70 .ack_interrupt = am79c_ack_interrupt,
72 .config_intr = am79c_config_intr, 71 .config_intr = am79c_config_intr,
diff --git a/drivers/net/phy/aquantia.c b/drivers/net/phy/aquantia.c
index 632472cab3bb..efc0fbde97a1 100644
--- a/drivers/net/phy/aquantia.c
+++ b/drivers/net/phy/aquantia.c
@@ -116,7 +116,6 @@ static struct phy_driver aquantia_driver[] = {
116 .phy_id_mask = 0xfffffff0, 116 .phy_id_mask = 0xfffffff0,
117 .name = "Aquantia AQ1202", 117 .name = "Aquantia AQ1202",
118 .features = PHY_10GBIT_FULL_FEATURES, 118 .features = PHY_10GBIT_FULL_FEATURES,
119 .flags = PHY_HAS_INTERRUPT,
120 .aneg_done = genphy_c45_aneg_done, 119 .aneg_done = genphy_c45_aneg_done,
121 .config_aneg = aquantia_config_aneg, 120 .config_aneg = aquantia_config_aneg,
122 .config_intr = aquantia_config_intr, 121 .config_intr = aquantia_config_intr,
@@ -128,7 +127,6 @@ static struct phy_driver aquantia_driver[] = {
128 .phy_id_mask = 0xfffffff0, 127 .phy_id_mask = 0xfffffff0,
129 .name = "Aquantia AQ2104", 128 .name = "Aquantia AQ2104",
130 .features = PHY_10GBIT_FULL_FEATURES, 129 .features = PHY_10GBIT_FULL_FEATURES,
131 .flags = PHY_HAS_INTERRUPT,
132 .aneg_done = genphy_c45_aneg_done, 130 .aneg_done = genphy_c45_aneg_done,
133 .config_aneg = aquantia_config_aneg, 131 .config_aneg = aquantia_config_aneg,
134 .config_intr = aquantia_config_intr, 132 .config_intr = aquantia_config_intr,
@@ -140,7 +138,6 @@ static struct phy_driver aquantia_driver[] = {
140 .phy_id_mask = 0xfffffff0, 138 .phy_id_mask = 0xfffffff0,
141 .name = "Aquantia AQR105", 139 .name = "Aquantia AQR105",
142 .features = PHY_10GBIT_FULL_FEATURES, 140 .features = PHY_10GBIT_FULL_FEATURES,
143 .flags = PHY_HAS_INTERRUPT,
144 .aneg_done = genphy_c45_aneg_done, 141 .aneg_done = genphy_c45_aneg_done,
145 .config_aneg = aquantia_config_aneg, 142 .config_aneg = aquantia_config_aneg,
146 .config_intr = aquantia_config_intr, 143 .config_intr = aquantia_config_intr,
@@ -152,7 +149,6 @@ static struct phy_driver aquantia_driver[] = {
152 .phy_id_mask = 0xfffffff0, 149 .phy_id_mask = 0xfffffff0,
153 .name = "Aquantia AQR106", 150 .name = "Aquantia AQR106",
154 .features = PHY_10GBIT_FULL_FEATURES, 151 .features = PHY_10GBIT_FULL_FEATURES,
155 .flags = PHY_HAS_INTERRUPT,
156 .aneg_done = genphy_c45_aneg_done, 152 .aneg_done = genphy_c45_aneg_done,
157 .config_aneg = aquantia_config_aneg, 153 .config_aneg = aquantia_config_aneg,
158 .config_intr = aquantia_config_intr, 154 .config_intr = aquantia_config_intr,
@@ -164,7 +160,6 @@ static struct phy_driver aquantia_driver[] = {
164 .phy_id_mask = 0xfffffff0, 160 .phy_id_mask = 0xfffffff0,
165 .name = "Aquantia AQR107", 161 .name = "Aquantia AQR107",
166 .features = PHY_10GBIT_FULL_FEATURES, 162 .features = PHY_10GBIT_FULL_FEATURES,
167 .flags = PHY_HAS_INTERRUPT,
168 .aneg_done = genphy_c45_aneg_done, 163 .aneg_done = genphy_c45_aneg_done,
169 .config_aneg = aquantia_config_aneg, 164 .config_aneg = aquantia_config_aneg,
170 .config_intr = aquantia_config_intr, 165 .config_intr = aquantia_config_intr,
@@ -176,7 +171,6 @@ static struct phy_driver aquantia_driver[] = {
176 .phy_id_mask = 0xfffffff0, 171 .phy_id_mask = 0xfffffff0,
177 .name = "Aquantia AQR405", 172 .name = "Aquantia AQR405",
178 .features = PHY_10GBIT_FULL_FEATURES, 173 .features = PHY_10GBIT_FULL_FEATURES,
179 .flags = PHY_HAS_INTERRUPT,
180 .aneg_done = genphy_c45_aneg_done, 174 .aneg_done = genphy_c45_aneg_done,
181 .config_aneg = aquantia_config_aneg, 175 .config_aneg = aquantia_config_aneg,
182 .config_intr = aquantia_config_intr, 176 .config_intr = aquantia_config_intr,
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
index e74a047a846e..f9432d053a22 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -379,7 +379,6 @@ static struct phy_driver at803x_driver[] = {
379 .suspend = at803x_suspend, 379 .suspend = at803x_suspend,
380 .resume = at803x_resume, 380 .resume = at803x_resume,
381 .features = PHY_GBIT_FEATURES, 381 .features = PHY_GBIT_FEATURES,
382 .flags = PHY_HAS_INTERRUPT,
383 .ack_interrupt = at803x_ack_interrupt, 382 .ack_interrupt = at803x_ack_interrupt,
384 .config_intr = at803x_config_intr, 383 .config_intr = at803x_config_intr,
385}, { 384}, {
@@ -395,7 +394,6 @@ static struct phy_driver at803x_driver[] = {
395 .suspend = at803x_suspend, 394 .suspend = at803x_suspend,
396 .resume = at803x_resume, 395 .resume = at803x_resume,
397 .features = PHY_BASIC_FEATURES, 396 .features = PHY_BASIC_FEATURES,
398 .flags = PHY_HAS_INTERRUPT,
399 .ack_interrupt = at803x_ack_interrupt, 397 .ack_interrupt = at803x_ack_interrupt,
400 .config_intr = at803x_config_intr, 398 .config_intr = at803x_config_intr,
401}, { 399}, {
@@ -410,7 +408,6 @@ static struct phy_driver at803x_driver[] = {
410 .suspend = at803x_suspend, 408 .suspend = at803x_suspend,
411 .resume = at803x_resume, 409 .resume = at803x_resume,
412 .features = PHY_GBIT_FEATURES, 410 .features = PHY_GBIT_FEATURES,
413 .flags = PHY_HAS_INTERRUPT,
414 .aneg_done = at803x_aneg_done, 411 .aneg_done = at803x_aneg_done,
415 .ack_interrupt = &at803x_ack_interrupt, 412 .ack_interrupt = &at803x_ack_interrupt,
416 .config_intr = &at803x_config_intr, 413 .config_intr = &at803x_config_intr,
diff --git a/drivers/net/phy/bcm63xx.c b/drivers/net/phy/bcm63xx.c
index d95bffdec4c1..6a547b87ff04 100644
--- a/drivers/net/phy/bcm63xx.c
+++ b/drivers/net/phy/bcm63xx.c
@@ -69,7 +69,7 @@ static struct phy_driver bcm63xx_driver[] = {
69 .phy_id_mask = 0xfffffc00, 69 .phy_id_mask = 0xfffffc00,
70 .name = "Broadcom BCM63XX (1)", 70 .name = "Broadcom BCM63XX (1)",
71 .features = PHY_BASIC_FEATURES, 71 .features = PHY_BASIC_FEATURES,
72 .flags = PHY_HAS_INTERRUPT | PHY_IS_INTERNAL, 72 .flags = PHY_IS_INTERNAL,
73 .config_init = bcm63xx_config_init, 73 .config_init = bcm63xx_config_init,
74 .ack_interrupt = bcm_phy_ack_intr, 74 .ack_interrupt = bcm_phy_ack_intr,
75 .config_intr = bcm63xx_config_intr, 75 .config_intr = bcm63xx_config_intr,
@@ -78,7 +78,7 @@ static struct phy_driver bcm63xx_driver[] = {
78 .phy_id = 0x002bdc00, 78 .phy_id = 0x002bdc00,
79 .phy_id_mask = 0xfffffc00, 79 .phy_id_mask = 0xfffffc00,
80 .features = PHY_BASIC_FEATURES, 80 .features = PHY_BASIC_FEATURES,
81 .flags = PHY_HAS_INTERRUPT | PHY_IS_INTERNAL, 81 .flags = PHY_IS_INTERNAL,
82 .config_init = bcm63xx_config_init, 82 .config_init = bcm63xx_config_init,
83 .ack_interrupt = bcm_phy_ack_intr, 83 .ack_interrupt = bcm_phy_ack_intr,
84 .config_intr = bcm63xx_config_intr, 84 .config_intr = bcm63xx_config_intr,
diff --git a/drivers/net/phy/bcm87xx.c b/drivers/net/phy/bcm87xx.c
index f7ebdcff53e4..64d5ba7bf94f 100644
--- a/drivers/net/phy/bcm87xx.c
+++ b/drivers/net/phy/bcm87xx.c
@@ -193,7 +193,6 @@ static struct phy_driver bcm87xx_driver[] = {
193 .phy_id = PHY_ID_BCM8706, 193 .phy_id = PHY_ID_BCM8706,
194 .phy_id_mask = 0xffffffff, 194 .phy_id_mask = 0xffffffff,
195 .name = "Broadcom BCM8706", 195 .name = "Broadcom BCM8706",
196 .flags = PHY_HAS_INTERRUPT,
197 .config_init = bcm87xx_config_init, 196 .config_init = bcm87xx_config_init,
198 .config_aneg = bcm87xx_config_aneg, 197 .config_aneg = bcm87xx_config_aneg,
199 .read_status = bcm87xx_read_status, 198 .read_status = bcm87xx_read_status,
@@ -205,7 +204,6 @@ static struct phy_driver bcm87xx_driver[] = {
205 .phy_id = PHY_ID_BCM8727, 204 .phy_id = PHY_ID_BCM8727,
206 .phy_id_mask = 0xffffffff, 205 .phy_id_mask = 0xffffffff,
207 .name = "Broadcom BCM8727", 206 .name = "Broadcom BCM8727",
208 .flags = PHY_HAS_INTERRUPT,
209 .config_init = bcm87xx_config_init, 207 .config_init = bcm87xx_config_init,
210 .config_aneg = bcm87xx_config_aneg, 208 .config_aneg = bcm87xx_config_aneg,
211 .read_status = bcm87xx_read_status, 209 .read_status = bcm87xx_read_status,
diff --git a/drivers/net/phy/broadcom.c b/drivers/net/phy/broadcom.c
index e86ea105c802..c73e265cd907 100644
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -589,7 +589,6 @@ static struct phy_driver broadcom_drivers[] = {
589 .phy_id_mask = 0xfffffff0, 589 .phy_id_mask = 0xfffffff0,
590 .name = "Broadcom BCM5411", 590 .name = "Broadcom BCM5411",
591 .features = PHY_GBIT_FEATURES, 591 .features = PHY_GBIT_FEATURES,
592 .flags = PHY_HAS_INTERRUPT,
593 .config_init = bcm54xx_config_init, 592 .config_init = bcm54xx_config_init,
594 .ack_interrupt = bcm_phy_ack_intr, 593 .ack_interrupt = bcm_phy_ack_intr,
595 .config_intr = bcm_phy_config_intr, 594 .config_intr = bcm_phy_config_intr,
@@ -598,7 +597,6 @@ static struct phy_driver broadcom_drivers[] = {
598 .phy_id_mask = 0xfffffff0, 597 .phy_id_mask = 0xfffffff0,
599 .name = "Broadcom BCM5421", 598 .name = "Broadcom BCM5421",
600 .features = PHY_GBIT_FEATURES, 599 .features = PHY_GBIT_FEATURES,
601 .flags = PHY_HAS_INTERRUPT,
602 .config_init = bcm54xx_config_init, 600 .config_init = bcm54xx_config_init,
603 .ack_interrupt = bcm_phy_ack_intr, 601 .ack_interrupt = bcm_phy_ack_intr,
604 .config_intr = bcm_phy_config_intr, 602 .config_intr = bcm_phy_config_intr,
@@ -607,7 +605,6 @@ static struct phy_driver broadcom_drivers[] = {
607 .phy_id_mask = 0xfffffff0, 605 .phy_id_mask = 0xfffffff0,
608 .name = "Broadcom BCM54210E", 606 .name = "Broadcom BCM54210E",
609 .features = PHY_GBIT_FEATURES, 607 .features = PHY_GBIT_FEATURES,
610 .flags = PHY_HAS_INTERRUPT,
611 .config_init = bcm54xx_config_init, 608 .config_init = bcm54xx_config_init,
612 .ack_interrupt = bcm_phy_ack_intr, 609 .ack_interrupt = bcm_phy_ack_intr,
613 .config_intr = bcm_phy_config_intr, 610 .config_intr = bcm_phy_config_intr,
@@ -616,7 +613,6 @@ static struct phy_driver broadcom_drivers[] = {
616 .phy_id_mask = 0xfffffff0, 613 .phy_id_mask = 0xfffffff0,
617 .name = "Broadcom BCM5461", 614 .name = "Broadcom BCM5461",
618 .features = PHY_GBIT_FEATURES, 615 .features = PHY_GBIT_FEATURES,
619 .flags = PHY_HAS_INTERRUPT,
620 .config_init = bcm54xx_config_init, 616 .config_init = bcm54xx_config_init,
621 .ack_interrupt = bcm_phy_ack_intr, 617 .ack_interrupt = bcm_phy_ack_intr,
622 .config_intr = bcm_phy_config_intr, 618 .config_intr = bcm_phy_config_intr,
@@ -625,7 +621,6 @@ static struct phy_driver broadcom_drivers[] = {
625 .phy_id_mask = 0xfffffff0, 621 .phy_id_mask = 0xfffffff0,
626 .name = "Broadcom BCM54612E", 622 .name = "Broadcom BCM54612E",
627 .features = PHY_GBIT_FEATURES, 623 .features = PHY_GBIT_FEATURES,
628 .flags = PHY_HAS_INTERRUPT,
629 .config_init = bcm54xx_config_init, 624 .config_init = bcm54xx_config_init,
630 .ack_interrupt = bcm_phy_ack_intr, 625 .ack_interrupt = bcm_phy_ack_intr,
631 .config_intr = bcm_phy_config_intr, 626 .config_intr = bcm_phy_config_intr,
@@ -634,7 +629,6 @@ static struct phy_driver broadcom_drivers[] = {
634 .phy_id_mask = 0xfffffff0, 629 .phy_id_mask = 0xfffffff0,
635 .name = "Broadcom BCM54616S", 630 .name = "Broadcom BCM54616S",
636 .features = PHY_GBIT_FEATURES, 631 .features = PHY_GBIT_FEATURES,
637 .flags = PHY_HAS_INTERRUPT,
638 .config_init = bcm54xx_config_init, 632 .config_init = bcm54xx_config_init,
639 .ack_interrupt = bcm_phy_ack_intr, 633 .ack_interrupt = bcm_phy_ack_intr,
640 .config_intr = bcm_phy_config_intr, 634 .config_intr = bcm_phy_config_intr,
@@ -643,7 +637,6 @@ static struct phy_driver broadcom_drivers[] = {
643 .phy_id_mask = 0xfffffff0, 637 .phy_id_mask = 0xfffffff0,
644 .name = "Broadcom BCM5464", 638 .name = "Broadcom BCM5464",
645 .features = PHY_GBIT_FEATURES, 639 .features = PHY_GBIT_FEATURES,
646 .flags = PHY_HAS_INTERRUPT,
647 .config_init = bcm54xx_config_init, 640 .config_init = bcm54xx_config_init,
648 .ack_interrupt = bcm_phy_ack_intr, 641 .ack_interrupt = bcm_phy_ack_intr,
649 .config_intr = bcm_phy_config_intr, 642 .config_intr = bcm_phy_config_intr,
@@ -652,7 +645,6 @@ static struct phy_driver broadcom_drivers[] = {
652 .phy_id_mask = 0xfffffff0, 645 .phy_id_mask = 0xfffffff0,
653 .name = "Broadcom BCM5481", 646 .name = "Broadcom BCM5481",
654 .features = PHY_GBIT_FEATURES, 647 .features = PHY_GBIT_FEATURES,
655 .flags = PHY_HAS_INTERRUPT,
656 .config_init = bcm54xx_config_init, 648 .config_init = bcm54xx_config_init,
657 .config_aneg = bcm5481_config_aneg, 649 .config_aneg = bcm5481_config_aneg,
658 .ack_interrupt = bcm_phy_ack_intr, 650 .ack_interrupt = bcm_phy_ack_intr,
@@ -662,7 +654,6 @@ static struct phy_driver broadcom_drivers[] = {
662 .phy_id_mask = 0xfffffff0, 654 .phy_id_mask = 0xfffffff0,
663 .name = "Broadcom BCM54810", 655 .name = "Broadcom BCM54810",
664 .features = PHY_GBIT_FEATURES, 656 .features = PHY_GBIT_FEATURES,
665 .flags = PHY_HAS_INTERRUPT,
666 .config_init = bcm54xx_config_init, 657 .config_init = bcm54xx_config_init,
667 .config_aneg = bcm5481_config_aneg, 658 .config_aneg = bcm5481_config_aneg,
668 .ack_interrupt = bcm_phy_ack_intr, 659 .ack_interrupt = bcm_phy_ack_intr,
@@ -672,7 +663,6 @@ static struct phy_driver broadcom_drivers[] = {
672 .phy_id_mask = 0xfffffff0, 663 .phy_id_mask = 0xfffffff0,
673 .name = "Broadcom BCM5482", 664 .name = "Broadcom BCM5482",
674 .features = PHY_GBIT_FEATURES, 665 .features = PHY_GBIT_FEATURES,
675 .flags = PHY_HAS_INTERRUPT,
676 .config_init = bcm5482_config_init, 666 .config_init = bcm5482_config_init,
677 .read_status = bcm5482_read_status, 667 .read_status = bcm5482_read_status,
678 .ack_interrupt = bcm_phy_ack_intr, 668 .ack_interrupt = bcm_phy_ack_intr,
@@ -682,7 +672,6 @@ static struct phy_driver broadcom_drivers[] = {
682 .phy_id_mask = 0xfffffff0, 672 .phy_id_mask = 0xfffffff0,
683 .name = "Broadcom BCM50610", 673 .name = "Broadcom BCM50610",
684 .features = PHY_GBIT_FEATURES, 674 .features = PHY_GBIT_FEATURES,
685 .flags = PHY_HAS_INTERRUPT,
686 .config_init = bcm54xx_config_init, 675 .config_init = bcm54xx_config_init,
687 .ack_interrupt = bcm_phy_ack_intr, 676 .ack_interrupt = bcm_phy_ack_intr,
688 .config_intr = bcm_phy_config_intr, 677 .config_intr = bcm_phy_config_intr,
@@ -691,7 +680,6 @@ static struct phy_driver broadcom_drivers[] = {
691 .phy_id_mask = 0xfffffff0, 680 .phy_id_mask = 0xfffffff0,
692 .name = "Broadcom BCM50610M", 681 .name = "Broadcom BCM50610M",
693 .features = PHY_GBIT_FEATURES, 682 .features = PHY_GBIT_FEATURES,
694 .flags = PHY_HAS_INTERRUPT,
695 .config_init = bcm54xx_config_init, 683 .config_init = bcm54xx_config_init,
696 .ack_interrupt = bcm_phy_ack_intr, 684 .ack_interrupt = bcm_phy_ack_intr,
697 .config_intr = bcm_phy_config_intr, 685 .config_intr = bcm_phy_config_intr,
@@ -700,7 +688,6 @@ static struct phy_driver broadcom_drivers[] = {
700 .phy_id_mask = 0xfffffff0, 688 .phy_id_mask = 0xfffffff0,
701 .name = "Broadcom BCM57780", 689 .name = "Broadcom BCM57780",
702 .features = PHY_GBIT_FEATURES, 690 .features = PHY_GBIT_FEATURES,
703 .flags = PHY_HAS_INTERRUPT,
704 .config_init = bcm54xx_config_init, 691 .config_init = bcm54xx_config_init,
705 .ack_interrupt = bcm_phy_ack_intr, 692 .ack_interrupt = bcm_phy_ack_intr,
706 .config_intr = bcm_phy_config_intr, 693 .config_intr = bcm_phy_config_intr,
@@ -709,7 +696,6 @@ static struct phy_driver broadcom_drivers[] = {
709 .phy_id_mask = 0xfffffff0, 696 .phy_id_mask = 0xfffffff0,
710 .name = "Broadcom BCMAC131", 697 .name = "Broadcom BCMAC131",
711 .features = PHY_BASIC_FEATURES, 698 .features = PHY_BASIC_FEATURES,
712 .flags = PHY_HAS_INTERRUPT,
713 .config_init = brcm_fet_config_init, 699 .config_init = brcm_fet_config_init,
714 .ack_interrupt = brcm_fet_ack_interrupt, 700 .ack_interrupt = brcm_fet_ack_interrupt,
715 .config_intr = brcm_fet_config_intr, 701 .config_intr = brcm_fet_config_intr,
@@ -718,7 +704,6 @@ static struct phy_driver broadcom_drivers[] = {
718 .phy_id_mask = 0xfffffff0, 704 .phy_id_mask = 0xfffffff0,
719 .name = "Broadcom BCM5241", 705 .name = "Broadcom BCM5241",
720 .features = PHY_BASIC_FEATURES, 706 .features = PHY_BASIC_FEATURES,
721 .flags = PHY_HAS_INTERRUPT,
722 .config_init = brcm_fet_config_init, 707 .config_init = brcm_fet_config_init,
723 .ack_interrupt = brcm_fet_ack_interrupt, 708 .ack_interrupt = brcm_fet_ack_interrupt,
724 .config_intr = brcm_fet_config_intr, 709 .config_intr = brcm_fet_config_intr,
@@ -737,7 +722,6 @@ static struct phy_driver broadcom_drivers[] = {
737 .phy_id_mask = 0xfffffff0, 722 .phy_id_mask = 0xfffffff0,
738 .name = "Broadcom BCM89610", 723 .name = "Broadcom BCM89610",
739 .features = PHY_GBIT_FEATURES, 724 .features = PHY_GBIT_FEATURES,
740 .flags = PHY_HAS_INTERRUPT,
741 .config_init = bcm54xx_config_init, 725 .config_init = bcm54xx_config_init,
742 .ack_interrupt = bcm_phy_ack_intr, 726 .ack_interrupt = bcm_phy_ack_intr,
743 .config_intr = bcm_phy_config_intr, 727 .config_intr = bcm_phy_config_intr,
diff --git a/drivers/net/phy/cicada.c b/drivers/net/phy/cicada.c
index c05af00bf4b6..fea61c81bda9 100644
--- a/drivers/net/phy/cicada.c
+++ b/drivers/net/phy/cicada.c
@@ -108,7 +108,6 @@ static struct phy_driver cis820x_driver[] = {
108 .name = "Cicada Cis8201", 108 .name = "Cicada Cis8201",
109 .phy_id_mask = 0x000ffff0, 109 .phy_id_mask = 0x000ffff0,
110 .features = PHY_GBIT_FEATURES, 110 .features = PHY_GBIT_FEATURES,
111 .flags = PHY_HAS_INTERRUPT,
112 .config_init = &cis820x_config_init, 111 .config_init = &cis820x_config_init,
113 .ack_interrupt = &cis820x_ack_interrupt, 112 .ack_interrupt = &cis820x_ack_interrupt,
114 .config_intr = &cis820x_config_intr, 113 .config_intr = &cis820x_config_intr,
@@ -117,7 +116,6 @@ static struct phy_driver cis820x_driver[] = {
117 .name = "Cicada Cis8204", 116 .name = "Cicada Cis8204",
118 .phy_id_mask = 0x000fffc0, 117 .phy_id_mask = 0x000fffc0,
119 .features = PHY_GBIT_FEATURES, 118 .features = PHY_GBIT_FEATURES,
120 .flags = PHY_HAS_INTERRUPT,
121 .config_init = &cis820x_config_init, 119 .config_init = &cis820x_config_init,
122 .ack_interrupt = &cis820x_ack_interrupt, 120 .ack_interrupt = &cis820x_ack_interrupt,
123 .config_intr = &cis820x_config_intr, 121 .config_intr = &cis820x_config_intr,
diff --git a/drivers/net/phy/davicom.c b/drivers/net/phy/davicom.c
index 5ee99b3b428c..97162008f42b 100644
--- a/drivers/net/phy/davicom.c
+++ b/drivers/net/phy/davicom.c
@@ -150,7 +150,6 @@ static struct phy_driver dm91xx_driver[] = {
150 .name = "Davicom DM9161E", 150 .name = "Davicom DM9161E",
151 .phy_id_mask = 0x0ffffff0, 151 .phy_id_mask = 0x0ffffff0,
152 .features = PHY_BASIC_FEATURES, 152 .features = PHY_BASIC_FEATURES,
153 .flags = PHY_HAS_INTERRUPT,
154 .config_init = dm9161_config_init, 153 .config_init = dm9161_config_init,
155 .config_aneg = dm9161_config_aneg, 154 .config_aneg = dm9161_config_aneg,
156 .ack_interrupt = dm9161_ack_interrupt, 155 .ack_interrupt = dm9161_ack_interrupt,
@@ -160,7 +159,6 @@ static struct phy_driver dm91xx_driver[] = {
160 .name = "Davicom DM9161B/C", 159 .name = "Davicom DM9161B/C",
161 .phy_id_mask = 0x0ffffff0, 160 .phy_id_mask = 0x0ffffff0,
162 .features = PHY_BASIC_FEATURES, 161 .features = PHY_BASIC_FEATURES,
163 .flags = PHY_HAS_INTERRUPT,
164 .config_init = dm9161_config_init, 162 .config_init = dm9161_config_init,
165 .config_aneg = dm9161_config_aneg, 163 .config_aneg = dm9161_config_aneg,
166 .ack_interrupt = dm9161_ack_interrupt, 164 .ack_interrupt = dm9161_ack_interrupt,
@@ -170,7 +168,6 @@ static struct phy_driver dm91xx_driver[] = {
170 .name = "Davicom DM9161A", 168 .name = "Davicom DM9161A",
171 .phy_id_mask = 0x0ffffff0, 169 .phy_id_mask = 0x0ffffff0,
172 .features = PHY_BASIC_FEATURES, 170 .features = PHY_BASIC_FEATURES,
173 .flags = PHY_HAS_INTERRUPT,
174 .config_init = dm9161_config_init, 171 .config_init = dm9161_config_init,
175 .config_aneg = dm9161_config_aneg, 172 .config_aneg = dm9161_config_aneg,
176 .ack_interrupt = dm9161_ack_interrupt, 173 .ack_interrupt = dm9161_ack_interrupt,
@@ -180,7 +177,6 @@ static struct phy_driver dm91xx_driver[] = {
180 .name = "Davicom DM9131", 177 .name = "Davicom DM9131",
181 .phy_id_mask = 0x0ffffff0, 178 .phy_id_mask = 0x0ffffff0,
182 .features = PHY_BASIC_FEATURES, 179 .features = PHY_BASIC_FEATURES,
183 .flags = PHY_HAS_INTERRUPT,
184 .ack_interrupt = dm9161_ack_interrupt, 180 .ack_interrupt = dm9161_ack_interrupt,
185 .config_intr = dm9161_config_intr, 181 .config_intr = dm9161_config_intr,
186} }; 182} };
diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c
index edd4d44a386d..18b41bc345ab 100644
--- a/drivers/net/phy/dp83640.c
+++ b/drivers/net/phy/dp83640.c
@@ -1521,7 +1521,6 @@ static struct phy_driver dp83640_driver = {
1521 .phy_id_mask = 0xfffffff0, 1521 .phy_id_mask = 0xfffffff0,
1522 .name = "NatSemi DP83640", 1522 .name = "NatSemi DP83640",
1523 .features = PHY_BASIC_FEATURES, 1523 .features = PHY_BASIC_FEATURES,
1524 .flags = PHY_HAS_INTERRUPT,
1525 .probe = dp83640_probe, 1524 .probe = dp83640_probe,
1526 .remove = dp83640_remove, 1525 .remove = dp83640_remove,
1527 .soft_reset = dp83640_soft_reset, 1526 .soft_reset = dp83640_soft_reset,
diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c
index 6e8a2a4f3a6e..24c7f149f3e6 100644
--- a/drivers/net/phy/dp83822.c
+++ b/drivers/net/phy/dp83822.c
@@ -318,7 +318,6 @@ static struct phy_driver dp83822_driver[] = {
318 .phy_id_mask = 0xfffffff0, 318 .phy_id_mask = 0xfffffff0,
319 .name = "TI DP83822", 319 .name = "TI DP83822",
320 .features = PHY_BASIC_FEATURES, 320 .features = PHY_BASIC_FEATURES,
321 .flags = PHY_HAS_INTERRUPT,
322 .config_init = dp83822_config_init, 321 .config_init = dp83822_config_init,
323 .soft_reset = dp83822_phy_reset, 322 .soft_reset = dp83822_phy_reset,
324 .get_wol = dp83822_get_wol, 323 .get_wol = dp83822_get_wol,
diff --git a/drivers/net/phy/dp83848.c b/drivers/net/phy/dp83848.c
index 6e8e42361fd5..a6b55909d1dc 100644
--- a/drivers/net/phy/dp83848.c
+++ b/drivers/net/phy/dp83848.c
@@ -108,7 +108,6 @@ MODULE_DEVICE_TABLE(mdio, dp83848_tbl);
108 .phy_id_mask = 0xfffffff0, \ 108 .phy_id_mask = 0xfffffff0, \
109 .name = _name, \ 109 .name = _name, \
110 .features = PHY_BASIC_FEATURES, \ 110 .features = PHY_BASIC_FEATURES, \
111 .flags = PHY_HAS_INTERRUPT, \
112 \ 111 \
113 .soft_reset = genphy_soft_reset, \ 112 .soft_reset = genphy_soft_reset, \
114 .config_init = _config_init, \ 113 .config_init = _config_init, \
diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c
index b3935778b19f..da6a67d47ce9 100644
--- a/drivers/net/phy/dp83867.c
+++ b/drivers/net/phy/dp83867.c
@@ -334,7 +334,6 @@ static struct phy_driver dp83867_driver[] = {
334 .phy_id_mask = 0xfffffff0, 334 .phy_id_mask = 0xfffffff0,
335 .name = "TI DP83867", 335 .name = "TI DP83867",
336 .features = PHY_GBIT_FEATURES, 336 .features = PHY_GBIT_FEATURES,
337 .flags = PHY_HAS_INTERRUPT,
338 337
339 .config_init = dp83867_config_init, 338 .config_init = dp83867_config_init,
340 .soft_reset = dp83867_phy_reset, 339 .soft_reset = dp83867_phy_reset,
diff --git a/drivers/net/phy/dp83tc811.c b/drivers/net/phy/dp83tc811.c
index 78cad134a79e..da13356999e5 100644
--- a/drivers/net/phy/dp83tc811.c
+++ b/drivers/net/phy/dp83tc811.c
@@ -346,7 +346,6 @@ static struct phy_driver dp83811_driver[] = {
346 .phy_id_mask = 0xfffffff0, 346 .phy_id_mask = 0xfffffff0,
347 .name = "TI DP83TC811", 347 .name = "TI DP83TC811",
348 .features = PHY_BASIC_FEATURES, 348 .features = PHY_BASIC_FEATURES,
349 .flags = PHY_HAS_INTERRUPT,
350 .config_init = dp83811_config_init, 349 .config_init = dp83811_config_init,
351 .config_aneg = dp83811_config_aneg, 350 .config_aneg = dp83811_config_aneg,
352 .soft_reset = dp83811_phy_reset, 351 .soft_reset = dp83811_phy_reset,
diff --git a/drivers/net/phy/icplus.c b/drivers/net/phy/icplus.c
index 791587a49215..21ce68964204 100644
--- a/drivers/net/phy/icplus.c
+++ b/drivers/net/phy/icplus.c
@@ -234,7 +234,6 @@ static struct phy_driver icplus_driver[] = {
234 .name = "ICPlus IP101A/G", 234 .name = "ICPlus IP101A/G",
235 .phy_id_mask = 0x0ffffff0, 235 .phy_id_mask = 0x0ffffff0,
236 .features = PHY_BASIC_FEATURES, 236 .features = PHY_BASIC_FEATURES,
237 .flags = PHY_HAS_INTERRUPT,
238 .ack_interrupt = ip101a_g_ack_interrupt, 237 .ack_interrupt = ip101a_g_ack_interrupt,
239 .config_init = &ip101a_g_config_init, 238 .config_init = &ip101a_g_config_init,
240 .suspend = genphy_suspend, 239 .suspend = genphy_suspend,
diff --git a/drivers/net/phy/intel-xway.c b/drivers/net/phy/intel-xway.c
index 7d936fb61c22..fc0f5024a29e 100644
--- a/drivers/net/phy/intel-xway.c
+++ b/drivers/net/phy/intel-xway.c
@@ -242,7 +242,6 @@ static struct phy_driver xway_gphy[] = {
242 .phy_id_mask = 0xffffffff, 242 .phy_id_mask = 0xffffffff,
243 .name = "Intel XWAY PHY11G (PEF 7071/PEF 7072) v1.3", 243 .name = "Intel XWAY PHY11G (PEF 7071/PEF 7072) v1.3",
244 .features = PHY_GBIT_FEATURES, 244 .features = PHY_GBIT_FEATURES,
245 .flags = PHY_HAS_INTERRUPT,
246 .config_init = xway_gphy_config_init, 245 .config_init = xway_gphy_config_init,
247 .config_aneg = xway_gphy14_config_aneg, 246 .config_aneg = xway_gphy14_config_aneg,
248 .ack_interrupt = xway_gphy_ack_interrupt, 247 .ack_interrupt = xway_gphy_ack_interrupt,
@@ -255,7 +254,6 @@ static struct phy_driver xway_gphy[] = {
255 .phy_id_mask = 0xffffffff, 254 .phy_id_mask = 0xffffffff,
256 .name = "Intel XWAY PHY22F (PEF 7061) v1.3", 255 .name = "Intel XWAY PHY22F (PEF 7061) v1.3",
257 .features = PHY_BASIC_FEATURES, 256 .features = PHY_BASIC_FEATURES,
258 .flags = PHY_HAS_INTERRUPT,
259 .config_init = xway_gphy_config_init, 257 .config_init = xway_gphy_config_init,
260 .config_aneg = xway_gphy14_config_aneg, 258 .config_aneg = xway_gphy14_config_aneg,
261 .ack_interrupt = xway_gphy_ack_interrupt, 259 .ack_interrupt = xway_gphy_ack_interrupt,
@@ -268,7 +266,6 @@ static struct phy_driver xway_gphy[] = {
268 .phy_id_mask = 0xffffffff, 266 .phy_id_mask = 0xffffffff,
269 .name = "Intel XWAY PHY11G (PEF 7071/PEF 7072) v1.4", 267 .name = "Intel XWAY PHY11G (PEF 7071/PEF 7072) v1.4",
270 .features = PHY_GBIT_FEATURES, 268 .features = PHY_GBIT_FEATURES,
271 .flags = PHY_HAS_INTERRUPT,
272 .config_init = xway_gphy_config_init, 269 .config_init = xway_gphy_config_init,
273 .config_aneg = xway_gphy14_config_aneg, 270 .config_aneg = xway_gphy14_config_aneg,
274 .ack_interrupt = xway_gphy_ack_interrupt, 271 .ack_interrupt = xway_gphy_ack_interrupt,
@@ -281,7 +278,6 @@ static struct phy_driver xway_gphy[] = {
281 .phy_id_mask = 0xffffffff, 278 .phy_id_mask = 0xffffffff,
282 .name = "Intel XWAY PHY22F (PEF 7061) v1.4", 279 .name = "Intel XWAY PHY22F (PEF 7061) v1.4",
283 .features = PHY_BASIC_FEATURES, 280 .features = PHY_BASIC_FEATURES,
284 .flags = PHY_HAS_INTERRUPT,
285 .config_init = xway_gphy_config_init, 281 .config_init = xway_gphy_config_init,
286 .config_aneg = xway_gphy14_config_aneg, 282 .config_aneg = xway_gphy14_config_aneg,
287 .ack_interrupt = xway_gphy_ack_interrupt, 283 .ack_interrupt = xway_gphy_ack_interrupt,
@@ -294,7 +290,6 @@ static struct phy_driver xway_gphy[] = {
294 .phy_id_mask = 0xffffffff, 290 .phy_id_mask = 0xffffffff,
295 .name = "Intel XWAY PHY11G (PEF 7071/PEF 7072) v1.5 / v1.6", 291 .name = "Intel XWAY PHY11G (PEF 7071/PEF 7072) v1.5 / v1.6",
296 .features = PHY_GBIT_FEATURES, 292 .features = PHY_GBIT_FEATURES,
297 .flags = PHY_HAS_INTERRUPT,
298 .config_init = xway_gphy_config_init, 293 .config_init = xway_gphy_config_init,
299 .ack_interrupt = xway_gphy_ack_interrupt, 294 .ack_interrupt = xway_gphy_ack_interrupt,
300 .did_interrupt = xway_gphy_did_interrupt, 295 .did_interrupt = xway_gphy_did_interrupt,
@@ -306,7 +301,6 @@ static struct phy_driver xway_gphy[] = {
306 .phy_id_mask = 0xffffffff, 301 .phy_id_mask = 0xffffffff,
307 .name = "Intel XWAY PHY22F (PEF 7061) v1.5 / v1.6", 302 .name = "Intel XWAY PHY22F (PEF 7061) v1.5 / v1.6",
308 .features = PHY_BASIC_FEATURES, 303 .features = PHY_BASIC_FEATURES,
309 .flags = PHY_HAS_INTERRUPT,
310 .config_init = xway_gphy_config_init, 304 .config_init = xway_gphy_config_init,
311 .ack_interrupt = xway_gphy_ack_interrupt, 305 .ack_interrupt = xway_gphy_ack_interrupt,
312 .did_interrupt = xway_gphy_did_interrupt, 306 .did_interrupt = xway_gphy_did_interrupt,
@@ -318,7 +312,6 @@ static struct phy_driver xway_gphy[] = {
318 .phy_id_mask = 0xffffffff, 312 .phy_id_mask = 0xffffffff,
319 .name = "Intel XWAY PHY11G (xRX v1.1 integrated)", 313 .name = "Intel XWAY PHY11G (xRX v1.1 integrated)",
320 .features = PHY_GBIT_FEATURES, 314 .features = PHY_GBIT_FEATURES,
321 .flags = PHY_HAS_INTERRUPT,
322 .config_init = xway_gphy_config_init, 315 .config_init = xway_gphy_config_init,
323 .ack_interrupt = xway_gphy_ack_interrupt, 316 .ack_interrupt = xway_gphy_ack_interrupt,
324 .did_interrupt = xway_gphy_did_interrupt, 317 .did_interrupt = xway_gphy_did_interrupt,
@@ -330,7 +323,6 @@ static struct phy_driver xway_gphy[] = {
330 .phy_id_mask = 0xffffffff, 323 .phy_id_mask = 0xffffffff,
331 .name = "Intel XWAY PHY22F (xRX v1.1 integrated)", 324 .name = "Intel XWAY PHY22F (xRX v1.1 integrated)",
332 .features = PHY_BASIC_FEATURES, 325 .features = PHY_BASIC_FEATURES,
333 .flags = PHY_HAS_INTERRUPT,
334 .config_init = xway_gphy_config_init, 326 .config_init = xway_gphy_config_init,
335 .ack_interrupt = xway_gphy_ack_interrupt, 327 .ack_interrupt = xway_gphy_ack_interrupt,
336 .did_interrupt = xway_gphy_did_interrupt, 328 .did_interrupt = xway_gphy_did_interrupt,
@@ -342,7 +334,6 @@ static struct phy_driver xway_gphy[] = {
342 .phy_id_mask = 0xffffffff, 334 .phy_id_mask = 0xffffffff,
343 .name = "Intel XWAY PHY11G (xRX v1.2 integrated)", 335 .name = "Intel XWAY PHY11G (xRX v1.2 integrated)",
344 .features = PHY_GBIT_FEATURES, 336 .features = PHY_GBIT_FEATURES,
345 .flags = PHY_HAS_INTERRUPT,
346 .config_init = xway_gphy_config_init, 337 .config_init = xway_gphy_config_init,
347 .ack_interrupt = xway_gphy_ack_interrupt, 338 .ack_interrupt = xway_gphy_ack_interrupt,
348 .did_interrupt = xway_gphy_did_interrupt, 339 .did_interrupt = xway_gphy_did_interrupt,
@@ -354,7 +345,6 @@ static struct phy_driver xway_gphy[] = {
354 .phy_id_mask = 0xffffffff, 345 .phy_id_mask = 0xffffffff,
355 .name = "Intel XWAY PHY22F (xRX v1.2 integrated)", 346 .name = "Intel XWAY PHY22F (xRX v1.2 integrated)",
356 .features = PHY_BASIC_FEATURES, 347 .features = PHY_BASIC_FEATURES,
357 .flags = PHY_HAS_INTERRUPT,
358 .config_init = xway_gphy_config_init, 348 .config_init = xway_gphy_config_init,
359 .ack_interrupt = xway_gphy_ack_interrupt, 349 .ack_interrupt = xway_gphy_ack_interrupt,
360 .did_interrupt = xway_gphy_did_interrupt, 350 .did_interrupt = xway_gphy_did_interrupt,
diff --git a/drivers/net/phy/lxt.c b/drivers/net/phy/lxt.c
index c14b254b2879..c9e2c84c25c0 100644
--- a/drivers/net/phy/lxt.c
+++ b/drivers/net/phy/lxt.c
@@ -257,7 +257,6 @@ static struct phy_driver lxt97x_driver[] = {
257 .name = "LXT970", 257 .name = "LXT970",
258 .phy_id_mask = 0xfffffff0, 258 .phy_id_mask = 0xfffffff0,
259 .features = PHY_BASIC_FEATURES, 259 .features = PHY_BASIC_FEATURES,
260 .flags = PHY_HAS_INTERRUPT,
261 .config_init = lxt970_config_init, 260 .config_init = lxt970_config_init,
262 .ack_interrupt = lxt970_ack_interrupt, 261 .ack_interrupt = lxt970_ack_interrupt,
263 .config_intr = lxt970_config_intr, 262 .config_intr = lxt970_config_intr,
@@ -266,7 +265,6 @@ static struct phy_driver lxt97x_driver[] = {
266 .name = "LXT971", 265 .name = "LXT971",
267 .phy_id_mask = 0xfffffff0, 266 .phy_id_mask = 0xfffffff0,
268 .features = PHY_BASIC_FEATURES, 267 .features = PHY_BASIC_FEATURES,
269 .flags = PHY_HAS_INTERRUPT,
270 .ack_interrupt = lxt971_ack_interrupt, 268 .ack_interrupt = lxt971_ack_interrupt,
271 .config_intr = lxt971_config_intr, 269 .config_intr = lxt971_config_intr,
272}, { 270}, {
diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index cbec296107bd..463c616a7281 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -2005,7 +2005,6 @@ static struct phy_driver marvell_drivers[] = {
2005 .phy_id_mask = MARVELL_PHY_ID_MASK, 2005 .phy_id_mask = MARVELL_PHY_ID_MASK,
2006 .name = "Marvell 88E1101", 2006 .name = "Marvell 88E1101",
2007 .features = PHY_GBIT_FEATURES, 2007 .features = PHY_GBIT_FEATURES,
2008 .flags = PHY_HAS_INTERRUPT,
2009 .probe = marvell_probe, 2008 .probe = marvell_probe,
2010 .config_init = &marvell_config_init, 2009 .config_init = &marvell_config_init,
2011 .config_aneg = &m88e1101_config_aneg, 2010 .config_aneg = &m88e1101_config_aneg,
@@ -2024,7 +2023,6 @@ static struct phy_driver marvell_drivers[] = {
2024 .phy_id_mask = MARVELL_PHY_ID_MASK, 2023 .phy_id_mask = MARVELL_PHY_ID_MASK,
2025 .name = "Marvell 88E1112", 2024 .name = "Marvell 88E1112",
2026 .features = PHY_GBIT_FEATURES, 2025 .features = PHY_GBIT_FEATURES,
2027 .flags = PHY_HAS_INTERRUPT,
2028 .probe = marvell_probe, 2026 .probe = marvell_probe,
2029 .config_init = &m88e1111_config_init, 2027 .config_init = &m88e1111_config_init,
2030 .config_aneg = &marvell_config_aneg, 2028 .config_aneg = &marvell_config_aneg,
@@ -2043,7 +2041,6 @@ static struct phy_driver marvell_drivers[] = {
2043 .phy_id_mask = MARVELL_PHY_ID_MASK, 2041 .phy_id_mask = MARVELL_PHY_ID_MASK,
2044 .name = "Marvell 88E1111", 2042 .name = "Marvell 88E1111",
2045 .features = PHY_GBIT_FEATURES, 2043 .features = PHY_GBIT_FEATURES,
2046 .flags = PHY_HAS_INTERRUPT,
2047 .probe = marvell_probe, 2044 .probe = marvell_probe,
2048 .config_init = &m88e1111_config_init, 2045 .config_init = &m88e1111_config_init,
2049 .config_aneg = &marvell_config_aneg, 2046 .config_aneg = &marvell_config_aneg,
@@ -2063,7 +2060,6 @@ static struct phy_driver marvell_drivers[] = {
2063 .phy_id_mask = MARVELL_PHY_ID_MASK, 2060 .phy_id_mask = MARVELL_PHY_ID_MASK,
2064 .name = "Marvell 88E1118", 2061 .name = "Marvell 88E1118",
2065 .features = PHY_GBIT_FEATURES, 2062 .features = PHY_GBIT_FEATURES,
2066 .flags = PHY_HAS_INTERRUPT,
2067 .probe = marvell_probe, 2063 .probe = marvell_probe,
2068 .config_init = &m88e1118_config_init, 2064 .config_init = &m88e1118_config_init,
2069 .config_aneg = &m88e1118_config_aneg, 2065 .config_aneg = &m88e1118_config_aneg,
@@ -2082,7 +2078,6 @@ static struct phy_driver marvell_drivers[] = {
2082 .phy_id_mask = MARVELL_PHY_ID_MASK, 2078 .phy_id_mask = MARVELL_PHY_ID_MASK,
2083 .name = "Marvell 88E1121R", 2079 .name = "Marvell 88E1121R",
2084 .features = PHY_GBIT_FEATURES, 2080 .features = PHY_GBIT_FEATURES,
2085 .flags = PHY_HAS_INTERRUPT,
2086 .probe = &m88e1121_probe, 2081 .probe = &m88e1121_probe,
2087 .config_init = &marvell_config_init, 2082 .config_init = &marvell_config_init,
2088 .config_aneg = &m88e1121_config_aneg, 2083 .config_aneg = &m88e1121_config_aneg,
@@ -2103,7 +2098,6 @@ static struct phy_driver marvell_drivers[] = {
2103 .phy_id_mask = MARVELL_PHY_ID_MASK, 2098 .phy_id_mask = MARVELL_PHY_ID_MASK,
2104 .name = "Marvell 88E1318S", 2099 .name = "Marvell 88E1318S",
2105 .features = PHY_GBIT_FEATURES, 2100 .features = PHY_GBIT_FEATURES,
2106 .flags = PHY_HAS_INTERRUPT,
2107 .probe = marvell_probe, 2101 .probe = marvell_probe,
2108 .config_init = &m88e1318_config_init, 2102 .config_init = &m88e1318_config_init,
2109 .config_aneg = &m88e1318_config_aneg, 2103 .config_aneg = &m88e1318_config_aneg,
@@ -2126,7 +2120,6 @@ static struct phy_driver marvell_drivers[] = {
2126 .phy_id_mask = MARVELL_PHY_ID_MASK, 2120 .phy_id_mask = MARVELL_PHY_ID_MASK,
2127 .name = "Marvell 88E1145", 2121 .name = "Marvell 88E1145",
2128 .features = PHY_GBIT_FEATURES, 2122 .features = PHY_GBIT_FEATURES,
2129 .flags = PHY_HAS_INTERRUPT,
2130 .probe = marvell_probe, 2123 .probe = marvell_probe,
2131 .config_init = &m88e1145_config_init, 2124 .config_init = &m88e1145_config_init,
2132 .config_aneg = &m88e1101_config_aneg, 2125 .config_aneg = &m88e1101_config_aneg,
@@ -2146,7 +2139,6 @@ static struct phy_driver marvell_drivers[] = {
2146 .phy_id_mask = MARVELL_PHY_ID_MASK, 2139 .phy_id_mask = MARVELL_PHY_ID_MASK,
2147 .name = "Marvell 88E1149R", 2140 .name = "Marvell 88E1149R",
2148 .features = PHY_GBIT_FEATURES, 2141 .features = PHY_GBIT_FEATURES,
2149 .flags = PHY_HAS_INTERRUPT,
2150 .probe = marvell_probe, 2142 .probe = marvell_probe,
2151 .config_init = &m88e1149_config_init, 2143 .config_init = &m88e1149_config_init,
2152 .config_aneg = &m88e1118_config_aneg, 2144 .config_aneg = &m88e1118_config_aneg,
@@ -2165,7 +2157,6 @@ static struct phy_driver marvell_drivers[] = {
2165 .phy_id_mask = MARVELL_PHY_ID_MASK, 2157 .phy_id_mask = MARVELL_PHY_ID_MASK,
2166 .name = "Marvell 88E1240", 2158 .name = "Marvell 88E1240",
2167 .features = PHY_GBIT_FEATURES, 2159 .features = PHY_GBIT_FEATURES,
2168 .flags = PHY_HAS_INTERRUPT,
2169 .probe = marvell_probe, 2160 .probe = marvell_probe,
2170 .config_init = &m88e1111_config_init, 2161 .config_init = &m88e1111_config_init,
2171 .config_aneg = &marvell_config_aneg, 2162 .config_aneg = &marvell_config_aneg,
@@ -2184,7 +2175,6 @@ static struct phy_driver marvell_drivers[] = {
2184 .phy_id_mask = MARVELL_PHY_ID_MASK, 2175 .phy_id_mask = MARVELL_PHY_ID_MASK,
2185 .name = "Marvell 88E1116R", 2176 .name = "Marvell 88E1116R",
2186 .features = PHY_GBIT_FEATURES, 2177 .features = PHY_GBIT_FEATURES,
2187 .flags = PHY_HAS_INTERRUPT,
2188 .probe = marvell_probe, 2178 .probe = marvell_probe,
2189 .config_init = &m88e1116r_config_init, 2179 .config_init = &m88e1116r_config_init,
2190 .ack_interrupt = &marvell_ack_interrupt, 2180 .ack_interrupt = &marvell_ack_interrupt,
@@ -2202,7 +2192,6 @@ static struct phy_driver marvell_drivers[] = {
2202 .phy_id_mask = MARVELL_PHY_ID_MASK, 2192 .phy_id_mask = MARVELL_PHY_ID_MASK,
2203 .name = "Marvell 88E1510", 2193 .name = "Marvell 88E1510",
2204 .features = PHY_GBIT_FIBRE_FEATURES, 2194 .features = PHY_GBIT_FIBRE_FEATURES,
2205 .flags = PHY_HAS_INTERRUPT,
2206 .probe = &m88e1510_probe, 2195 .probe = &m88e1510_probe,
2207 .config_init = &m88e1510_config_init, 2196 .config_init = &m88e1510_config_init,
2208 .config_aneg = &m88e1510_config_aneg, 2197 .config_aneg = &m88e1510_config_aneg,
@@ -2226,7 +2215,6 @@ static struct phy_driver marvell_drivers[] = {
2226 .phy_id_mask = MARVELL_PHY_ID_MASK, 2215 .phy_id_mask = MARVELL_PHY_ID_MASK,
2227 .name = "Marvell 88E1540", 2216 .name = "Marvell 88E1540",
2228 .features = PHY_GBIT_FEATURES, 2217 .features = PHY_GBIT_FEATURES,
2229 .flags = PHY_HAS_INTERRUPT,
2230 .probe = m88e1510_probe, 2218 .probe = m88e1510_probe,
2231 .config_init = &marvell_config_init, 2219 .config_init = &marvell_config_init,
2232 .config_aneg = &m88e1510_config_aneg, 2220 .config_aneg = &m88e1510_config_aneg,
@@ -2248,7 +2236,6 @@ static struct phy_driver marvell_drivers[] = {
2248 .name = "Marvell 88E1545", 2236 .name = "Marvell 88E1545",
2249 .probe = m88e1510_probe, 2237 .probe = m88e1510_probe,
2250 .features = PHY_GBIT_FEATURES, 2238 .features = PHY_GBIT_FEATURES,
2251 .flags = PHY_HAS_INTERRUPT,
2252 .config_init = &marvell_config_init, 2239 .config_init = &marvell_config_init,
2253 .config_aneg = &m88e1510_config_aneg, 2240 .config_aneg = &m88e1510_config_aneg,
2254 .read_status = &marvell_read_status, 2241 .read_status = &marvell_read_status,
@@ -2268,7 +2255,6 @@ static struct phy_driver marvell_drivers[] = {
2268 .phy_id_mask = MARVELL_PHY_ID_MASK, 2255 .phy_id_mask = MARVELL_PHY_ID_MASK,
2269 .name = "Marvell 88E3016", 2256 .name = "Marvell 88E3016",
2270 .features = PHY_BASIC_FEATURES, 2257 .features = PHY_BASIC_FEATURES,
2271 .flags = PHY_HAS_INTERRUPT,
2272 .probe = marvell_probe, 2258 .probe = marvell_probe,
2273 .config_init = &m88e3016_config_init, 2259 .config_init = &m88e3016_config_init,
2274 .aneg_done = &marvell_aneg_done, 2260 .aneg_done = &marvell_aneg_done,
@@ -2289,7 +2275,6 @@ static struct phy_driver marvell_drivers[] = {
2289 .phy_id_mask = MARVELL_PHY_ID_MASK, 2275 .phy_id_mask = MARVELL_PHY_ID_MASK,
2290 .name = "Marvell 88E6390", 2276 .name = "Marvell 88E6390",
2291 .features = PHY_GBIT_FEATURES, 2277 .features = PHY_GBIT_FEATURES,
2292 .flags = PHY_HAS_INTERRUPT,
2293 .probe = m88e6390_probe, 2278 .probe = m88e6390_probe,
2294 .config_init = &marvell_config_init, 2279 .config_init = &marvell_config_init,
2295 .config_aneg = &m88e1510_config_aneg, 2280 .config_aneg = &m88e1510_config_aneg,
diff --git a/drivers/net/phy/meson-gxl.c b/drivers/net/phy/meson-gxl.c
index ddc2c5ea3787..b03bcf2c388a 100644
--- a/drivers/net/phy/meson-gxl.c
+++ b/drivers/net/phy/meson-gxl.c
@@ -232,7 +232,7 @@ static struct phy_driver meson_gxl_phy[] = {
232 .phy_id_mask = 0xfffffff0, 232 .phy_id_mask = 0xfffffff0,
233 .name = "Meson GXL Internal PHY", 233 .name = "Meson GXL Internal PHY",
234 .features = PHY_BASIC_FEATURES, 234 .features = PHY_BASIC_FEATURES,
235 .flags = PHY_IS_INTERNAL | PHY_HAS_INTERRUPT, 235 .flags = PHY_IS_INTERNAL,
236 .config_init = meson_gxl_config_init, 236 .config_init = meson_gxl_config_init,
237 .aneg_done = genphy_aneg_done, 237 .aneg_done = genphy_aneg_done,
238 .read_status = meson_gxl_read_status, 238 .read_status = meson_gxl_read_status,
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 9265dea79412..cb5783905a25 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -918,7 +918,6 @@ static struct phy_driver ksphy_driver[] = {
918 .phy_id_mask = MICREL_PHY_ID_MASK, 918 .phy_id_mask = MICREL_PHY_ID_MASK,
919 .name = "Micrel KS8737", 919 .name = "Micrel KS8737",
920 .features = PHY_BASIC_FEATURES, 920 .features = PHY_BASIC_FEATURES,
921 .flags = PHY_HAS_INTERRUPT,
922 .driver_data = &ks8737_type, 921 .driver_data = &ks8737_type,
923 .config_init = kszphy_config_init, 922 .config_init = kszphy_config_init,
924 .ack_interrupt = kszphy_ack_interrupt, 923 .ack_interrupt = kszphy_ack_interrupt,
@@ -930,7 +929,6 @@ static struct phy_driver ksphy_driver[] = {
930 .phy_id_mask = 0x00ffffff, 929 .phy_id_mask = 0x00ffffff,
931 .name = "Micrel KSZ8021 or KSZ8031", 930 .name = "Micrel KSZ8021 or KSZ8031",
932 .features = PHY_BASIC_FEATURES, 931 .features = PHY_BASIC_FEATURES,
933 .flags = PHY_HAS_INTERRUPT,
934 .driver_data = &ksz8021_type, 932 .driver_data = &ksz8021_type,
935 .probe = kszphy_probe, 933 .probe = kszphy_probe,
936 .config_init = kszphy_config_init, 934 .config_init = kszphy_config_init,
@@ -946,7 +944,6 @@ static struct phy_driver ksphy_driver[] = {
946 .phy_id_mask = 0x00ffffff, 944 .phy_id_mask = 0x00ffffff,
947 .name = "Micrel KSZ8031", 945 .name = "Micrel KSZ8031",
948 .features = PHY_BASIC_FEATURES, 946 .features = PHY_BASIC_FEATURES,
949 .flags = PHY_HAS_INTERRUPT,
950 .driver_data = &ksz8021_type, 947 .driver_data = &ksz8021_type,
951 .probe = kszphy_probe, 948 .probe = kszphy_probe,
952 .config_init = kszphy_config_init, 949 .config_init = kszphy_config_init,
@@ -962,7 +959,6 @@ static struct phy_driver ksphy_driver[] = {
962 .phy_id_mask = MICREL_PHY_ID_MASK, 959 .phy_id_mask = MICREL_PHY_ID_MASK,
963 .name = "Micrel KSZ8041", 960 .name = "Micrel KSZ8041",
964 .features = PHY_BASIC_FEATURES, 961 .features = PHY_BASIC_FEATURES,
965 .flags = PHY_HAS_INTERRUPT,
966 .driver_data = &ksz8041_type, 962 .driver_data = &ksz8041_type,
967 .probe = kszphy_probe, 963 .probe = kszphy_probe,
968 .config_init = ksz8041_config_init, 964 .config_init = ksz8041_config_init,
@@ -979,7 +975,6 @@ static struct phy_driver ksphy_driver[] = {
979 .phy_id_mask = MICREL_PHY_ID_MASK, 975 .phy_id_mask = MICREL_PHY_ID_MASK,
980 .name = "Micrel KSZ8041RNLI", 976 .name = "Micrel KSZ8041RNLI",
981 .features = PHY_BASIC_FEATURES, 977 .features = PHY_BASIC_FEATURES,
982 .flags = PHY_HAS_INTERRUPT,
983 .driver_data = &ksz8041_type, 978 .driver_data = &ksz8041_type,
984 .probe = kszphy_probe, 979 .probe = kszphy_probe,
985 .config_init = kszphy_config_init, 980 .config_init = kszphy_config_init,
@@ -995,7 +990,6 @@ static struct phy_driver ksphy_driver[] = {
995 .phy_id_mask = MICREL_PHY_ID_MASK, 990 .phy_id_mask = MICREL_PHY_ID_MASK,
996 .name = "Micrel KSZ8051", 991 .name = "Micrel KSZ8051",
997 .features = PHY_BASIC_FEATURES, 992 .features = PHY_BASIC_FEATURES,
998 .flags = PHY_HAS_INTERRUPT,
999 .driver_data = &ksz8051_type, 993 .driver_data = &ksz8051_type,
1000 .probe = kszphy_probe, 994 .probe = kszphy_probe,
1001 .config_init = kszphy_config_init, 995 .config_init = kszphy_config_init,
@@ -1011,7 +1005,6 @@ static struct phy_driver ksphy_driver[] = {
1011 .name = "Micrel KSZ8001 or KS8721", 1005 .name = "Micrel KSZ8001 or KS8721",
1012 .phy_id_mask = 0x00fffffc, 1006 .phy_id_mask = 0x00fffffc,
1013 .features = PHY_BASIC_FEATURES, 1007 .features = PHY_BASIC_FEATURES,
1014 .flags = PHY_HAS_INTERRUPT,
1015 .driver_data = &ksz8041_type, 1008 .driver_data = &ksz8041_type,
1016 .probe = kszphy_probe, 1009 .probe = kszphy_probe,
1017 .config_init = kszphy_config_init, 1010 .config_init = kszphy_config_init,
@@ -1027,7 +1020,6 @@ static struct phy_driver ksphy_driver[] = {
1027 .name = "Micrel KSZ8081 or KSZ8091", 1020 .name = "Micrel KSZ8081 or KSZ8091",
1028 .phy_id_mask = MICREL_PHY_ID_MASK, 1021 .phy_id_mask = MICREL_PHY_ID_MASK,
1029 .features = PHY_BASIC_FEATURES, 1022 .features = PHY_BASIC_FEATURES,
1030 .flags = PHY_HAS_INTERRUPT,
1031 .driver_data = &ksz8081_type, 1023 .driver_data = &ksz8081_type,
1032 .probe = kszphy_probe, 1024 .probe = kszphy_probe,
1033 .config_init = kszphy_config_init, 1025 .config_init = kszphy_config_init,
@@ -1043,7 +1035,6 @@ static struct phy_driver ksphy_driver[] = {
1043 .name = "Micrel KSZ8061", 1035 .name = "Micrel KSZ8061",
1044 .phy_id_mask = MICREL_PHY_ID_MASK, 1036 .phy_id_mask = MICREL_PHY_ID_MASK,
1045 .features = PHY_BASIC_FEATURES, 1037 .features = PHY_BASIC_FEATURES,
1046 .flags = PHY_HAS_INTERRUPT,
1047 .config_init = kszphy_config_init, 1038 .config_init = kszphy_config_init,
1048 .ack_interrupt = kszphy_ack_interrupt, 1039 .ack_interrupt = kszphy_ack_interrupt,
1049 .config_intr = kszphy_config_intr, 1040 .config_intr = kszphy_config_intr,
@@ -1054,7 +1045,6 @@ static struct phy_driver ksphy_driver[] = {
1054 .phy_id_mask = 0x000ffffe, 1045 .phy_id_mask = 0x000ffffe,
1055 .name = "Micrel KSZ9021 Gigabit PHY", 1046 .name = "Micrel KSZ9021 Gigabit PHY",
1056 .features = PHY_GBIT_FEATURES, 1047 .features = PHY_GBIT_FEATURES,
1057 .flags = PHY_HAS_INTERRUPT,
1058 .driver_data = &ksz9021_type, 1048 .driver_data = &ksz9021_type,
1059 .probe = kszphy_probe, 1049 .probe = kszphy_probe,
1060 .config_init = ksz9021_config_init, 1050 .config_init = ksz9021_config_init,
@@ -1072,7 +1062,6 @@ static struct phy_driver ksphy_driver[] = {
1072 .phy_id_mask = MICREL_PHY_ID_MASK, 1062 .phy_id_mask = MICREL_PHY_ID_MASK,
1073 .name = "Micrel KSZ9031 Gigabit PHY", 1063 .name = "Micrel KSZ9031 Gigabit PHY",
1074 .features = PHY_GBIT_FEATURES, 1064 .features = PHY_GBIT_FEATURES,
1075 .flags = PHY_HAS_INTERRUPT,
1076 .driver_data = &ksz9021_type, 1065 .driver_data = &ksz9021_type,
1077 .probe = kszphy_probe, 1066 .probe = kszphy_probe,
1078 .config_init = ksz9031_config_init, 1067 .config_init = ksz9031_config_init,
@@ -1089,7 +1078,6 @@ static struct phy_driver ksphy_driver[] = {
1089 .phy_id_mask = MICREL_PHY_ID_MASK, 1078 .phy_id_mask = MICREL_PHY_ID_MASK,
1090 .name = "Microchip KSZ9131 Gigabit PHY", 1079 .name = "Microchip KSZ9131 Gigabit PHY",
1091 .features = PHY_GBIT_FEATURES, 1080 .features = PHY_GBIT_FEATURES,
1092 .flags = PHY_HAS_INTERRUPT,
1093 .driver_data = &ksz9021_type, 1081 .driver_data = &ksz9021_type,
1094 .probe = kszphy_probe, 1082 .probe = kszphy_probe,
1095 .config_init = ksz9131_config_init, 1083 .config_init = ksz9131_config_init,
@@ -1115,7 +1103,6 @@ static struct phy_driver ksphy_driver[] = {
1115 .phy_id_mask = MICREL_PHY_ID_MASK, 1103 .phy_id_mask = MICREL_PHY_ID_MASK,
1116 .name = "Micrel KSZ886X Switch", 1104 .name = "Micrel KSZ886X Switch",
1117 .features = PHY_BASIC_FEATURES, 1105 .features = PHY_BASIC_FEATURES,
1118 .flags = PHY_HAS_INTERRUPT,
1119 .config_init = kszphy_config_init, 1106 .config_init = kszphy_config_init,
1120 .suspend = genphy_suspend, 1107 .suspend = genphy_suspend,
1121 .resume = genphy_resume, 1108 .resume = genphy_resume,
@@ -1124,7 +1111,6 @@ static struct phy_driver ksphy_driver[] = {
1124 .phy_id_mask = MICREL_PHY_ID_MASK, 1111 .phy_id_mask = MICREL_PHY_ID_MASK,
1125 .name = "Micrel KSZ8795", 1112 .name = "Micrel KSZ8795",
1126 .features = PHY_BASIC_FEATURES, 1113 .features = PHY_BASIC_FEATURES,
1127 .flags = PHY_HAS_INTERRUPT,
1128 .config_init = kszphy_config_init, 1114 .config_init = kszphy_config_init,
1129 .config_aneg = ksz8873mll_config_aneg, 1115 .config_aneg = ksz8873mll_config_aneg,
1130 .read_status = ksz8873mll_read_status, 1116 .read_status = ksz8873mll_read_status,
diff --git a/drivers/net/phy/microchip.c b/drivers/net/phy/microchip.c
index 04b12e34da58..7557bebd5d7f 100644
--- a/drivers/net/phy/microchip.c
+++ b/drivers/net/phy/microchip.c
@@ -346,7 +346,6 @@ static struct phy_driver microchip_phy_driver[] = {
346 .name = "Microchip LAN88xx", 346 .name = "Microchip LAN88xx",
347 347
348 .features = PHY_GBIT_FEATURES, 348 .features = PHY_GBIT_FEATURES,
349 .flags = PHY_HAS_INTERRUPT,
350 349
351 .probe = lan88xx_probe, 350 .probe = lan88xx_probe,
352 .remove = lan88xx_remove, 351 .remove = lan88xx_remove,
diff --git a/drivers/net/phy/microchip_t1.c b/drivers/net/phy/microchip_t1.c
index c600a8509d60..3d09b471632c 100644
--- a/drivers/net/phy/microchip_t1.c
+++ b/drivers/net/phy/microchip_t1.c
@@ -47,7 +47,6 @@ static struct phy_driver microchip_t1_phy_driver[] = {
47 .name = "Microchip LAN87xx T1", 47 .name = "Microchip LAN87xx T1",
48 48
49 .features = PHY_BASIC_T1_FEATURES, 49 .features = PHY_BASIC_T1_FEATURES,
50 .flags = PHY_HAS_INTERRUPT,
51 50
52 .config_init = genphy_config_init, 51 .config_init = genphy_config_init,
53 .config_aneg = genphy_config_aneg, 52 .config_aneg = genphy_config_aneg,
diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c
index a2e59f4f6f01..62269e578718 100644
--- a/drivers/net/phy/mscc.c
+++ b/drivers/net/phy/mscc.c
@@ -1833,7 +1833,6 @@ static struct phy_driver vsc85xx_driver[] = {
1833 .name = "Microsemi FE VSC8530", 1833 .name = "Microsemi FE VSC8530",
1834 .phy_id_mask = 0xfffffff0, 1834 .phy_id_mask = 0xfffffff0,
1835 .features = PHY_BASIC_FEATURES, 1835 .features = PHY_BASIC_FEATURES,
1836 .flags = PHY_HAS_INTERRUPT,
1837 .soft_reset = &genphy_soft_reset, 1836 .soft_reset = &genphy_soft_reset,
1838 .config_init = &vsc85xx_config_init, 1837 .config_init = &vsc85xx_config_init,
1839 .config_aneg = &vsc85xx_config_aneg, 1838 .config_aneg = &vsc85xx_config_aneg,
@@ -1859,7 +1858,6 @@ static struct phy_driver vsc85xx_driver[] = {
1859 .name = "Microsemi VSC8531", 1858 .name = "Microsemi VSC8531",
1860 .phy_id_mask = 0xfffffff0, 1859 .phy_id_mask = 0xfffffff0,
1861 .features = PHY_GBIT_FEATURES, 1860 .features = PHY_GBIT_FEATURES,
1862 .flags = PHY_HAS_INTERRUPT,
1863 .soft_reset = &genphy_soft_reset, 1861 .soft_reset = &genphy_soft_reset,
1864 .config_init = &vsc85xx_config_init, 1862 .config_init = &vsc85xx_config_init,
1865 .config_aneg = &vsc85xx_config_aneg, 1863 .config_aneg = &vsc85xx_config_aneg,
@@ -1885,7 +1883,6 @@ static struct phy_driver vsc85xx_driver[] = {
1885 .name = "Microsemi FE VSC8540 SyncE", 1883 .name = "Microsemi FE VSC8540 SyncE",
1886 .phy_id_mask = 0xfffffff0, 1884 .phy_id_mask = 0xfffffff0,
1887 .features = PHY_BASIC_FEATURES, 1885 .features = PHY_BASIC_FEATURES,
1888 .flags = PHY_HAS_INTERRUPT,
1889 .soft_reset = &genphy_soft_reset, 1886 .soft_reset = &genphy_soft_reset,
1890 .config_init = &vsc85xx_config_init, 1887 .config_init = &vsc85xx_config_init,
1891 .config_aneg = &vsc85xx_config_aneg, 1888 .config_aneg = &vsc85xx_config_aneg,
@@ -1911,7 +1908,6 @@ static struct phy_driver vsc85xx_driver[] = {
1911 .name = "Microsemi VSC8541 SyncE", 1908 .name = "Microsemi VSC8541 SyncE",
1912 .phy_id_mask = 0xfffffff0, 1909 .phy_id_mask = 0xfffffff0,
1913 .features = PHY_GBIT_FEATURES, 1910 .features = PHY_GBIT_FEATURES,
1914 .flags = PHY_HAS_INTERRUPT,
1915 .soft_reset = &genphy_soft_reset, 1911 .soft_reset = &genphy_soft_reset,
1916 .config_init = &vsc85xx_config_init, 1912 .config_init = &vsc85xx_config_init,
1917 .config_aneg = &vsc85xx_config_aneg, 1913 .config_aneg = &vsc85xx_config_aneg,
@@ -1937,7 +1933,6 @@ static struct phy_driver vsc85xx_driver[] = {
1937 .name = "Microsemi GE VSC8574 SyncE", 1933 .name = "Microsemi GE VSC8574 SyncE",
1938 .phy_id_mask = 0xfffffff0, 1934 .phy_id_mask = 0xfffffff0,
1939 .features = PHY_GBIT_FEATURES, 1935 .features = PHY_GBIT_FEATURES,
1940 .flags = PHY_HAS_INTERRUPT,
1941 .soft_reset = &genphy_soft_reset, 1936 .soft_reset = &genphy_soft_reset,
1942 .config_init = &vsc8584_config_init, 1937 .config_init = &vsc8584_config_init,
1943 .config_aneg = &vsc85xx_config_aneg, 1938 .config_aneg = &vsc85xx_config_aneg,
@@ -1964,7 +1959,6 @@ static struct phy_driver vsc85xx_driver[] = {
1964 .name = "Microsemi GE VSC8584 SyncE", 1959 .name = "Microsemi GE VSC8584 SyncE",
1965 .phy_id_mask = 0xfffffff0, 1960 .phy_id_mask = 0xfffffff0,
1966 .features = PHY_GBIT_FEATURES, 1961 .features = PHY_GBIT_FEATURES,
1967 .flags = PHY_HAS_INTERRUPT,
1968 .soft_reset = &genphy_soft_reset, 1962 .soft_reset = &genphy_soft_reset,
1969 .config_init = &vsc8584_config_init, 1963 .config_init = &vsc8584_config_init,
1970 .config_aneg = &vsc85xx_config_aneg, 1964 .config_aneg = &vsc85xx_config_aneg,
diff --git a/drivers/net/phy/national.c b/drivers/net/phy/national.c
index 2b1e336961f9..139bed2c8ab4 100644
--- a/drivers/net/phy/national.c
+++ b/drivers/net/phy/national.c
@@ -134,7 +134,6 @@ static struct phy_driver dp83865_driver[] = { {
134 .phy_id_mask = 0xfffffff0, 134 .phy_id_mask = 0xfffffff0,
135 .name = "NatSemi DP83865", 135 .name = "NatSemi DP83865",
136 .features = PHY_GBIT_FEATURES, 136 .features = PHY_GBIT_FEATURES,
137 .flags = PHY_HAS_INTERRUPT,
138 .config_init = ns_config_init, 137 .config_init = ns_config_init,
139 .ack_interrupt = ns_ack_interrupt, 138 .ack_interrupt = ns_ack_interrupt,
140 .config_intr = ns_config_intr, 139 .config_intr = ns_config_intr,
diff --git a/drivers/net/phy/qsemi.c b/drivers/net/phy/qsemi.c
index 889a4dce1648..cfe2313dbefd 100644
--- a/drivers/net/phy/qsemi.c
+++ b/drivers/net/phy/qsemi.c
@@ -116,7 +116,6 @@ static struct phy_driver qs6612_driver[] = { {
116 .name = "QS6612", 116 .name = "QS6612",
117 .phy_id_mask = 0xfffffff0, 117 .phy_id_mask = 0xfffffff0,
118 .features = PHY_BASIC_FEATURES, 118 .features = PHY_BASIC_FEATURES,
119 .flags = PHY_HAS_INTERRUPT,
120 .config_init = qs6612_config_init, 119 .config_init = qs6612_config_init,
121 .ack_interrupt = qs6612_ack_interrupt, 120 .ack_interrupt = qs6612_ack_interrupt,
122 .config_intr = qs6612_config_intr, 121 .config_intr = qs6612_config_intr,
diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
index 7b1c89b3833c..0f8e5b1c9cb6 100644
--- a/drivers/net/phy/realtek.c
+++ b/drivers/net/phy/realtek.c
@@ -217,13 +217,11 @@ static struct phy_driver realtek_drvs[] = {
217 .name = "RTL8201CP Ethernet", 217 .name = "RTL8201CP Ethernet",
218 .phy_id_mask = 0x0000ffff, 218 .phy_id_mask = 0x0000ffff,
219 .features = PHY_BASIC_FEATURES, 219 .features = PHY_BASIC_FEATURES,
220 .flags = PHY_HAS_INTERRUPT,
221 }, { 220 }, {
222 .phy_id = 0x001cc816, 221 .phy_id = 0x001cc816,
223 .name = "RTL8201F Fast Ethernet", 222 .name = "RTL8201F Fast Ethernet",
224 .phy_id_mask = 0x001fffff, 223 .phy_id_mask = 0x001fffff,
225 .features = PHY_BASIC_FEATURES, 224 .features = PHY_BASIC_FEATURES,
226 .flags = PHY_HAS_INTERRUPT,
227 .ack_interrupt = &rtl8201_ack_interrupt, 225 .ack_interrupt = &rtl8201_ack_interrupt,
228 .config_intr = &rtl8201_config_intr, 226 .config_intr = &rtl8201_config_intr,
229 .suspend = genphy_suspend, 227 .suspend = genphy_suspend,
@@ -243,7 +241,6 @@ static struct phy_driver realtek_drvs[] = {
243 .name = "RTL8211B Gigabit Ethernet", 241 .name = "RTL8211B Gigabit Ethernet",
244 .phy_id_mask = 0x001fffff, 242 .phy_id_mask = 0x001fffff,
245 .features = PHY_GBIT_FEATURES, 243 .features = PHY_GBIT_FEATURES,
246 .flags = PHY_HAS_INTERRUPT,
247 .ack_interrupt = &rtl821x_ack_interrupt, 244 .ack_interrupt = &rtl821x_ack_interrupt,
248 .config_intr = &rtl8211b_config_intr, 245 .config_intr = &rtl8211b_config_intr,
249 .read_mmd = &genphy_read_mmd_unsupported, 246 .read_mmd = &genphy_read_mmd_unsupported,
@@ -263,7 +260,6 @@ static struct phy_driver realtek_drvs[] = {
263 .name = "RTL8211DN Gigabit Ethernet", 260 .name = "RTL8211DN Gigabit Ethernet",
264 .phy_id_mask = 0x001fffff, 261 .phy_id_mask = 0x001fffff,
265 .features = PHY_GBIT_FEATURES, 262 .features = PHY_GBIT_FEATURES,
266 .flags = PHY_HAS_INTERRUPT,
267 .ack_interrupt = rtl821x_ack_interrupt, 263 .ack_interrupt = rtl821x_ack_interrupt,
268 .config_intr = rtl8211e_config_intr, 264 .config_intr = rtl8211e_config_intr,
269 .suspend = genphy_suspend, 265 .suspend = genphy_suspend,
@@ -273,7 +269,6 @@ static struct phy_driver realtek_drvs[] = {
273 .name = "RTL8211E Gigabit Ethernet", 269 .name = "RTL8211E Gigabit Ethernet",
274 .phy_id_mask = 0x001fffff, 270 .phy_id_mask = 0x001fffff,
275 .features = PHY_GBIT_FEATURES, 271 .features = PHY_GBIT_FEATURES,
276 .flags = PHY_HAS_INTERRUPT,
277 .ack_interrupt = &rtl821x_ack_interrupt, 272 .ack_interrupt = &rtl821x_ack_interrupt,
278 .config_intr = &rtl8211e_config_intr, 273 .config_intr = &rtl8211e_config_intr,
279 .suspend = genphy_suspend, 274 .suspend = genphy_suspend,
@@ -283,7 +278,6 @@ static struct phy_driver realtek_drvs[] = {
283 .name = "RTL8211F Gigabit Ethernet", 278 .name = "RTL8211F Gigabit Ethernet",
284 .phy_id_mask = 0x001fffff, 279 .phy_id_mask = 0x001fffff,
285 .features = PHY_GBIT_FEATURES, 280 .features = PHY_GBIT_FEATURES,
286 .flags = PHY_HAS_INTERRUPT,
287 .config_init = &rtl8211f_config_init, 281 .config_init = &rtl8211f_config_init,
288 .ack_interrupt = &rtl8211f_ack_interrupt, 282 .ack_interrupt = &rtl8211f_ack_interrupt,
289 .config_intr = &rtl8211f_config_intr, 283 .config_intr = &rtl8211f_config_intr,
@@ -296,7 +290,6 @@ static struct phy_driver realtek_drvs[] = {
296 .name = "RTL8366RB Gigabit Ethernet", 290 .name = "RTL8366RB Gigabit Ethernet",
297 .phy_id_mask = 0x001fffff, 291 .phy_id_mask = 0x001fffff,
298 .features = PHY_GBIT_FEATURES, 292 .features = PHY_GBIT_FEATURES,
299 .flags = PHY_HAS_INTERRUPT,
300 .config_init = &rtl8366rb_config_init, 293 .config_init = &rtl8366rb_config_init,
301 .suspend = genphy_suspend, 294 .suspend = genphy_suspend,
302 .resume = genphy_resume, 295 .resume = genphy_resume,
diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c
index c328208388da..f9477ff55545 100644
--- a/drivers/net/phy/smsc.c
+++ b/drivers/net/phy/smsc.c
@@ -219,7 +219,6 @@ static struct phy_driver smsc_phy_driver[] = {
219 .name = "SMSC LAN83C185", 219 .name = "SMSC LAN83C185",
220 220
221 .features = PHY_BASIC_FEATURES, 221 .features = PHY_BASIC_FEATURES,
222 .flags = PHY_HAS_INTERRUPT,
223 222
224 .probe = smsc_phy_probe, 223 .probe = smsc_phy_probe,
225 224
@@ -239,7 +238,6 @@ static struct phy_driver smsc_phy_driver[] = {
239 .name = "SMSC LAN8187", 238 .name = "SMSC LAN8187",
240 239
241 .features = PHY_BASIC_FEATURES, 240 .features = PHY_BASIC_FEATURES,
242 .flags = PHY_HAS_INTERRUPT,
243 241
244 .probe = smsc_phy_probe, 242 .probe = smsc_phy_probe,
245 243
@@ -264,7 +262,6 @@ static struct phy_driver smsc_phy_driver[] = {
264 .name = "SMSC LAN8700", 262 .name = "SMSC LAN8700",
265 263
266 .features = PHY_BASIC_FEATURES, 264 .features = PHY_BASIC_FEATURES,
267 .flags = PHY_HAS_INTERRUPT,
268 265
269 .probe = smsc_phy_probe, 266 .probe = smsc_phy_probe,
270 267
@@ -290,7 +287,6 @@ static struct phy_driver smsc_phy_driver[] = {
290 .name = "SMSC LAN911x Internal PHY", 287 .name = "SMSC LAN911x Internal PHY",
291 288
292 .features = PHY_BASIC_FEATURES, 289 .features = PHY_BASIC_FEATURES,
293 .flags = PHY_HAS_INTERRUPT,
294 290
295 .probe = smsc_phy_probe, 291 .probe = smsc_phy_probe,
296 292
@@ -309,7 +305,7 @@ static struct phy_driver smsc_phy_driver[] = {
309 .name = "SMSC LAN8710/LAN8720", 305 .name = "SMSC LAN8710/LAN8720",
310 306
311 .features = PHY_BASIC_FEATURES, 307 .features = PHY_BASIC_FEATURES,
312 .flags = PHY_HAS_INTERRUPT | PHY_RST_AFTER_CLK_EN, 308 .flags = PHY_RST_AFTER_CLK_EN,
313 309
314 .probe = smsc_phy_probe, 310 .probe = smsc_phy_probe,
315 311
@@ -335,7 +331,6 @@ static struct phy_driver smsc_phy_driver[] = {
335 .name = "SMSC LAN8740", 331 .name = "SMSC LAN8740",
336 332
337 .features = PHY_BASIC_FEATURES, 333 .features = PHY_BASIC_FEATURES,
338 .flags = PHY_HAS_INTERRUPT,
339 334
340 .probe = smsc_phy_probe, 335 .probe = smsc_phy_probe,
341 336
diff --git a/drivers/net/phy/ste10Xp.c b/drivers/net/phy/ste10Xp.c
index 2fe9a87b55b5..33d733684f5b 100644
--- a/drivers/net/phy/ste10Xp.c
+++ b/drivers/net/phy/ste10Xp.c
@@ -87,7 +87,6 @@ static struct phy_driver ste10xp_pdriver[] = {
87 .phy_id_mask = 0xfffffff0, 87 .phy_id_mask = 0xfffffff0,
88 .name = "STe101p", 88 .name = "STe101p",
89 .features = PHY_BASIC_FEATURES, 89 .features = PHY_BASIC_FEATURES,
90 .flags = PHY_HAS_INTERRUPT,
91 .config_init = ste10Xp_config_init, 90 .config_init = ste10Xp_config_init,
92 .ack_interrupt = ste10Xp_ack_interrupt, 91 .ack_interrupt = ste10Xp_ack_interrupt,
93 .config_intr = ste10Xp_config_intr, 92 .config_intr = ste10Xp_config_intr,
@@ -98,7 +97,6 @@ static struct phy_driver ste10xp_pdriver[] = {
98 .phy_id_mask = 0xffffffff, 97 .phy_id_mask = 0xffffffff,
99 .name = "STe100p", 98 .name = "STe100p",
100 .features = PHY_BASIC_FEATURES, 99 .features = PHY_BASIC_FEATURES,
101 .flags = PHY_HAS_INTERRUPT,
102 .config_init = ste10Xp_config_init, 100 .config_init = ste10Xp_config_init,
103 .ack_interrupt = ste10Xp_ack_interrupt, 101 .ack_interrupt = ste10Xp_ack_interrupt,
104 .config_intr = ste10Xp_config_intr, 102 .config_intr = ste10Xp_config_intr,
diff --git a/drivers/net/phy/vitesse.c b/drivers/net/phy/vitesse.c
index fbf9ad429593..4ca513feba0e 100644
--- a/drivers/net/phy/vitesse.c
+++ b/drivers/net/phy/vitesse.c
@@ -399,7 +399,6 @@ static struct phy_driver vsc82xx_driver[] = {
399 .name = "Vitesse VSC8234", 399 .name = "Vitesse VSC8234",
400 .phy_id_mask = 0x000ffff0, 400 .phy_id_mask = 0x000ffff0,
401 .features = PHY_GBIT_FEATURES, 401 .features = PHY_GBIT_FEATURES,
402 .flags = PHY_HAS_INTERRUPT,
403 .config_init = &vsc824x_config_init, 402 .config_init = &vsc824x_config_init,
404 .config_aneg = &vsc82x4_config_aneg, 403 .config_aneg = &vsc82x4_config_aneg,
405 .ack_interrupt = &vsc824x_ack_interrupt, 404 .ack_interrupt = &vsc824x_ack_interrupt,
@@ -409,7 +408,6 @@ static struct phy_driver vsc82xx_driver[] = {
409 .name = "Vitesse VSC8244", 408 .name = "Vitesse VSC8244",
410 .phy_id_mask = 0x000fffc0, 409 .phy_id_mask = 0x000fffc0,
411 .features = PHY_GBIT_FEATURES, 410 .features = PHY_GBIT_FEATURES,
412 .flags = PHY_HAS_INTERRUPT,
413 .config_init = &vsc824x_config_init, 411 .config_init = &vsc824x_config_init,
414 .config_aneg = &vsc82x4_config_aneg, 412 .config_aneg = &vsc82x4_config_aneg,
415 .ack_interrupt = &vsc824x_ack_interrupt, 413 .ack_interrupt = &vsc824x_ack_interrupt,
@@ -419,7 +417,6 @@ static struct phy_driver vsc82xx_driver[] = {
419 .name = "Vitesse VSC8514", 417 .name = "Vitesse VSC8514",
420 .phy_id_mask = 0x000ffff0, 418 .phy_id_mask = 0x000ffff0,
421 .features = PHY_GBIT_FEATURES, 419 .features = PHY_GBIT_FEATURES,
422 .flags = PHY_HAS_INTERRUPT,
423 .config_init = &vsc824x_config_init, 420 .config_init = &vsc824x_config_init,
424 .config_aneg = &vsc82x4_config_aneg, 421 .config_aneg = &vsc82x4_config_aneg,
425 .ack_interrupt = &vsc824x_ack_interrupt, 422 .ack_interrupt = &vsc824x_ack_interrupt,
@@ -429,7 +426,6 @@ static struct phy_driver vsc82xx_driver[] = {
429 .name = "Vitesse VSC8572", 426 .name = "Vitesse VSC8572",
430 .phy_id_mask = 0x000ffff0, 427 .phy_id_mask = 0x000ffff0,
431 .features = PHY_GBIT_FEATURES, 428 .features = PHY_GBIT_FEATURES,
432 .flags = PHY_HAS_INTERRUPT,
433 .config_init = &vsc824x_config_init, 429 .config_init = &vsc824x_config_init,
434 .config_aneg = &vsc82x4_config_aneg, 430 .config_aneg = &vsc82x4_config_aneg,
435 .ack_interrupt = &vsc824x_ack_interrupt, 431 .ack_interrupt = &vsc824x_ack_interrupt,
@@ -439,7 +435,6 @@ static struct phy_driver vsc82xx_driver[] = {
439 .name = "Vitesse VSC8574", 435 .name = "Vitesse VSC8574",
440 .phy_id_mask = 0x000ffff0, 436 .phy_id_mask = 0x000ffff0,
441 .features = PHY_GBIT_FEATURES, 437 .features = PHY_GBIT_FEATURES,
442 .flags = PHY_HAS_INTERRUPT,
443 .config_init = &vsc824x_config_init, 438 .config_init = &vsc824x_config_init,
444 .config_aneg = &vsc82x4_config_aneg, 439 .config_aneg = &vsc82x4_config_aneg,
445 .ack_interrupt = &vsc824x_ack_interrupt, 440 .ack_interrupt = &vsc824x_ack_interrupt,
@@ -449,7 +444,6 @@ static struct phy_driver vsc82xx_driver[] = {
449 .name = "Vitesse VSC8601", 444 .name = "Vitesse VSC8601",
450 .phy_id_mask = 0x000ffff0, 445 .phy_id_mask = 0x000ffff0,
451 .features = PHY_GBIT_FEATURES, 446 .features = PHY_GBIT_FEATURES,
452 .flags = PHY_HAS_INTERRUPT,
453 .config_init = &vsc8601_config_init, 447 .config_init = &vsc8601_config_init,
454 .ack_interrupt = &vsc824x_ack_interrupt, 448 .ack_interrupt = &vsc824x_ack_interrupt,
455 .config_intr = &vsc82xx_config_intr, 449 .config_intr = &vsc82xx_config_intr,
@@ -494,7 +488,6 @@ static struct phy_driver vsc82xx_driver[] = {
494 .name = "Vitesse VSC8662", 488 .name = "Vitesse VSC8662",
495 .phy_id_mask = 0x000ffff0, 489 .phy_id_mask = 0x000ffff0,
496 .features = PHY_GBIT_FEATURES, 490 .features = PHY_GBIT_FEATURES,
497 .flags = PHY_HAS_INTERRUPT,
498 .config_init = &vsc824x_config_init, 491 .config_init = &vsc824x_config_init,
499 .config_aneg = &vsc82x4_config_aneg, 492 .config_aneg = &vsc82x4_config_aneg,
500 .ack_interrupt = &vsc824x_ack_interrupt, 493 .ack_interrupt = &vsc824x_ack_interrupt,
@@ -505,7 +498,6 @@ static struct phy_driver vsc82xx_driver[] = {
505 .phy_id_mask = 0x000ffff0, 498 .phy_id_mask = 0x000ffff0,
506 .name = "Vitesse VSC8221", 499 .name = "Vitesse VSC8221",
507 .features = PHY_GBIT_FEATURES, 500 .features = PHY_GBIT_FEATURES,
508 .flags = PHY_HAS_INTERRUPT,
509 .config_init = &vsc8221_config_init, 501 .config_init = &vsc8221_config_init,
510 .ack_interrupt = &vsc824x_ack_interrupt, 502 .ack_interrupt = &vsc824x_ack_interrupt,
511 .config_intr = &vsc82xx_config_intr, 503 .config_intr = &vsc82xx_config_intr,
@@ -515,7 +507,6 @@ static struct phy_driver vsc82xx_driver[] = {
515 .phy_id_mask = 0x000ffff0, 507 .phy_id_mask = 0x000ffff0,
516 .name = "Vitesse VSC8211", 508 .name = "Vitesse VSC8211",
517 .features = PHY_GBIT_FEATURES, 509 .features = PHY_GBIT_FEATURES,
518 .flags = PHY_HAS_INTERRUPT,
519 .config_init = &vsc8221_config_init, 510 .config_init = &vsc8221_config_init,
520 .ack_interrupt = &vsc824x_ack_interrupt, 511 .ack_interrupt = &vsc824x_ack_interrupt,
521 .config_intr = &vsc82xx_config_intr, 512 .config_intr = &vsc82xx_config_intr,
diff --git a/include/linux/phy.h b/include/linux/phy.h
index 3299ec6e69f3..59bb31ee132f 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -66,9 +66,8 @@ extern __ETHTOOL_DECLARE_LINK_MODE_MASK(phy_10gbit_full_features) __ro_after_ini
66#define PHY_POLL -1 66#define PHY_POLL -1
67#define PHY_IGNORE_INTERRUPT -2 67#define PHY_IGNORE_INTERRUPT -2
68 68
69#define PHY_HAS_INTERRUPT 0x00000001 69#define PHY_IS_INTERNAL 0x00000001
70#define PHY_IS_INTERNAL 0x00000002 70#define PHY_RST_AFTER_CLK_EN 0x00000002
71#define PHY_RST_AFTER_CLK_EN 0x00000004
72#define MDIO_DEVICE_IS_PHY 0x80000000 71#define MDIO_DEVICE_IS_PHY 0x80000000
73 72
74/* Interface Mode definitions */ 73/* Interface Mode definitions */