@@ -274,13 +274,6 @@ static int gpy_config_init(struct phy_device *phydev)
274
274
return ret < 0 ? ret : 0 ;
275
275
}
276
276
277
- static bool gpy_has_broken_mdint (struct phy_device * phydev )
278
- {
279
- /* At least these PHYs are known to have broken interrupt handling */
280
- return phydev -> drv -> phy_id == PHY_ID_GPY215B ||
281
- phydev -> drv -> phy_id == PHY_ID_GPY215C ;
282
- }
283
-
284
277
static int gpy_probe (struct phy_device * phydev )
285
278
{
286
279
struct device * dev = & phydev -> mdio .dev ;
@@ -300,8 +293,7 @@ static int gpy_probe(struct phy_device *phydev)
300
293
phydev -> priv = priv ;
301
294
mutex_init (& priv -> mbox_lock );
302
295
303
- if (gpy_has_broken_mdint (phydev ) &&
304
- !device_property_present (dev , "maxlinear,use-broken-interrupts" ))
296
+ if (!device_property_present (dev , "maxlinear,use-broken-interrupts" ))
305
297
phydev -> dev_flags |= PHY_F_NO_IRQ ;
306
298
307
299
fw_version = phy_read (phydev , PHY_FWV );
@@ -659,11 +651,9 @@ static irqreturn_t gpy_handle_interrupt(struct phy_device *phydev)
659
651
* frame. Therefore, polling is the best we can do and won't do any more
660
652
* harm.
661
653
* It was observed that this bug happens on link state and link speed
662
- * changes on a GPY215B and GYP215C independent of the firmware version
663
- * (which doesn't mean that this list is exhaustive).
654
+ * changes independent of the firmware version.
664
655
*/
665
- if (gpy_has_broken_mdint (phydev ) &&
666
- (reg & (PHY_IMASK_LSTC | PHY_IMASK_LSPC ))) {
656
+ if (reg & (PHY_IMASK_LSTC | PHY_IMASK_LSPC )) {
667
657
reg = gpy_mbox_read (phydev , REG_GPIO0_OUT );
668
658
if (reg < 0 ) {
669
659
phy_error (phydev );
0 commit comments