drm: gma500: Convert timers to use timer_setup()
authorKees Cook <keescook@chromium.org>
Fri, 20 Oct 2017 00:02:56 +0000 (17:02 -0700)
committerKees Cook <keescook@chromium.org>
Wed, 1 Nov 2017 18:44:52 +0000 (11:44 -0700)
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Cc: David Airlie <airlied@linux.ie>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/gma500/psb_lid.c

index 1d2ebb5..be6dda5 100644 (file)
@@ -23,9 +23,9 @@
 #include "psb_intel_reg.h"
 #include <linux/spinlock.h>
 
-static void psb_lid_timer_func(unsigned long data)
+static void psb_lid_timer_func(struct timer_list *t)
 {
-       struct drm_psb_private * dev_priv = (struct drm_psb_private *)data;
+       struct drm_psb_private *dev_priv = from_timer(dev_priv, t, lid_timer);
        struct drm_device *dev = (struct drm_device *)dev_priv->dev;
        struct timer_list *lid_timer = &dev_priv->lid_timer;
        unsigned long irq_flags;
@@ -77,10 +77,8 @@ void psb_lid_timer_init(struct drm_psb_private *dev_priv)
        spin_lock_init(&dev_priv->lid_lock);
        spin_lock_irqsave(&dev_priv->lid_lock, irq_flags);
 
-       init_timer(lid_timer);
+       timer_setup(lid_timer, psb_lid_timer_func, 0);
 
-       lid_timer->data = (unsigned long)dev_priv;
-       lid_timer->function = psb_lid_timer_func;
        lid_timer->expires = jiffies + PSB_LID_DELAY;
 
        add_timer(lid_timer);