/* auto-neg, insert timer to re-config phy */
        if (!adapter->phy_timer_pending) {
                adapter->phy_timer_pending = true;
-               mod_timer(&adapter->phy_config_timer, jiffies + 3 * HZ);
+               mod_timer(&adapter->phy_config_timer,
+                         round_jiffies(jiffies + 3 * HZ));
        }
 
        return 0;
        return IRQ_HANDLED;
 }
 
-/*
- * atl1_watchdog - Timer Call-back
- * @data: pointer to netdev cast into an unsigned long
- */
-static void atl1_watchdog(unsigned long data)
-{
-       struct atl1_adapter *adapter = (struct atl1_adapter *)data;
-
-       /* Reset the timer */
-       mod_timer(&adapter->watchdog_timer, jiffies + 2 * HZ);
-}
 
 /*
  * atl1_phy_config - Timer Call-back
        if (unlikely(err))
                goto err_up;
 
-       mod_timer(&adapter->watchdog_timer, jiffies);
        atlx_irq_enable(adapter);
        atl1_check_link(adapter);
        netif_start_queue(netdev);
        struct net_device *netdev = adapter->netdev;
 
        netif_stop_queue(netdev);
-       del_timer_sync(&adapter->watchdog_timer);
        del_timer_sync(&adapter->phy_config_timer);
        adapter->phy_timer_pending = false;
 
        netif_carrier_off(netdev);
        netif_stop_queue(netdev);
 
-       init_timer(&adapter->watchdog_timer);
-       adapter->watchdog_timer.function = &atl1_watchdog;
-       adapter->watchdog_timer.data = (unsigned long)adapter;
-
-       init_timer(&adapter->phy_config_timer);
-       adapter->phy_config_timer.function = &atl1_phy_config;
-       adapter->phy_config_timer.data = (unsigned long)adapter;
+       setup_timer(&adapter->phy_config_timer, &atl1_phy_config,
+                   (unsigned long)adapter);
        adapter->phy_timer_pending = false;
 
        INIT_WORK(&adapter->tx_timeout_task, atl1_tx_timeout_task);
 
 
        clear_bit(__ATL2_DOWN, &adapter->flags);
 
-       mod_timer(&adapter->watchdog_timer, jiffies + 4*HZ);
+       mod_timer(&adapter->watchdog_timer, round_jiffies(jiffies + 4*HZ));
 
        val = ATL2_READ_REG(&adapter->hw, REG_MASTER_CTRL);
        ATL2_WRITE_REG(&adapter->hw, REG_MASTER_CTRL,
                adapter->netdev->stats.rx_over_errors += drop_rxd + drop_rxs;
 
                /* Reset the timer */
-               mod_timer(&adapter->watchdog_timer, jiffies + 4 * HZ);
+               mod_timer(&adapter->watchdog_timer,
+                         round_jiffies(jiffies + 4 * HZ));
        }
 }
 
         * (if interval smaller than 5 seconds, something strange) */
        if (!test_bit(__ATL2_DOWN, &adapter->flags)) {
                if (!test_and_set_bit(0, &adapter->cfg_phy))
-                       mod_timer(&adapter->phy_config_timer, jiffies + 5 * HZ);
+                       mod_timer(&adapter->phy_config_timer,
+                                 round_jiffies(jiffies + 5 * HZ));
        }
 
        return 0;