|
@@ -557,9 +557,10 @@ static void speedtch_check_status(struct work_struct *work)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void speedtch_status_poll(unsigned long data)
|
|
|
+static void speedtch_status_poll(struct timer_list *t)
|
|
|
{
|
|
|
- struct speedtch_instance_data *instance = (void *)data;
|
|
|
+ struct speedtch_instance_data *instance = from_timer(instance, t,
|
|
|
+ status_check_timer);
|
|
|
|
|
|
schedule_work(&instance->status_check_work);
|
|
|
|
|
@@ -570,9 +571,10 @@ static void speedtch_status_poll(unsigned long data)
|
|
|
atm_warn(instance->usbatm, "Too many failures - disabling line status polling\n");
|
|
|
}
|
|
|
|
|
|
-static void speedtch_resubmit_int(unsigned long data)
|
|
|
+static void speedtch_resubmit_int(struct timer_list *t)
|
|
|
{
|
|
|
- struct speedtch_instance_data *instance = (void *)data;
|
|
|
+ struct speedtch_instance_data *instance = from_timer(instance, t,
|
|
|
+ resubmit_timer);
|
|
|
struct urb *int_urb = instance->int_urb;
|
|
|
int ret;
|
|
|
|
|
@@ -860,13 +862,11 @@ static int speedtch_bind(struct usbatm_data *usbatm,
|
|
|
usbatm->flags |= (use_isoc ? UDSL_USE_ISOC : 0);
|
|
|
|
|
|
INIT_WORK(&instance->status_check_work, speedtch_check_status);
|
|
|
- setup_timer(&instance->status_check_timer, speedtch_status_poll,
|
|
|
- (unsigned long)instance);
|
|
|
+ timer_setup(&instance->status_check_timer, speedtch_status_poll, 0);
|
|
|
instance->last_status = 0xff;
|
|
|
instance->poll_delay = MIN_POLL_DELAY;
|
|
|
|
|
|
- setup_timer(&instance->resubmit_timer, speedtch_resubmit_int,
|
|
|
- (unsigned long)instance);
|
|
|
+ timer_setup(&instance->resubmit_timer, speedtch_resubmit_int, 0);
|
|
|
|
|
|
instance->int_urb = usb_alloc_urb(0, GFP_KERNEL);
|
|
|
|