login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2008
»
May
»
24
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for .c files
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From: Jeremy Fitzhardinge
Subject:
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for .c files
Date: Saturday, May 24, 2008 - 1:58 pm
Jeremy Fitzhardinge wrote:
quoted text
> Sam Ravnborg wrote: >> We have many places in the kernel that looks like >> the following: >> >> #ifdef CONFIG_FOO >> ... >> #endif >> >> Which has the disadvantage that the code denoted '...' >> are not even built if CONFIG_FOO is not selected in >> the current configuration. >> >> We know that gcc do simple code-elimination for >> conditionals which is always true/false and >> thus the above code could be turned into: >> >> if (CONFIG_FOO) >> ... >> >> One line smaller and we follow the normal flow in the program. >> The code is always build but we do not waste space as gcc will >> do proper code-elimination for us. >> >> Today this is not possible because kconfig will only >> define CONFIG_FOO if selected and FOO is not a module. >> >> The following patch implement a new set of defines in >> the KCONFIG_* namespace. >> >> For a tristate symbol the following are defined: >> >> FOO not selected: #define KCONFIG_FOO 0 >> #define KCONFIG_FOO_MODULE 0 >> >> FOO is built-in ('y') >> #define KCONFIG_FOO 1 >> #define KCONFIG_FOO_MODULE 0 >> >> FOO is a module ('m'): >> #define KCONFIG_FOO 1 >> #define KCONFIG_FOO_MODULE 1 >> >> In other words KCONFIG_FOO will say if the >> symbol is selected and KCONFIG_FOO_MODULE >> will say if it is a module. >> >> With the above included we can now do: >> >> if (KCONFIG_FOO) >> ... >> >> This is not a replacement for the CONFIG_* >> defines but a pleasant supplement. >> Using KCONFIG_FOO will also give us a nice >> error message the day that FOO is no longer part >> of the configuration. >> > > How about rather than defining a pile of new constants, we just define: > > #define KCONFIG(x) (x - 0) /* XXX choose better macro name */
Would #define KCONFIG(x) (CONFIG_##x - 0) if (KCONFIG(PREEMPT)) { ... } work? J --
unsubscribe notice
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
Messages in current thread:
[RFC PATCH] kconfig: introduce KCONFIG_* symbols for .c files
, Sam Ravnborg
, (Sat May 24, 12:25 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Andrew Morton
, (Sat May 24, 12:53 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Adrian Bunk
, (Sat May 24, 1:05 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Jeremy Fitzhardinge
, (Sat May 24, 1:14 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Linus Torvalds
, (Sat May 24, 1:20 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Sam Ravnborg
, (Sat May 24, 1:24 pm)
[PATCH] x86: use defconfig as last resort
, Sam Ravnborg
, (Sat May 24, 1:37 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Sam Ravnborg
, (Sat May 24, 1:44 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Sam Ravnborg
, (Sat May 24, 1:46 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Jeremy Fitzhardinge
, (Sat May 24, 1:48 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Andrew Morton
, (Sat May 24, 1:48 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Jeremy Fitzhardinge
, (Sat May 24, 1:56 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Adrian Bunk
, (Sat May 24, 1:57 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Jeremy Fitzhardinge
, (Sat May 24, 1:58 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Sam Ravnborg
, (Sat May 24, 2:00 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Adrian Bunk
, (Sat May 24, 2:03 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Sam Ravnborg
, (Sat May 24, 2:03 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Jeremy Fitzhardinge
, (Sat May 24, 2:13 pm)
Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for . ...
, Pavel Machek
, (Sat May 24, 2:26 pm)
Re: [PATCH] x86: use defconfig as last resort
, Linus Torvalds
, (Sat May 24, 6:30 pm)
Re: [PATCH] x86: use defconfig as last resort
, Sam Ravnborg
, (Sat May 24, 11:15 pm)
Re: [PATCH] x86: use defconfig as last resort
, Sam Ravnborg
, (Sat May 24, 11:22 pm)
Navigation
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Mel Gorman
Re: [PATCH 1/4] vmstat: remove zone->lock from walk_zones_in_node
Guenter Roeck
Re: [lm-sensors] Location for thermal drivers
David Woodhouse
Re: RFC: Moving firmware blobs out of the kernel.
Siddha, Suresh B
Re: [PATCH 2.6.21 review I] [11/25] x86: default to physical mode on hotplug CPU k...
Peter Zijlstra
Re: [patch 4/6] mm: merge populate and nopage into fault (fixes nonlinear)
git-commits-head
:
Linux Kernel Mailing List
[MIPS] Fix potential latency problem due to non-atomic cpu_wait.
Linux Kernel Mailing List
USB: rename USB_SPEED_VARIABLE to USB_SPEED_WIRELESS
Linux Kernel Mailing List
lib/vsprintf.c: fix bug omitting minus sign of numbers (module_param)
Linux Kernel Mailing List
[Bluetooth] Initiate authentication during connection establishment
Linux Kernel Mailing List
[POWERPC] 4xx: Add ppc40x_defconfig
linux-netdev
:
MERCEDES
Your mail id has won 950,000.00 in the MERCEDES Benz Online Promo.for claims send:
David Miller
Re: [PATCH] xen/netfront: do not mark packets of length < MSS as GSO
David Miller
Re: skb_segment() questions
Shan Wei
[RFC PATCH net-next 2/5]IPv6:netfilter: Send an ICMPv6 "Fragment Reassembly Timeou...
Stanislaw Gruszka
[PATCH 1/4] bnx2x: use smp_mb() to keep ordering of read write operations
git
:
Nicolas Sebrecht
git-svn died of signal 11 (was "3 failures on test t9100 (svn)")
Junio C Hamano
Re: [PATCH 2/2] Add url.<base>.pushInsteadOf: URL rewriting for push only
Martin Langhoff
Re: [PATCH] GIT commit statistics.
Alexandre Julliard
[PATCH] gitweb: Put back shortlog instead of graphiclog in the project list.
Josh Triplett
[PATCH 2/2] Add url.<base>.pushInsteadOf: URL rewriting for push only
openbsd-misc
:
Taisto Qvist XX
Re: AMD GEODE LX-800 just works with kernel from install42.iso and kernelpanics wi...
Nico Meijer
Re: gOS Develop Kit with VIA pc-1 Processor Platform VIA C7-D
Andreas Bihlmaier
Re: jetway board sensors (Fintek F71805F)
admin
Drive a 2009 car from R799p/m
Antti Harri
Re: how to create a sha256 hash
Colocation donated by:
Syndicate