ipw2100: RF kill switch timer power save
PATCH 1/1 ipw2100: RF kill switch timer power save
Similar patch to ipw2200. Round the timer used for RF kill switch off to 1 second boundary to save power. Build tested only, don't have this hardware.
Signed-off-by Stephen Hemminger <[email protected]>
drivers/net/wireless/ipw2100.c +7 -4
@@ -1768,7 +1768,8 @@ static int ipw2100_up(struct ipw2100_priif (priv->stop_rf_kill) { priv->stop_rf_kill =0 ; -queue_delayed_work (priv->workqueue, &priv->rf_kill,HZ ); +queue_delayed_work (priv->workqueue, &priv->rf_kill, +round_jiffies (HZ )); } deferred =1 ;
@@ -2098,7 +2099,7 @@ static void isr_indicate_rf_kill(struct/* Make sure the RF Kill check timer is running */ priv->stop_rf_kill =0 ;cancel_delayed_work (&priv->rf_kill); -queue_delayed_work (priv->workqueue, &priv->rf_kill,HZ ); +queue_delayed_work (priv->workqueue, &priv->rf_kill,round_jiffies (HZ )); }static void isr_scan_complete (struct ipw2100_priv *priv,u32 status)
@@ -4233,7 +4234,8 @@ static int ipw_radio_kill_sw(struct ipw2/* Make sure the RF_KILL check timer is running */ priv->stop_rf_kill =0 ;cancel_delayed_work (&priv->rf_kill); -queue_delayed_work (priv->workqueue, &priv->rf_kill,HZ ); +queue_delayed_work (priv->workqueue, &priv->rf_kill, +round_jiffies (HZ )); }else schedule_reset (priv); }
@@ -5969,7 +5971,8 @@ static void ipw2100_rf_kill(struct work_if (rf_kill_active (priv)) {IPW_DEBUG_RF_KILL ("RF Kill active, rescheduling GPIO check\n" );if (!priv->stop_rf_kill) -queue_delayed_work (priv->workqueue, &priv->rf_kill,HZ ); +queue_delayed_work (priv->workqueue, &priv->rf_kill, +round_jiffies (HZ )); goto exit_unlock; }