Merge tag 'for-linus-4.15-2' of git://github.com/cminyard/linux-ipmi
[linux-2.6-block.git] / drivers / char / ipmi / ipmi_si_intf.c
index 99b0513bb55b07b48c5ef52ff3e5fb35b38db8db..71fad747c0c7c1052cc19ee3bad0568b4a80c55b 100644 (file)
@@ -1090,9 +1090,9 @@ static void set_need_watch(void *send_info, bool enable)
        spin_unlock_irqrestore(&smi_info->si_lock, flags);
 }
 
-static void smi_timeout(unsigned long data)
+static void smi_timeout(struct timer_list *t)
 {
-       struct smi_info   *smi_info = (struct smi_info *) data;
+       struct smi_info   *smi_info = from_timer(smi_info, t, si_timer);
        enum si_sm_result smi_result;
        unsigned long     flags;
        unsigned long     jiffies_now;
@@ -1165,7 +1165,7 @@ static int smi_start_processing(void       *send_info,
        new_smi->intf = intf;
 
        /* Set up the timer that drives the interface. */
-       setup_timer(&new_smi->si_timer, smi_timeout, (long)new_smi);
+       timer_setup(&new_smi->si_timer, smi_timeout, 0);
        new_smi->timer_can_start = true;
        smi_mod_timer(new_smi, jiffies + SI_TIMEOUT_JIFFIES);