From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751924AbdJFIfF (ORCPT ); Fri, 6 Oct 2017 04:35:05 -0400 Received: from mga02.intel.com ([134.134.136.20]:29665 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750863AbdJFIfE (ORCPT ); Fri, 6 Oct 2017 04:35:04 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,482,1500966000"; d="scan'208";a="907350810" From: Jani Nikula To: Kees Cook , Joonas Lahtinen Cc: LKML , Daniel Vetter , David Airlie , Chris Wilson , Tvrtko Ursulin , Oscar Mateo , intel-gfx@lists.freedesktop.org, Maling list - DRI developers , Thomas Gleixner Subject: Re: [PATCH] drm/i915: Convert timers to use timer_setup() In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20171005005407.GA23894@beast> <1507211119.3851.3.camel@linux.intel.com> Date: Fri, 06 Oct 2017 11:34:31 +0300 Message-ID: <87h8vc4qug.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 05 Oct 2017, Kees Cook wrote: > On Thu, Oct 5, 2017 at 6:45 AM, Joonas Lahtinen > wrote: >> On Wed, 2017-10-04 at 17:54 -0700, Kees Cook wrote: >>> 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 >> >> >> >>> @@ -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); >> >> The order is bit strange to me, it's not same as with container_of, but >> I guess GCC will complain for getting it wrong. It's also slightly >> different doing the typeof for you, so I guess it makes sense, so: > > Yeah, this seemed to be the least bad of several options. Other things > ended up being either very long, named unlike anything else already in > the kernel, etc. > >> Reviewed-by: Joonas Lahtinen > > Thanks! > >> Do you expect for us to merge or are you looking to merge all timer >> changes from single tree? > > If you have -rc3 in your tree already, please take this into your > tree. If you prefer the timer tree to carry it, that can happen too. > tglx suggested to me that it was better for maintainers to carry the > changes. We'll pick this when we have -rc3. Thanks, Jani. -- Jani Nikula, Intel Open Source Technology Center