Commit b9e43e36 authored by Kees Cook's avatar Kees Cook Committed by Wolfram Sang

i2c/busses: Convert timers to use timer_setup()

In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 3990bede
...@@ -826,9 +826,9 @@ static unsigned int img_i2c_atomic(struct img_i2c *i2c, ...@@ -826,9 +826,9 @@ static unsigned int img_i2c_atomic(struct img_i2c *i2c,
* Timer function to check if something has gone wrong in automatic mode (so we * Timer function to check if something has gone wrong in automatic mode (so we
* don't have to handle so many interrupts just to catch an exception). * don't have to handle so many interrupts just to catch an exception).
*/ */
static void img_i2c_check_timer(unsigned long arg) static void img_i2c_check_timer(struct timer_list *t)
{ {
struct img_i2c *i2c = (struct img_i2c *)arg; struct img_i2c *i2c = from_timer(i2c, t, check_timer);
unsigned long flags; unsigned long flags;
unsigned int line_status; unsigned int line_status;
...@@ -1362,8 +1362,7 @@ static int img_i2c_probe(struct platform_device *pdev) ...@@ -1362,8 +1362,7 @@ static int img_i2c_probe(struct platform_device *pdev)
} }
/* Set up the exception check timer */ /* Set up the exception check timer */
setup_timer(&i2c->check_timer, img_i2c_check_timer, timer_setup(&i2c->check_timer, img_i2c_check_timer, 0);
(unsigned long)i2c);
i2c->bitrate = timings[0].max_bitrate; i2c->bitrate = timings[0].max_bitrate;
if (!of_property_read_u32(node, "clock-frequency", &val)) if (!of_property_read_u32(node, "clock-frequency", &val))
......
...@@ -112,7 +112,6 @@ static inline void i2c_pnx_arm_timer(struct i2c_pnx_algo_data *alg_data) ...@@ -112,7 +112,6 @@ static inline void i2c_pnx_arm_timer(struct i2c_pnx_algo_data *alg_data)
jiffies, expires); jiffies, expires);
timer->expires = jiffies + expires; timer->expires = jiffies + expires;
timer->data = (unsigned long)alg_data;
add_timer(timer); add_timer(timer);
} }
...@@ -435,9 +434,9 @@ static irqreturn_t i2c_pnx_interrupt(int irq, void *dev_id) ...@@ -435,9 +434,9 @@ static irqreturn_t i2c_pnx_interrupt(int irq, void *dev_id)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static void i2c_pnx_timeout(unsigned long data) static void i2c_pnx_timeout(struct timer_list *t)
{ {
struct i2c_pnx_algo_data *alg_data = (struct i2c_pnx_algo_data *)data; struct i2c_pnx_algo_data *alg_data = from_timer(alg_data, t, mif.timer);
u32 ctl; u32 ctl;
dev_err(&alg_data->adapter.dev, dev_err(&alg_data->adapter.dev,
...@@ -659,8 +658,7 @@ static int i2c_pnx_probe(struct platform_device *pdev) ...@@ -659,8 +658,7 @@ static int i2c_pnx_probe(struct platform_device *pdev)
if (IS_ERR(alg_data->clk)) if (IS_ERR(alg_data->clk))
return PTR_ERR(alg_data->clk); return PTR_ERR(alg_data->clk);
setup_timer(&alg_data->mif.timer, i2c_pnx_timeout, timer_setup(&alg_data->mif.timer, i2c_pnx_timeout, 0);
(unsigned long)alg_data);
snprintf(alg_data->adapter.name, sizeof(alg_data->adapter.name), snprintf(alg_data->adapter.name, sizeof(alg_data->adapter.name),
"%s", pdev->name); "%s", pdev->name);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment