]> git.ipfire.org Git - thirdparty/linux.git/blobdiff - net/ipv4/igmp.c
treewide: setup_timer() -> timer_setup()
[thirdparty/linux.git] / net / ipv4 / igmp.c
index ab183af0b5b6a8f9b7fd02b32b56d32487518f7a..d1f8f302dbf3ed5a079f27efa6eeaf802de40243 100644 (file)
@@ -752,18 +752,18 @@ static int igmp_send_report(struct in_device *in_dev, struct ip_mc_list *pmc,
        return ip_local_out(net, skb->sk, skb);
 }
 
-static void igmp_gq_timer_expire(unsigned long data)
+static void igmp_gq_timer_expire(struct timer_list *t)
 {
-       struct in_device *in_dev = (struct in_device *)data;
+       struct in_device *in_dev = from_timer(in_dev, t, mr_gq_timer);
 
        in_dev->mr_gq_running = 0;
        igmpv3_send_report(in_dev, NULL);
        in_dev_put(in_dev);
 }
 
-static void igmp_ifc_timer_expire(unsigned long data)
+static void igmp_ifc_timer_expire(struct timer_list *t)
 {
-       struct in_device *in_dev = (struct in_device *)data;
+       struct in_device *in_dev = from_timer(in_dev, t, mr_ifc_timer);
 
        igmpv3_send_cr(in_dev);
        if (in_dev->mr_ifc_count) {
@@ -784,9 +784,9 @@ static void igmp_ifc_event(struct in_device *in_dev)
 }
 
 
-static void igmp_timer_expire(unsigned long data)
+static void igmp_timer_expire(struct timer_list *t)
 {
-       struct ip_mc_list *im = (struct ip_mc_list *)data;
+       struct ip_mc_list *im = from_timer(im, t, timer);
        struct in_device *in_dev = im->interface;
 
        spin_lock(&im->lock);
@@ -1385,7 +1385,7 @@ void ip_mc_inc_group(struct in_device *in_dev, __be32 addr)
        refcount_set(&im->refcnt, 1);
        spin_lock_init(&im->lock);
 #ifdef CONFIG_IP_MULTICAST
-       setup_timer(&im->timer, igmp_timer_expire, (unsigned long)im);
+       timer_setup(&im->timer, igmp_timer_expire, 0);
        im->unsolicit_count = net->ipv4.sysctl_igmp_qrv;
 #endif
 
@@ -1695,10 +1695,8 @@ void ip_mc_init_dev(struct in_device *in_dev)
        ASSERT_RTNL();
 
 #ifdef CONFIG_IP_MULTICAST
-       setup_timer(&in_dev->mr_gq_timer, igmp_gq_timer_expire,
-                       (unsigned long)in_dev);
-       setup_timer(&in_dev->mr_ifc_timer, igmp_ifc_timer_expire,
-                       (unsigned long)in_dev);
+       timer_setup(&in_dev->mr_gq_timer, igmp_gq_timer_expire, 0);
+       timer_setup(&in_dev->mr_ifc_timer, igmp_ifc_timer_expire, 0);
        in_dev->mr_qrv = net->ipv4.sysctl_igmp_qrv;
 #endif