From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754265AbbBTLiG (ORCPT ); Fri, 20 Feb 2015 06:38:06 -0500 Received: from casper.infradead.org ([85.118.1.10]:51228 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751805AbbBTLiD (ORCPT ); Fri, 20 Feb 2015 06:38:03 -0500 Date: Fri, 20 Feb 2015 12:37:53 +0100 From: Peter Zijlstra To: Ingo Molnar Cc: Viresh Kumar , Thomas Gleixner , Ingo Molnar , linaro-kernel@lists.linaro.org, Kevin Hilman , Preeti U Murthy , Daniel Lezcano , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Frederic Weisbecker , linaro-networking@linaro.org, Steven Miao , Mark Salter , Michal Simek , Ralf Baechle , Ley Foon Tan , Jonas Bonn , "David S. Miller" , Jeff Dike , Guan Xuetao Subject: Re: [PATCH] clockevents: Add (missing) default case for switch blocks Message-ID: <20150220113753.GP5029@twins.programming.kicks-ass.net> References: <6291e308ab77a480c6b1732e16108c5fe6f66afa.1424412815.git.viresh.kumar@linaro.org> <20150220083842.GA20387@gmail.com> <20150220084807.GJ21418@twins.programming.kicks-ass.net> <20150220093659.GA23469@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150220093659.GA23469@gmail.com> 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 Fri, Feb 20, 2015 at 10:36:59AM +0100, Ingo Molnar wrote: > > But it does mean we need to be able to add values to the > > enum. > > So I'm confused: if we are using proper callbacks (like my > example outlined) , why is a 'mode enum' needed at all? Ah, its because the enum is shared between two different use-cases. The one is the clockevent driver for the clock_event_device::set_mode() call, and one is the clockevent core call: clockevent_set_mode(). The previous patch changed the driver interface, but retained the sharing of the enum across both interfaces. Maybe we should break that enum into two; one for devices and one for the core interface and avoid the problem that way.