Linus:
On the per-architecture side, I do think it would be better to *not* have
internal architecture knowledge in a generic file, and as such a line like
        depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
really shouldn't exist in a file like kernel/Kconfig.instrumentation.
It would be much better to do
        depends on ARCH_SUPPORTS_KPROBES
in that generic file, and then architectures that do support it would just
have a
        bool ARCH_SUPPORTS_KPROBES
                default y
in *their* architecture files. That would seem to be much more logical,
and is readable both for arch maintainers *and* for people who have no
clue - and don't care - about which architecture is supposed to support
which interface...
Changelog:
Actually, I know I gave this as the magic incantation, but now that I see
it, I realize that I should have told you to just use
        config KPROBES_SUPPORT
                def_bool y
instead, which is a bit denser.
We seem to use both kinds of syntax for these things, but this is really
what "def_bool" is there for...
- Use HAVE_KPROBES
- Use a select
- Yet another update :
Moving to HAVE_* now.
- Update ARM for kprobes support.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
        select RTC_LIB
        select SYS_SUPPORTS_APM_EMULATION
        select HAVE_OPROFILE
+       select HAVE_KPROBES if (!XIP_KERNEL)
        help
          The ARM series is a line of low-power-consumption RISC chip designs
          licensed by ARM Ltd and targeted at embedded applications and
 
        # that we usually don't need on AVR32.
        select EMBEDDED
        select HAVE_OPROFILE
+       select HAVE_KPROBES
        help
          AVR32 is a high-performance 32-bit RISC microprocessor core,
          designed for cost-sensitive embedded applications, with particular
 
        select PM if (!IA64_HP_SIM)
        select ARCH_SUPPORTS_MSI
        select HAVE_OPROFILE
+       select HAVE_KPROBES
        default y
        help
          The Itanium Processor Family is Intel's 64-bit successor to
 
        bool
        default y
        select HAVE_OPROFILE
+       select HAVE_KPROBES
 
 config EARLY_PRINTK
        bool
 
        bool
        default y
        select HAVE_OPROFILE
+       select HAVE_KPROBES
 
 config PPC32
        bool
 
 config S390
        def_bool y
        select HAVE_OPROFILE
+       select HAVE_KPROBES
 
 source "init/Kconfig"
 
 
        bool
        default y
        select HAVE_OPROFILE
+       select HAVE_KPROBES
 
 config SPARC64
        bool
 
 config X86
        def_bool y
        select HAVE_OPROFILE
+       select HAVE_KPROBES
 
 config GENERIC_LOCKBREAK
        def_bool n
 
 config KPROBES
        bool "Kprobes"
        depends on KALLSYMS && MODULES && !UML
-       depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 || (ARM && !XIP_KERNEL)
+       depends on HAVE_KPROBES
        help
          Kprobes allows you to trap at almost any kernel address and
          execute a callback function.  register_kprobe() establishes
          for kernel debugging, non-intrusive instrumentation and testing.
          If in doubt, say "N".
 
+config HAVE_KPROBES
+       def_bool n
+
 config MARKERS
        bool "Activate markers"
        help