Merge remote-tracking branches 'asoc/fix/msm8916', 'asoc/fix/nau8825', 'asoc/fix...
[sfrench/cifs-2.6.git] / sound / soc / codecs / rt5645.c
index fcd02c2c76f168b9bd4d79b25dd0c509fde9813f..edc152c8a1fe7596e9bbc5760574d973a9185d16 100644 (file)
@@ -3346,9 +3346,9 @@ static irqreturn_t rt5645_irq(int irq, void *data)
        return IRQ_HANDLED;
 }
 
-static void rt5645_btn_check_callback(unsigned long data)
+static void rt5645_btn_check_callback(struct timer_list *t)
 {
-       struct rt5645_priv *rt5645 = (struct rt5645_priv *)data;
+       struct rt5645_priv *rt5645 = from_timer(rt5645, t, btn_check_timer);
 
        queue_delayed_work(system_power_efficient_wq,
                   &rt5645->jack_detect_work, msecs_to_jiffies(5));
@@ -3956,8 +3956,7 @@ static int rt5645_i2c_probe(struct i2c_client *i2c,
                regmap_update_bits(rt5645->regmap, RT5645_IRQ_CTRL2,
                        RT5645_JD_1_1_MASK, RT5645_JD_1_1_INV);
        }
-       setup_timer(&rt5645->btn_check_timer,
-               rt5645_btn_check_callback, (unsigned long)rt5645);
+       timer_setup(&rt5645->btn_check_timer, rt5645_btn_check_callback, 0);
 
        INIT_DELAYED_WORK(&rt5645->jack_detect_work, rt5645_jack_detect_work);
        INIT_DELAYED_WORK(&rt5645->rcclock_work, rt5645_rcclock_work);