From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752922AbdJEAyM (ORCPT ); Wed, 4 Oct 2017 20:54:12 -0400 Received: from mail-pg0-f48.google.com ([74.125.83.48]:57306 "EHLO mail-pg0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753141AbdJEAyJ (ORCPT ); Wed, 4 Oct 2017 20:54:09 -0400 X-Google-Smtp-Source: AOwi7QDKmlafsQVJCgKcCE6YWYSMcgdpwKcXglpDKFlOijJskNIGYl+TqTzlhXrzEmq/P3Yj7R543g== Date: Wed, 4 Oct 2017 17:54:07 -0700 From: Kees Cook To: linux-kernel@vger.kernel.org Cc: Daniel Vetter , Jani Nikula , David Airlie , Chris Wilson , Joonas Lahtinen , Tvrtko Ursulin , Oscar Mateo , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Thomas Gleixner Subject: [PATCH] drm/i915: Convert timers to use timer_setup() Message-ID: <20171005005407.GA23894@beast> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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: Daniel Vetter Cc: Jani Nikula Cc: David Airlie Cc: Chris Wilson Cc: Joonas Lahtinen Cc: Tvrtko Ursulin Cc: Oscar Mateo Cc: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Cc: Thomas Gleixner Signed-off-by: Kees Cook --- This requires commit 686fef928bba ("timer: Prepare to change timer callback argument type") in v4.14-rc3, but should be otherwise stand-alone. --- drivers/gpu/drm/i915/selftests/mock_engine.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/selftests/mock_engine.c b/drivers/gpu/drm/i915/selftests/mock_engine.c index fc0fd7498689..331c2b09869e 100644 --- a/drivers/gpu/drm/i915/selftests/mock_engine.c +++ b/drivers/gpu/drm/i915/selftests/mock_engine.c @@ -32,9 +32,9 @@ static struct mock_request *first_request(struct mock_engine *engine) link); } -static void hw_delay_complete(unsigned long data) +static void hw_delay_complete(struct timer_list *t) { - struct mock_engine *engine = (typeof(engine))data; + struct mock_engine *engine = from_timer(engine, t, hw_delay); struct mock_request *request; spin_lock(&engine->hw_lock); @@ -161,9 +161,7 @@ struct intel_engine_cs *mock_engine(struct drm_i915_private *i915, /* fake hw queue */ spin_lock_init(&engine->hw_lock); - setup_timer(&engine->hw_delay, - hw_delay_complete, - (unsigned long)engine); + timer_setup(&engine->hw_delay, hw_delay_complete, 0); INIT_LIST_HEAD(&engine->hw_queue); return &engine->base; -- 2.7.4 -- Kees Cook Pixel Security