summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/vgem/vgem_fence.c
diff options
context:
space:
mode:
authorThomas Gleixner2017-11-23 16:29:05 +0100
committerThomas Gleixner2017-11-23 16:29:05 +0100
commit866c9b94ef968445c52214b3748ecc52a8491bca (patch)
tree1fd073acb9be8e89e77b35c41e2964ac6feabee6 /drivers/gpu/drm/vgem/vgem_fence.c
parenttimekeeping: Remove CONFIG_GENERIC_TIME_VSYSCALL_OLD (diff)
parenttreewide: Remove TIMER_FUNC_TYPE and TIMER_DATA_TYPE casts (diff)
downloadkernel-qcow2-linux-866c9b94ef968445c52214b3748ecc52a8491bca.tar.gz
kernel-qcow2-linux-866c9b94ef968445c52214b3748ecc52a8491bca.tar.xz
kernel-qcow2-linux-866c9b94ef968445c52214b3748ecc52a8491bca.zip
Merge tag 'for-linus-timers-conversion-final-v4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into timers/urgent
Pull the last batch of manual timer conversions from Kees Cook: - final batch of "non trivial" timer conversions (multi-tree dependencies, things Coccinelle couldn't handle, etc). - treewide conversions via Coccinelle, in 4 steps: - DEFINE_TIMER() functions converted to struct timer_list * argument - init_timer() -> setup_timer() - setup_timer() -> timer_setup() - setup_timer() -> timer_setup() (with a single embedded structure) - deprecated timer API removals (init_timer(), setup_*timer()) - finalization of new API (remove global casts)
Diffstat (limited to 'drivers/gpu/drm/vgem/vgem_fence.c')
-rw-r--r--drivers/gpu/drm/vgem/vgem_fence.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/vgem/vgem_fence.c b/drivers/gpu/drm/vgem/vgem_fence.c
index 8fd52f211e9d..b28876c222b4 100644
--- a/drivers/gpu/drm/vgem/vgem_fence.c
+++ b/drivers/gpu/drm/vgem/vgem_fence.c
@@ -85,9 +85,9 @@ static const struct dma_fence_ops vgem_fence_ops = {
.timeline_value_str = vgem_fence_timeline_value_str,
};
-static void vgem_fence_timeout(unsigned long data)
+static void vgem_fence_timeout(struct timer_list *t)
{
- struct vgem_fence *fence = (struct vgem_fence *)data;
+ struct vgem_fence *fence = from_timer(fence, t, timer);
dma_fence_signal(&fence->base);
}
@@ -105,7 +105,7 @@ static struct dma_fence *vgem_fence_create(struct vgem_file *vfile,
dma_fence_init(&fence->base, &vgem_fence_ops, &fence->lock,
dma_fence_context_alloc(1), 1);
- setup_timer(&fence->timer, vgem_fence_timeout, (unsigned long)fence);
+ timer_setup(&fence->timer, vgem_fence_timeout, 0);
/* We force the fence to expire within 10s to prevent driver hangs */
mod_timer(&fence->timer, jiffies + VGEM_FENCE_TIMEOUT);