From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752564AbbDBI3b (ORCPT ); Thu, 2 Apr 2015 04:29:31 -0400 Received: from casper.infradead.org ([85.118.1.10]:34001 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750771AbbDBI32 (ORCPT ); Thu, 2 Apr 2015 04:29:28 -0400 Date: Thu, 2 Apr 2015 10:29:17 +0200 From: Peter Zijlstra To: "Rafael J. Wysocki" Cc: Tyler Baker , Thomas Gleixner , rafael.j.wysocki@intel.com, John Stultz , "linux-kernel@vger.kernel.org" , linux-arm-kernel , Kevin Hilman Subject: Re: Build regression in next-20150331 Message-ID: <20150402082917.GS23123@twins.programming.kicks-ass.net> References: <2720045.6sPXjyyvfF@vostro.rjw.lan> <2863807.lxHPvZ2AsE@vostro.rjw.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2863807.lxHPvZ2AsE@vostro.rjw.lan> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 01, 2015 at 11:46:10PM +0200, Rafael J. Wysocki wrote: > > > --- > > > kernel/time/tick-internal.h | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > Index: linux-pm/kernel/time/tick-internal.h > > > =================================================================== > > > --- linux-pm.orig/kernel/time/tick-internal.h > > > +++ linux-pm/kernel/time/tick-internal.h > > > @@ -110,7 +110,9 @@ static inline int tick_broadcast_update_ > > > /* Set the periodic handler in non broadcast mode */ > > > static inline void tick_set_periodic_handler(struct clock_event_device *dev, int broadcast) > > > { > > > +#ifdef CONFIG_GENERIC_CLOCKEVENTS > > > dev->event_handler = tick_handle_periodic; > > > +#endif > > > } > > > #endif /* !BROADCAST */ > Peter, do you think the above is acceptable or do I need to do anything more > sophisticated to fix this? [The alternative would be probably to prepare an > empty definition of tick_handle_periodic() for CONFIG_GENERIC_CLOCKEVENTS and > move the definition of struct clock_event_device from under that Kconfig > option.] Does not something like the below make more sense? The entire broadcast thing doesn't make sense if we don't have generic_clockevents. Should we wrap more in generic_clockevents there? --- kernel/time/tick-internal.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/time/tick-internal.h b/kernel/time/tick-internal.h index 2a1563a..5569e65 100644 --- a/kernel/time/tick-internal.h +++ b/kernel/time/tick-internal.h @@ -81,6 +81,7 @@ static inline int tick_check_oneshot_change(int allow_nohz) { return 0; } #endif /* !TICK_ONESHOT */ /* Broadcasting support */ +#ifdef CONFIG_GENERIC_CLOCKEVENTS #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST extern int tick_device_uses_broadcast(struct clock_event_device *dev, int cpu); extern void tick_install_broadcast_device(struct clock_event_device *dev); @@ -114,6 +115,7 @@ static inline void tick_set_periodic_handler(struct clock_event_device *dev, int dev->event_handler = tick_handle_periodic; } #endif /* !BROADCAST */ +#endif /* GENERIC */ /* Functions related to oneshot broadcasting */ #if defined(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST) && defined(CONFIG_TICK_ONESHOT)