/**
  * ap_request_timeout(): Handling of request timeouts
- * @data: Holds the AP device.
+ * @t: timer making this callback
  *
  * Handles request timeouts.
  */
-void ap_request_timeout(unsigned long data)
+void ap_request_timeout(struct timer_list *t)
 {
-       struct ap_queue *aq = (struct ap_queue *) data;
+       struct ap_queue *aq = from_timer(aq, t, timeout);
 
        if (ap_suspend_flag)
                return;
        mod_timer(&ap_config_timer, jiffies + ap_config_time * HZ);
 }
 
-static void ap_config_timeout(unsigned long ptr)
+static void ap_config_timeout(struct timer_list *unused)
 {
        if (ap_suspend_flag)
                return;
                goto out_bus;
 
        /* Setup the AP bus rescan timer. */
-       setup_timer(&ap_config_timer, ap_config_timeout, 0);
+       timer_setup(&ap_config_timer, ap_config_timeout, 0);
 
        /*
         * Setup the high resultion poll timer.
 
 
 void *ap_airq_ptr(void);
 void ap_wait(enum ap_wait wait);
-void ap_request_timeout(unsigned long data);
+void ap_request_timeout(struct timer_list *t);
 void ap_bus_force_rescan(void);
 
 void ap_queue_init_reply(struct ap_queue *aq, struct ap_message *ap_msg);
 
        INIT_LIST_HEAD(&aq->list);
        INIT_LIST_HEAD(&aq->pendingq);
        INIT_LIST_HEAD(&aq->requestq);
-       setup_timer(&aq->timeout, ap_request_timeout, (unsigned long) aq);
+       timer_setup(&aq->timeout, ap_request_timeout, 0);
 
        return aq;
 }