no_resume:
        if (phydev->attached_dev && phydev->adjust_link)
-               phy_start_machine(phydev, NULL);
+               phy_start_machine(phydev);
 
        return 0;
 }
        phydev->link = 0;
        phydev->state = PHY_UP;
 
-       phy_start_machine(phydev, NULL);
+       phy_start_machine(phydev);
 
        return 0;
 }
 
 /**
  * phy_start_machine - start PHY state machine tracking
  * @phydev: the phy_device struct
- * @handler: callback function for state change notifications
  *
  * Description: The PHY infrastructure can run a state machine
  *   which tracks whether the PHY is starting up, negotiating,
  *   etc.  This function starts the timer which tracks the state
- *   of the PHY.  If you want to be notified when the state changes,
- *   pass in the callback @handler, otherwise, pass NULL.  If you
- *   want to maintain your own state machine, do not call this
- *   function.
+ *   of the PHY.  If you want to maintain your own state machine,
+ *   do not call this function.
  */
-void phy_start_machine(struct phy_device *phydev,
-                      void (*handler)(struct net_device *))
+void phy_start_machine(struct phy_device *phydev)
 {
-       phydev->adjust_state = handler;
-
        queue_delayed_work(system_power_efficient_wq, &phydev->state_queue, HZ);
 }
 
        if (phydev->state > PHY_UP)
                phydev->state = PHY_UP;
        mutex_unlock(&phydev->lock);
-
-       phydev->adjust_state = NULL;
 }
 
 /**
 
        mutex_lock(&phydev->lock);
 
-       if (phydev->adjust_state)
-               phydev->adjust_state(phydev->attached_dev);
-
        switch (phydev->state) {
        case PHY_DOWN:
        case PHY_STARTING:
 
                return rc;
 
        phy_prepare_link(phydev, handler);
-       phy_start_machine(phydev, NULL);
+       phy_start_machine(phydev);
        if (phydev->irq > 0)
                phy_start_interrupts(phydev);
 
 
  * attached_dev: The attached enet driver's device instance ptr
  * adjust_link: Callback for the enet controller to respond to
  * changes in the link state.
- * adjust_state: Callback for the enet driver to respond to
- * changes in the state machine.
  *
  * speed, duplex, pause, supported, advertising, lp_advertising,
  * and autoneg are used like in mii_if_info
        struct net_device *attached_dev;
 
        void (*adjust_link)(struct net_device *dev);
-
-       void (*adjust_state)(struct net_device *dev);
 };
 #define to_phy_device(d) container_of(d, struct phy_device, dev)
 
 void phy_state_machine(struct work_struct *work);
 void phy_change(struct work_struct *work);
 void phy_mac_interrupt(struct phy_device *phydev, int new_link);
-void phy_start_machine(struct phy_device *phydev,
-                      void (*handler)(struct net_device *));
+void phy_start_machine(struct phy_device *phydev);
 void phy_stop_machine(struct phy_device *phydev);
 int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd);
 int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd);