Now, we have a handy macro for initializing deferrable timer.
Using it makes code clean and easy to understand.

Additionally, in some driver codes, use setup_timer() instead of init_timer().

This patch doesn't make any functional difference.

Signed-off-by: Joonsoo Kim <js1...@gmail.com>
Cc: Len Brown <l...@kernel.org>
Cc: Jeff Garzik <jgar...@pobox.com>
Cc: Jitendra Kalsaria <jitendra.kalsa...@qlogic.com>
Cc: Ron Mercer <ron.mer...@qlogic.com>
Cc: Tejun Heo <t...@kernel.org>
Cc: Johannes Berg <johan...@sipsolutions.net>
Cc: "John W. Linville" <linvi...@tuxdriver.com>
Cc: "David S. Miller" <da...@davemloft.net>
Cc: Jamal Hadi Salim <j...@mojatatu.com>

diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index 1599566..1707f9a 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -944,9 +944,8 @@ static int __devinit ghes_probe(struct platform_device 
*ghes_dev)
        }
        switch (generic->notify.type) {
        case ACPI_HEST_NOTIFY_POLLED:
-               ghes->timer.function = ghes_poll_func;
-               ghes->timer.data = (unsigned long)ghes;
-               init_timer_deferrable(&ghes->timer);
+               setup_timer_deferrable(&ghes->timer, ghes_poll_func,
+                                                       (unsigned long)ghes);
                ghes_add_timer(ghes);
                break;
        case ACPI_HEST_NOTIFY_EXTERNAL:
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 3cc7096..a811e6f 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -5616,9 +5616,8 @@ struct ata_port *ata_port_alloc(struct ata_host *host)
        INIT_LIST_HEAD(&ap->eh_done_q);
        init_waitqueue_head(&ap->eh_wait_q);
        init_completion(&ap->park_req_pending);
-       init_timer_deferrable(&ap->fastdrain_timer);
-       ap->fastdrain_timer.function = ata_eh_fastdrain_timerfn;
-       ap->fastdrain_timer.data = (unsigned long)ap;
+       setup_timer_deferrable(&ap->fastdrain_timer, ata_eh_fastdrain_timerfn,
+                                                       (unsigned long)ap);
 
        ap->cbl = ATA_CBL_NONE;
 
diff --git a/drivers/net/ethernet/nvidia/forcedeth.c 
b/drivers/net/ethernet/nvidia/forcedeth.c
index 876bece..987e2cf 100644
--- a/drivers/net/ethernet/nvidia/forcedeth.c
+++ b/drivers/net/ethernet/nvidia/forcedeth.c
@@ -5548,15 +5548,10 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, 
const struct pci_device_i
        spin_lock_init(&np->hwstats_lock);
        SET_NETDEV_DEV(dev, &pci_dev->dev);
 
-       init_timer(&np->oom_kick);
-       np->oom_kick.data = (unsigned long) dev;
-       np->oom_kick.function = nv_do_rx_refill;        /* timer handler */
-       init_timer(&np->nic_poll);
-       np->nic_poll.data = (unsigned long) dev;
-       np->nic_poll.function = nv_do_nic_poll; /* timer handler */
-       init_timer_deferrable(&np->stats_poll);
-       np->stats_poll.data = (unsigned long) dev;
-       np->stats_poll.function = nv_do_stats_poll;     /* timer handler */
+       setup_timer(&np->oom_kick, nv_do_rx_refill, (unsigned long)dev);
+       setup_timer(&np->nic_poll, nv_do_nic_poll, (unsigned long)dev);
+       setup_timer_deferrable(&np->stats_poll, nv_do_stats_poll,
+                                               (unsigned long)dev);
 
        err = pci_enable_device(pci_dev);
        if (err)
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c 
b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
index b262d61..1687883 100644
--- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
+++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
@@ -4707,9 +4707,7 @@ static int __devinit qlge_probe(struct pci_dev *pdev,
        /* Start up the timer to trigger EEH if
         * the bus goes dead
         */
-       init_timer_deferrable(&qdev->timer);
-       qdev->timer.data = (unsigned long)qdev;
-       qdev->timer.function = ql_timer;
+       setup_timer_deferrable(&qdev->timer, ql_timer, (unsigned long)qdev);
        qdev->timer.expires = jiffies + (5*HZ);
        add_timer(&qdev->timer);
        ql_link_off(qdev);
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 607976c..743c7d7 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -995,9 +995,8 @@ static void vxlan_setup(struct net_device *dev)
 
        spin_lock_init(&vxlan->hash_lock);
 
-       init_timer_deferrable(&vxlan->age_timer);
-       vxlan->age_timer.function = vxlan_cleanup;
-       vxlan->age_timer.data = (unsigned long) vxlan;
+       setup_timer_deferrable(&vxlan->age_timer, vxlan_cleanup,
+                                               (unsigned long)vxlan);
 
        inet_get_local_port_range(&low, &high);
        vxlan->port_min = low;
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index d951daa..77d6f62 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -3845,10 +3845,8 @@ static int __init init_workqueues(void)
                        INIT_LIST_HEAD(&pool->worklist);
                        INIT_LIST_HEAD(&pool->idle_list);
 
-                       init_timer_deferrable(&pool->idle_timer);
-                       pool->idle_timer.function = idle_worker_timeout;
-                       pool->idle_timer.data = (unsigned long)pool;
-
+                       setup_timer_deferrable(&pool->idle_timer,
+                                   idle_worker_timeout, (unsigned long)pool);
                        setup_timer(&pool->mayday_timer, gcwq_mayday_timeout,
                                    (unsigned long)pool);
 
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
index 186d991..c8985c1 100644
--- a/net/mac80211/agg-rx.c
+++ b/net/mac80211/agg-rx.c
@@ -294,14 +294,14 @@ void ieee80211_process_addba_request(struct 
ieee80211_local *local,
        spin_lock_init(&tid_agg_rx->reorder_lock);
 
        /* rx timer */
-       tid_agg_rx->session_timer.function = sta_rx_agg_session_timer_expired;
-       tid_agg_rx->session_timer.data = (unsigned long)&sta->timer_to_tid[tid];
-       init_timer_deferrable(&tid_agg_rx->session_timer);
+       setup_timer_deferrable(&tid_agg_rx->session_timer,
+                               sta_rx_agg_session_timer_expired,
+                               (unsigned long)&sta->timer_to_tid[tid]);
 
        /* rx reorder timer */
-       tid_agg_rx->reorder_timer.function = sta_rx_agg_reorder_timer_expired;
-       tid_agg_rx->reorder_timer.data = (unsigned long)&sta->timer_to_tid[tid];
-       init_timer(&tid_agg_rx->reorder_timer);
+       setup_timer(&tid_agg_rx->reorder_timer,
+                               sta_rx_agg_reorder_timer_expired,
+                               (unsigned long)&sta->timer_to_tid[tid]);
 
        /* prepare reordering buffer */
        tid_agg_rx->reorder_buf =
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
index 3195a63..cacd75d 100644
--- a/net/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
@@ -535,14 +535,14 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta 
*pubsta, u16 tid,
        tid_tx->timeout = timeout;
 
        /* response timer */
-       tid_tx->addba_resp_timer.function = sta_addba_resp_timer_expired;
-       tid_tx->addba_resp_timer.data = (unsigned long)&sta->timer_to_tid[tid];
-       init_timer(&tid_tx->addba_resp_timer);
+       setup_timer(&tid_tx->addba_resp_timer,
+                               sta_addba_resp_timer_expired,
+                               (unsigned long)&sta->timer_to_tid[tid]);
 
        /* tx timer */
-       tid_tx->session_timer.function = sta_tx_agg_session_timer_expired;
-       tid_tx->session_timer.data = (unsigned long)&sta->timer_to_tid[tid];
-       init_timer_deferrable(&tid_tx->session_timer);
+       setup_timer_deferrable(&tid_tx->session_timer,
+                               sta_tx_agg_session_timer_expired,
+                               (unsigned long)&sta->timer_to_tid[tid]);
 
        /* assign a dialog token */
        sta->ampdu_mlme.dialog_token_allocator++;
diff --git a/net/sched/cls_flow.c b/net/sched/cls_flow.c
index ce82d0c..ff1afc5 100644
--- a/net/sched/cls_flow.c
+++ b/net/sched/cls_flow.c
@@ -457,9 +457,8 @@ static int flow_change(struct sk_buff *in_skb,
                f->mask   = ~0U;
 
                get_random_bytes(&f->hashrnd, 4);
-               f->perturb_timer.function = flow_perturbation;
-               f->perturb_timer.data = (unsigned long)f;
-               init_timer_deferrable(&f->perturb_timer);
+               setup_timer_deferrable(&f->perturb_timer, flow_perturbation,
+                                                       (unsigned long)f);
        }
 
        tcf_exts_change(tp, &f->exts, &e);
diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c
index d3a1bc2..93ff569 100644
--- a/net/sched/sch_sfq.c
+++ b/net/sched/sch_sfq.c
@@ -739,9 +739,8 @@ static int sfq_init(struct Qdisc *sch, struct nlattr *opt)
        struct sfq_sched_data *q = qdisc_priv(sch);
        int i;
 
-       q->perturb_timer.function = sfq_perturbation;
-       q->perturb_timer.data = (unsigned long)sch;
-       init_timer_deferrable(&q->perturb_timer);
+       setup_timer_deferrable(&q->perturb_timer, sfq_perturbation,
+                                               (unsigned long)sch);
 
        for (i = 0; i < SFQ_MAX_DEPTH + 1; i++) {
                q->dep[i].next = i + SFQ_MAX_FLOWS;
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to