Merge tag 'bcm2835-drivers-next-2017-12-19' into drivers/next
[linux-2.6-microblaze.git] / drivers / iommu / iova.c
index 466aaa8..83fe262 100644 (file)
@@ -36,7 +36,7 @@ static unsigned long iova_rcache_get(struct iova_domain *iovad,
 static void init_iova_rcaches(struct iova_domain *iovad);
 static void free_iova_rcaches(struct iova_domain *iovad);
 static void fq_destroy_all_entries(struct iova_domain *iovad);
-static void fq_flush_timeout(unsigned long data);
+static void fq_flush_timeout(struct timer_list *t);
 
 void
 init_iova_domain(struct iova_domain *iovad, unsigned long granule,
@@ -107,7 +107,7 @@ int init_iova_flush_queue(struct iova_domain *iovad,
                spin_lock_init(&fq->lock);
        }
 
-       setup_timer(&iovad->fq_timer, fq_flush_timeout, (unsigned long)iovad);
+       timer_setup(&iovad->fq_timer, fq_flush_timeout, 0);
        atomic_set(&iovad->fq_timer_on, 0);
 
        return 0;
@@ -519,9 +519,9 @@ static void fq_destroy_all_entries(struct iova_domain *iovad)
        }
 }
 
-static void fq_flush_timeout(unsigned long data)
+static void fq_flush_timeout(struct timer_list *t)
 {
-       struct iova_domain *iovad = (struct iova_domain *)data;
+       struct iova_domain *iovad = from_timer(iovad, t, fq_timer);
        int cpu;
 
        atomic_set(&iovad->fq_timer_on, 0);