|
@@ -1183,9 +1183,11 @@ static irqreturn_t isp1301_irq(int irq, void *isp)
|
|
|
return IRQ_HANDLED;
|
|
|
}
|
|
|
|
|
|
-static void isp1301_timer(unsigned long _isp)
|
|
|
+static void isp1301_timer(struct timer_list *t)
|
|
|
{
|
|
|
- isp1301_defer_work((void *)_isp, WORK_TIMER);
|
|
|
+ struct isp1301 *isp = from_timer(isp, t, timer);
|
|
|
+
|
|
|
+ isp1301_defer_work(isp, WORK_TIMER);
|
|
|
}
|
|
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
@@ -1506,7 +1508,7 @@ isp1301_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
|
|
|
}
|
|
|
|
|
|
INIT_WORK(&isp->work, isp1301_work);
|
|
|
- setup_timer(&isp->timer, isp1301_timer, (unsigned long)isp);
|
|
|
+ timer_setup(&isp->timer, isp1301_timer, 0);
|
|
|
|
|
|
i2c_set_clientdata(i2c, isp);
|
|
|
isp->client = i2c;
|