From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755226AbYERSOE (ORCPT ); Sun, 18 May 2008 14:14:04 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753225AbYERSNy (ORCPT ); Sun, 18 May 2008 14:13:54 -0400 Received: from one.firstfloor.org ([213.235.205.2]:33383 "EHLO one.firstfloor.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753220AbYERSNx (ORCPT ); Sun, 18 May 2008 14:13:53 -0400 Message-ID: <483071DE.6010404@firstfloor.org> Date: Sun, 18 May 2008 20:13:50 +0200 From: Andi Kleen User-Agent: Thunderbird 1.5.0.12 (X11/20060911) MIME-Version: 1.0 To: Adrian Bunk CC: Jeremy Fitzhardinge , Thomas Gleixner , "Maciej W. Rozycki" , Tom Spink , Cyrill Gorcunov , Ingo Molnar , "H. Peter Anvin" , LKML , Jiri Slaby , Sam Ravnborg Subject: Re: [RFC] x86: merge nmi_32-64 to nmi.c References: <20080517192200.GA6914@cvg> <7b9198260805171328u555eec17t3597f3378edbda88@mail.gmail.com> <482FD9F2.8080204@goop.org> <20080518180811.GI8140@cs181133002.pp.htv.fi> In-Reply-To: <20080518180811.GI8140@cs181133002.pp.htv.fi> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Adrian Bunk wrote: > On Sun, May 18, 2008 at 08:25:38AM +0100, Jeremy Fitzhardinge wrote: >> Thomas Gleixner wrote: >>> Definitely, but we should do it at the Kconfig level which allows us >>> to have integer defines as well, so we end up with something like: >>> >>> static inline unsigned int get_nmi_count(int cpu) >>> { >>> return CONFIG_X86_64 ? cpu_pda(cpu)->__nmi_count : nmi_count(cpu); >>> } >>> >> Unfortunately that doesn't work because when CONFIG_X86_64 isn't defined >> it doesn't expand to 0. It would be nice if CONFIG_* expanded to 0/1, >> but we'd need to change all the #ifdef CONFIG_* to #if CONFIG_*... > > Even more important: > How do you want to handle kconfig variables set to "m"? > > Expand them to 0.5 ? ;-) The whole idea was pretty bad. Ifdefs are not ugly because the syntax looks ugly, but because it's a semantically ugly construct with bad maintainability impact. Trying to put syntactical sugar around that is a doomed exercise. It will be still ugly, no matter what you do. -Andi