USB: add SPDX identifiers to all remaining files in drivers/usb/
[linux-2.6-block.git] / drivers / usb / phy / phy-mv-usb.c
index 0e315694adc907b80d2eedccc8943ec2f09bfb01..50041d72427d86d3ece44cefbca92445a4662168 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (C) 2011 Marvell International Ltd. All rights reserved.
  * Author: Chao Xie <chao.xie@marvell.com>
@@ -87,9 +88,10 @@ static void mv_otg_run_state_machine(struct mv_otg *mvotg,
        queue_delayed_work(mvotg->qwork, &mvotg->work, delay);
 }
 
-static void mv_otg_timer_await_bcon(unsigned long data)
+static void mv_otg_timer_await_bcon(struct timer_list *t)
 {
-       struct mv_otg *mvotg = (struct mv_otg *) data;
+       struct mv_otg *mvotg = from_timer(mvotg, t,
+                                         otg_ctrl.timer[A_WAIT_BCON_TIMER]);
 
        mvotg->otg_ctrl.a_wait_bcon_timeout = 1;
 
@@ -117,8 +119,7 @@ static int mv_otg_cancel_timer(struct mv_otg *mvotg, unsigned int id)
 }
 
 static int mv_otg_set_timer(struct mv_otg *mvotg, unsigned int id,
-                           unsigned long interval,
-                           void (*callback) (unsigned long))
+                           unsigned long interval)
 {
        struct timer_list *timer;
 
@@ -131,9 +132,6 @@ static int mv_otg_set_timer(struct mv_otg *mvotg, unsigned int id,
                return -EBUSY;
        }
 
-       init_timer(timer);
-       timer->data = (unsigned long) mvotg;
-       timer->function = callback;
        timer->expires = jiffies + interval;
        add_timer(timer);
 
@@ -459,8 +457,7 @@ run:
                        if (old_state != OTG_STATE_A_HOST)
                                mv_otg_start_host(mvotg, 1);
                        mv_otg_set_timer(mvotg, A_WAIT_BCON_TIMER,
-                                        T_A_WAIT_BCON,
-                                        mv_otg_timer_await_bcon);
+                                        T_A_WAIT_BCON);
                        /*
                         * Now, we directly enter A_HOST. So set b_conn = 1
                         * here. In fact, it need host driver to notify us.
@@ -722,7 +719,8 @@ static int mv_otg_probe(struct platform_device *pdev)
        otg->set_vbus = mv_otg_set_vbus;
 
        for (i = 0; i < OTG_TIMER_NUM; i++)
-               init_timer(&mvotg->otg_ctrl.timer[i]);
+               timer_setup(&mvotg->otg_ctrl.timer[i],
+                           mv_otg_timer_await_bcon, 0);
 
        r = platform_get_resource_byname(mvotg->pdev,
                                         IORESOURCE_MEM, "phyregs");