1. 02 Feb, 2010 11 commits
    • Don Zickus's avatar
      scripts: change scripts to use system python instead of env · 94a47083
      Don Zickus authored
      Just a small change to a couple of scripts to go from
      
       #!/usr/bin/env python
      
      to
      
       #!/usr/bin/python
      
      This shouldn't effect anyone, unless they don't install python there.
      
      In preparation for python3, Fedora is doing a big push to change the scripts
      to use the system python.  This allows developers to put the python3 in
      their path without fear of breaking existing scripts.
      
      Now I am pretty sure anyone using python3 for testing purposes will probably
      not run any of the scripts I changed, but Fedora has this automated tool
      that checks for this stuff so I thought I would try to push it upstream.
      Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
      Acked-by: default avatarWANG Cong <xiyou.wangcong@gmail.com>
      Acked-by: default avatarJarod Wilson <jarod@redhat.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      94a47083
    • Himanshu Chauhan's avatar
      scripts/kallsyms: suppress build warning · 71d41aed
      Himanshu Chauhan authored
      Suppress a warn_unused_result warning.
      
      fgets is called as a part of error handling.  It is called just to drop a
      line and return immediately.  read_map is reading the file in a loop and
      read_symbol reads line by line.  So I think there is no point in using
      return value for useful checking.  Other checks like 3 items were returned
      or !EOF have already been done.
      Signed-off-by: default avatarHimanshu Chauhan <hschauhan@nulltrace.org>
      Cc: WANG Cong <xiyou.wangcong@gmail.com>
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      71d41aed
    • Michal Marek's avatar
      scripts/mkcompile_h: don't test for hardcoded paths · d4987bd7
      Michal Marek authored
      Don't test for /bin/{dnsdomainname,domainname}, simply try to execute
      the command and check if it returned something.
      Reported-by: default avatarGlenn Sommer <glemsom@gmail.com>
      Acked-by: default avatarWANG Cong <xiyou.wangcong@gmail.com>
      Tested-by: default avatarGlenn Sommer <glemsom@gmail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      d4987bd7
    • Andi Kleen's avatar
      Improve kconfig symbol hashing · e66f25d7
      Andi Kleen authored
      While looking for something else I noticed that the symbol
      hash function used by kconfig is quite poor. It doesn't
      use any of the standard hash techniques but simply
      adds up the string and then uses power of two masking,
      which is both known to perform poorly.
      
      The current x86 kconfig has over 7000 symbols.
      
      When I instrumented it showed that the minimum hash chain
      length was 16 and a significant number of them was over
      30.
      
      It didn't help that the hash table size was only 256 buckets.
      
      This patch increases the hash table size to a larger prime
      and switches to a FNV32 hash. I played around with a couple of hash
      functions, but that one seemed to perform best with reasonable
      hash table sizes.
      
      Increasing the hash table size even further didn't
      seem like a good idea, because there are a couple of global
      walks which walk the complete hash table.
      
      I also moved the unnamed bucket to 0. It's still the longest
      of all the buckets (44 entries), but hopefully it's not
      often hit except for the global walk which doesn't care.
      
      The result is a much nicer distribution:
      (first column bucket length, second number of buckets with that length)
      
      1: 3505
      2: 1236
      3: 294
      4: 52
      5: 3
      47: 1		<--- this is the unnamed symbols bucket
      
      There are still some 5+ buckets, but increasing the hash table
      even more would be likely not worth it.
      
      This also cleans up the code slightly by removing hard coded
      magic numbers.
      
      I didn't notice a big performance difference either way
      on my Nehalem system, but I presume it'll help somewhat
      on slower systems.
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      e66f25d7
    • Nir Tzachar's avatar
      nconfig: minor fix · 68c16edd
      Nir Tzachar authored
      This patch fixes two problems reported by Jan Engelhardt:
      1) Border is now properly placed, to always be visible
      2) Long menu items are properly displayed
      Reported-by: default avatarJan Engelhardt <jengelh@medozas.de>
      Signed-off-by: default avatarNir Tzachar <nir.tzachar@gmail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      68c16edd
    • Michal Marek's avatar
      nconfig: mark local functions as such · 851190c9
      Michal Marek authored
      scripts/kconfig/nconf.gui.c:23: warning: no previous prototype for 'set_normal_colors'
      scripts/kconfig/nconf.gui.c:68: warning: no previous prototype for 'normal_color_theme'
      scripts/kconfig/nconf.gui.c:100: warning: no previous prototype for 'no_colors_theme'
      scripts/kconfig/nconf.c:455: warning: no previous prototype for 'process_special_keys'
      scripts/kconfig/nconf.c:487: warning: no previous prototype for 'get_next_hot'
      scripts/kconfig/nconf.c:506: warning: no previous prototype for 'canbhot'
      scripts/kconfig/nconf.c:514: warning: no previous prototype for 'is_hot'
      scripts/kconfig/nconf.c:522: warning: no previous prototype for 'make_hot'
      scripts/kconfig/nconf.c:582: warning: no previous prototype for 'item_make'
      scripts/kconfig/nconf.c:626: warning: no previous prototype for 'item_add_str'
      scripts/kconfig/nconf.c:656: warning: no previous prototype for 'item_tag'
      scripts/kconfig/nconf.c:668: warning: no previous prototype for 'curses_item_index'
      scripts/kconfig/nconf.c:673: warning: no previous prototype for 'item_data'
      scripts/kconfig/nconf.c:684: warning: no previous prototype for 'item_is_tag'
      scripts/kconfig/nconf.c:691: warning: no previous prototype for 'set_config_filename'
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      851190c9
    • nir.tzachar@gmail.com's avatar
      kconfig: new configuration interface (nconfig) · 692d97c3
      nir.tzachar@gmail.com authored
      This patch was inspired by the kernel projects page, where an ncurses
      replacement for menuconfig was mentioned (by Sam Ravnborg).
      
      Building on menuconfig, this patch implements a more modern look
      interface using ncurses and ncurses' satellite libraries (menu, panel,
      form). The implementation does not depend on lxdialog, which is
      currently distributed with the kernel.
      Signed-off-by: default avatarNir Tzachar <nir.tzachar@gmail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      692d97c3
    • Alexander Beregalov's avatar
      genksyms: close ref_file after use · c64152bf
      Alexander Beregalov authored
      It is the last place when the file is read, so close it.
      Signed-off-by: default avatarAlexander Beregalov <a.beregalov@gmail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      c64152bf
    • Vadim Bendebury (вб)'s avatar
      menuconfig: wrap long help lines · da60fbbc
      Vadim Bendebury (вб) authored
      Help text for certain config options is very extensive (the text
      includes the names of all  other options the option in question depends
      on). Long lines are not wrapped, making it impossible to see the list
      without scrolling horizontally.
      
      This patch adds some logic which wraps help screen lines at word
      boundaries to prevent truncating.
      
      Tested by running
      
        ARCH=powerpc make menuconfig O=/tmp/build
      
      which shows that the long lines are now wrapped, and
      
       ARCH=powerpc make xconfig O=/tmp/build
      
      to demonstrate that it still compiles and operates as expected.
      Signed-off-by: default avatarVadim Bendebury <vbendeb@google.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      da60fbbc
    • Rabin Vincent's avatar
      scripts: add ARM support to decodecode · 5358db0b
      Rabin Vincent authored
      This patch adds support for decoding ARM oopses to scripts/decodecode.
      The following things are handled:
      
       - ARCH and CROSS_COMPILE environment variables are respected.
      
       - The Code: in x86 oopses is in bytes, while it is in either words (4
         bytes) or halfwords for ARM.
      
       - Some versions of ARM objdump refuse to disassemble instructions
         generated by literal constants (".word 0x...").  The workaround is to
         strip the object file first.
      
       - The faulting instruction is marked (liked so) in ARM, but <like so>
         in x86.
      
       - ARM mnemonics may include characters such as [] which need to be
         escaped before being passed to sed for the "<- trapping instruction"
         substitution.
      Signed-off-by: default avatarRabin Vincent <rabin@rab.in>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      5358db0b
    • Jiafu He's avatar
      kbuild: Fix linking error built-in.o no such file or directory · 4b024242
      Jiafu He authored
      This patch fixes the link error "built-in.o: no such file or directory".
      The problem happens if "dirx/Makefile" contains only "obj-m += diry/
      dirz/" and the empty "dirx/built-in.o" is missing. Adding $(subdir-m)
      into check for builtin-target fixes this error.
      Signed-off-by: default avatarJiafu He <jay@goldhive.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      4b024242
  2. 17 Jan, 2010 1 commit
    • Mike Frysinger's avatar
      modpost: fix segfault in sym_is() with prefixed arches · 3a5dd791
      Mike Frysinger authored
      The sym_is() compares a symbol in an attempt to automatically skip symbol
      prefixes.  It does this first by searching the real symbol with the normal
      unprefixed symbol.  But then it uses the length of the original symbol to
      check the end of the substring instead of the length of the symbol it is
      looking for.  On non-prefixed arches, this is effectively the same thing,
      so there is no problem.  On prefixed-arches, since this is exceeds by just
      one byte, a crash is rare and it is usually a NUL byte anyways.  But every
      once in a blue moon, you get the right page alignment and it segfaults.
      
      For example, on the Blackfin arch, sym_is() will be called with the real
      symbol "___mod_usb_device_table" as "symbol" when looking for the normal
      symbol "__mod_usb_device_table" as "name".  The substring will thus return
      one byte into "symbol" and store it into "match".  But then "match" will
      be indexed with the length of "symbol" instead of "name" and so we will
      exceed the storage.  i.e. the code ends up doing:
      	char foo[] = "abc"; return foo[strlen(foo)+1] == '\0';
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3a5dd791
  3. 16 Jan, 2010 1 commit
  4. 13 Jan, 2010 1 commit
    • Jonathan Nieder's avatar
      kbuild: really fix bzImage build with non-bash sh · 1373411a
      Jonathan Nieder authored
      In an x86 build with CONFIG_KERNEL_LZMA enabled and dash as sh,
      arch/x86/boot/compressed/vmlinux.bin.lzma ends with
      '\xf0\x7d\x39\x00' (16 bytes) instead of the 4 bytes intended and
      the resulting vmlinuz fails to boot.  This improves on the
      previous behavior, in which the file contained the characters
      '-ne ' as well, but not by much.
      
      Previous commits replaced "echo -ne" first with "/bin/echo -ne",
      then "printf" in the hope of improving portability, but none of
      these commands is guaranteed to support hexadecimal escapes on
      POSIX systems.  So use the shell to convert from hexadecimal to
      octal.
      
      With this change, an LZMA-compressed kernel built with dash as sh
      boots correctly again.
      Reported-by: default avatarSebastian Dalfuß <sd@sedf.de>
      Reported-by: default avatarOliver Hartkopp <oliver@hartkopp.net>
      Reported-by: default avatarMichael Guntsche <mike@it-loops.com>
      Signed-off-by: default avatarJonathan Nieder <jrnieder@gmail.com>
      Cc: Michael Tokarev <mjt@tls.msk.ru>
      Cc: Alek Du <alek.du@intel.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      1373411a
  5. 12 Jan, 2010 1 commit
  6. 11 Jan, 2010 3 commits
    • Jan Kiszka's avatar
      tracing/x86: Derive arch from bits argument in recordmcount.pl · b82a4045
      Jan Kiszka authored
      Let the arch argument be overruled by bits. Otherwise, building of
      external modules against a i386 target on a x86-64 host (and likely vice
      versa as well) fails unless ARCH=i386 is explicitly passed to make.
      Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
      LKML-Reference: <4B4AFE10.8050109@siemens.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      b82a4045
    • Joe Perches's avatar
      scripts/get_maintainer.pl: fix file exclusion X: logic · 272a8979
      Joe Perches authored
      The following command doesn't generate any output.
      `./scripts/get_maintainer.pl --no-git -f drivers/net/wireless/wl12xx/wl1271_acx.c`
      
      An excluded "X:" pattern match in any section would cause a file not to
      match any other section.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Reported-by: default avatarDan Carpenter <error27@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      272a8979
    • Albin Tonnerre's avatar
      lib: add support for LZO-compressed kernels · 7dd65feb
      Albin Tonnerre authored
      This patch series adds generic support for creating and extracting
      LZO-compressed kernel images, as well as support for using such images on
      the x86 and ARM architectures, and support for creating and using
      LZO-compressed initrd and initramfs images.
      
      Russell King said:
      
      : Testing on a Cortex A9 model:
      : - lzo decompressor is 65% of the time gzip takes to decompress a kernel
      : - lzo kernel is 9% larger than a gzip kernel
      :
      : which I'm happy to say confirms your figures when comparing the two.
      :
      : However, when comparing your new gzip code to the old gzip code:
      : - new is 99% of the size of the old code
      : - new takes 42% of the time to decompress than the old code
      :
      : What this means is that for a proper comparison, the results get even better:
      : - lzo is 7.5% larger than the old gzip'd kernel image
      : - lzo takes 28% of the time that the old gzip code took
      :
      : So the expense seems definitely worth the effort.  The only reason I
      : can think of ever using gzip would be if you needed the additional
      : compression (eg, because you have limited flash to store the image.)
      :
      : I would argue that the default for ARM should therefore be LZO.
      
      This patch:
      
      The lzo compressor is worse than gzip at compression, but faster at
      extraction.  Here are some figures for an ARM board I'm working on:
      
      Uncompressed size: 3.24Mo
      gzip  1.61Mo 0.72s
      lzo   1.75Mo 0.48s
      
      So for a compression ratio that is still relatively close to gzip, it's
      much faster to extract, at least in that case.
      
      This part contains:
       - Makefile routine to support lzo compression
       - Fixes to the existing lzo compressor so that it can be used in
         compressed kernels
       - wrapper around the existing lzo1x_decompress, as it only extracts one
         block at a time, while we need to extract a whole file here
       - config dialog for kernel compression
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: cleanup]
      Signed-off-by: default avatarAlbin Tonnerre <albin.tonnerre@free-electrons.com>
      Tested-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
      Acked-by: default avatar"H. Peter Anvin" <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Tested-by: default avatarRussell King <rmk@arm.linux.org.uk>
      Acked-by: default avatarRussell King <rmk@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7dd65feb
  7. 16 Dec, 2009 2 commits
    • Wu Zhangjin's avatar
      MIPS: Tracing: Add dynamic function tracer support · 538f1952
      Wu Zhangjin authored
      With dynamic function tracer, by default, _mcount is defined as an
      "empty" function, it returns directly without any more action . When
      enabling it in user-space, it will jump to a real tracing
      function(ftrace_caller), and do the real job for us.
      
      Differ from the static function tracer, dynamic function tracer provides
      two functions ftrace_make_call()/ftrace_make_nop() to enable/disable the
      tracing of some indicated kernel functions(set_ftrace_filter).
      
      In the -v4 version, the implementation of this support is basically the same as
      X86 version does: _mcount is implemented as an empty function and ftrace_caller
      is implemented as a real tracing function respectively.
      
      But in this version, to support module tracing with the help of
      -mlong-calls in arch/mips/Makefile:
      
      MODFLAGS += -mlong-calls.
      
      The stuff becomes a little more complex. We need to cope with two
      different type of calling to _mcount.
      
      For the kernel part, the calling to _mcount(result of "objdump -hdr
      vmlinux"). is like this:
      
      	108:   03e0082d        move    at,ra
      	10c:   0c000000        jal     0 <fpcsr_pending>
                              10c: R_MIPS_26  _mcount
                              10c: R_MIPS_NONE        *ABS*
                              10c: R_MIPS_NONE        *ABS*
      	110:   00020021        nop
      
      For the module with -mlong-calls, it looks like this:
      
      	c:	3c030000 	lui	v1,0x0
      			c: R_MIPS_HI16	_mcount
      			c: R_MIPS_NONE	*ABS*
      			c: R_MIPS_NONE	*ABS*
      	10:	64630000 	daddiu	v1,v1,0
      			10: R_MIPS_LO16	_mcount
      			10: R_MIPS_NONE	*ABS*
      			10: R_MIPS_NONE	*ABS*
      	14:	03e0082d 	move	at,ra
      	18:	0060f809 	jalr	v1
      
      In the kernel version, there is only one "_mcount" string for every
      kernel function, so, we just need to match this one in mcount_regex of
      scripts/recordmcount.pl, but in the module version, we need to choose
      one of the two to match. Herein, I choose the first one with
      "R_MIPS_HI16 _mcount".
      
      and In the kernel verion, without module tracing support, we just need
      to replace "jal _mcount" by "jal ftrace_caller" to do real tracing, and
      filter the tracing of some kernel functions via replacing it by a nop
      instruction.
      
      but as we have described before, the instruction "jal ftrace_caller" only left
      32bit length for the address of ftrace_caller, it will fail when calling from
      the module space. so, herein, we must replace something else.
      
      the basic idea is loading the address of ftrace_caller to v1 via changing these
      two instructions:
      
      	lui	v1,0x0
      	addiu	v1,v1,0
      
      If we want to enable the tracing, we need to replace the above instructions to:
      
      	lui	v1, HI_16BIT_ftrace_caller
      	addiu	v1, v1, LOW_16BIT_ftrace_caller
      
      If we want to stop the tracing of the indicated kernel functions, we
      just need to replace the "jalr v1" to a nop instruction. but we need to
      replace two instructions and encode the above two instructions
      oursevles.
      
      Is there a simpler solution? Yes! Here it is, in this version, we put _mcount
      and ftrace_caller together, which means the address of _mcount and
      ftrace_caller is the same:
      
      _mcount:
      ftrace_caller:
      	j	ftrace_stub
      	 nop
      
      	...(do real tracing here)...
      
      ftrace_stub:
      	jr	ra
      	 move	ra, at
      
      By default, the kernel functions call _mcount, and then jump to ftrace_stub and
      return. and when we want to do real tracing, we just need to remove that "j
      ftrace_stub", and it will run through the two "nop" instructions and then do
      the real tracing job.
      
      what about filtering job? we just need to do this:
      
      	 lui v1, hi_16bit_of_mcount        <--> b 1f (0x10000004)
      	 addiu v1, v1, low_16bit_of_mcount
      	 move at, ra
      	 jalr v1
      	 nop
      	 				     1f: (rec->ip + 12)
      
      In linux-mips64, there will be some local symbols, whose name are
      prefixed by $L, which need to be filtered. thanks goes to Steven for
      writing the mips64-specific function_regex.
      
      In a conclusion, with RISC, things becomes easier with such a "stupid"
      trick, RISC is something like K.I.S.S, and also, there are lots of
      "simple" tricks in the whole ftrace support, thanks goes to Steven and
      the other folks for providing such a wonderful tracing framework!
      Signed-off-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
      Cc: Nicholas Mc Guire <der.herr@hofr.at>
      Cc: zhangfx@lemote.com
      Cc: Wu Zhangjin <wuzhangjin@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/675/Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      538f1952
    • Wu Zhangjin's avatar
      MIPS: Tracing: Add an endian argument to scripts/recordmcount.pl · e6299d26
      Wu Zhangjin authored
      MIPS and some other architectures need this argument to handle
      big/little endian respectively.
      Signed-off-by: default avatarWu Zhangjin <wuzj@lemote.com>
      Cc: Nicholas Mc Guire <der.herr@hofr.at>
      Cc: zhangfx@lemote.com
      Cc: Wu Zhangjin <wuzhangjin@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/674/Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      e6299d26
  8. 15 Dec, 2009 3 commits
    • Joe Perches's avatar
      scripts/get_maintainer.pl: support multiple VCSs - add mercurial · 60db31ac
      Joe Perches authored
      Restructure a bit for multiple version control systems support.
      
      Use a hash for each supported VCS that contains the commands
      and patterns used to find commits, logs, and signers.
      
      --git command line options are still used for hg except for
      --git-since.  Use --hg-since instead.
      
      The number of commits can differ for git and hg, so --rolestats
      might be different.
      
      Style changes: Use common push style push(@foo...), simplify a return
      
      Bumped version to 0.23.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Marti Raudsepp <marti@juffo.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      60db31ac
    • Joe Perches's avatar
      scripts/get_maintainer.pl: fix --non with --git-blame and cleanups · a8af2430
      Joe Perches authored
      Fix email matching without name --n and --git-blame
         Using --non and --git-blame caused maintainer signature
         matching to fail.  Fixed that by adding 3rd argument to
         sub format_email to control show/hide name portion of address
      Slurp -f file instead of reading line-by-line for K: pattern matching.
         Suggested by Wolfram Sang as more efficient
      Refactor git command execution
         Break into 2 functions, execute/analyze
         Share code between --git and --git-blame
         Don't warn multiple times when git isn't installed
      Improve stats reporting
         --git-min-percent and -- rolestats now count the total number of commits
         for either the period of --git-since or if using --git-blame the commits
         used by the current file and calculate commit % as
            # of commits signed / total commits * 100
      Code style cleaning
         Use consistent sub foo { my (args...) = @_;
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Wolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a8af2430
    • Joe Perches's avatar
      scripts/get_maintainer.pl: add --roles and --rolestats · 3c7385b8
      Joe Perches authored
      --roles shows the role of each email address, i.e. why it was selected.
      --rolestats selects --roles and adds git log/blame signers #'s and %
      
      Multiple roles are possible (supporter, maintainer, git-signer...)
      
      --roles or --rolestats is meant to help identify appropriate maintainers
      to notify and should not be used with "git send-email --cc-cmd"
      
      Example output:
      
      Existing:
      
      $ ./scripts/get_maintainer.pl -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net>
      Karol Kozimor <sziwan@users.sourceforge.net>
      Len Brown <len.brown@intel.com>
      Pavel Machek <pavel@ucw.cz>
      Rafael J. Wysocki <rjw@sisk.pl>
      Thomas Gleixner <tglx@linutronix.de>
      Ingo Molnar <mingo@redhat.com>
      H. Peter Anvin <hpa@zytor.com>
      x86@kernel.org
      Yinghai Lu <yhlu.kernel@gmail.com>
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      acpi4asus-user@lists.sourceforge.net
      linux-pm@lists.linux-foundation.org
      linux-kernel@vger.kernel.org
      
      With --roles
      
      $ ./scripts/get_maintainer.pl --roles -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net> (maintainer:ASUS ACPI EXTRAS...)
      Karol Kozimor <sziwan@users.sourceforge.net> (maintainer:ASUS ACPI EXTRAS...)
      Len Brown <len.brown@intel.com> (supporter:SUSPEND TO RAM,git-signer)
      Pavel Machek <pavel@ucw.cz> (supporter:SUSPEND TO RAM)
      Rafael J. Wysocki <rjw@sisk.pl> (supporter:SUSPEND TO RAM)
      Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE...)
      Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE...,git-signer)
      H. Peter Anvin <hpa@zytor.com> (maintainer:X86 ARCHITECTURE...)
      x86@kernel.org (maintainer:X86 ARCHITECTURE...)
      Yinghai Lu <yhlu.kernel@gmail.com> (git-signer)
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> (git-signer)
      acpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)
      linux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)
      linux-kernel@vger.kernel.org (open list)
      
      With --rolestats
      
      $ ./scripts/get_maintainer.pl --rolestats -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net> (maintainer:ASUS ACPI EXTRAS...)
      Karol Kozimor <sziwan@users.sourceforge.net> (maintainer:ASUS ACPI EXTRAS...)
      Len Brown <len.brown@intel.com> (supporter:SUSPEND TO RAM,git-signer:16/79=20%)
      Pavel Machek <pavel@ucw.cz> (supporter:SUSPEND TO RAM)
      Rafael J. Wysocki <rjw@sisk.pl> (supporter:SUSPEND TO RAM)
      Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE...)
      Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE...,git-signer:29/79=37%)
      H. Peter Anvin <hpa@zytor.com> (maintainer:X86 ARCHITECTURE...)
      x86@kernel.org (maintainer:X86 ARCHITECTURE...)
      Yinghai Lu <yhlu.kernel@gmail.com> (git-signer:12/79=15%)
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> (git-signer:6/79=8%)
      acpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)
      linux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)
      linux-kernel@vger.kernel.org (open list)
      
      With --rolestats and --git-blame
      
      $ ./scripts/get_maintainer.pl --rolestats --git-blame -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net> (maintainer:ASUS ACPI EXTRAS...)
      Karol Kozimor <sziwan@users.sourceforge.net> (maintainer:ASUS ACPI EXTRAS...)
      Len Brown <len.brown@intel.com> (supporter:SUSPEND TO RAM,git-signer:16/79=20%,commits:22/154=14%)
      Pavel Machek <pavel@ucw.cz> (supporter:SUSPEND TO RAM)
      Rafael J. Wysocki <rjw@sisk.pl> (supporter:SUSPEND TO RAM)
      Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE...)
      Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE...,git-signer:29/79=37%,commits:36/154=23%)
      H. Peter Anvin <hpa@zytor.com> (maintainer:X86 ARCHITECTURE...)
      x86@kernel.org (maintainer:X86 ARCHITECTURE...)
      Yinghai Lu <yhlu.kernel@gmail.com> (git-signer:12/79=15%,commits:9/154=6%)
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> (git-signer:6/79=8%)
      Andi Kleen <ak@suse.de> (commits:11/154=7%)
      Andrew Morton <akpm@osdl.org> (commits:10/154=6%)
      acpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)
      linux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)
      linux-kernel@vger.kernel.org (open list)
      
      Other changes:
      
      Format git-signers email addresses a bit to reduce bad signatures
      Command line bad arguments emitted a verbose usage(), just show --help
      Version number bumped to .22
      
      Ben Hutchings had the idea and created a good deal of this implementation.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3c7385b8
  9. 14 Dec, 2009 4 commits
  10. 12 Dec, 2009 11 commits
    • Michal Marek's avatar
      kbuild: generate modules.builtin · bc081dd6
      Michal Marek authored
      To make it easier for module-init-tools and scripts like mkinitrd to
      distinguish builtin and missing modules, install a modules.builtin file
      listing all builtin modules. This is done by generating an additional
      config file (tristate.conf) with tristate options set to uppercase 'Y'
      or 'M'. If we source that config file, the builtin modules appear in
      obj-Y.
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      bc081dd6
    • Jan Beulich's avatar
      genksyms: properly consider EXPORT_UNUSED_SYMBOL{,_GPL}() · 6299fee7
      Jan Beulich authored
      Despite being unused these should also get a CRC calculated.
      Primarily I view this as a consistency thing.  But I also think this is
      one of the reasons why __crc_* need to be weak (which I think should be
      avoided, and hence we should have the goal to eliminate this so that
      failure to calculate a proper CRC for a symbol causes the build to fail).
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Cc: Anibal Monsalve Salazar <anibal@debian.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      6299fee7
    • Tony Finch's avatar
      unifdef: update to upstream revision 1.190 · d8379ab1
      Tony Finch authored
      Fix handling of input files (e.g. with no newline at EOF) that could
      make unifdef get into an unexpected state and call abort().
      
      The new -B option compresses blank lines around a deleted section
      so that blank lines around "paragraphs" of code don't get doubled.
      
      The evaluator can now handle macros with arguments, and unbracketed
      arguments to the "defined" operator.
      
      Add myself to MAINTAINERS for unifdef.
      Signed-off-by: default avatarTony Finch <dot@dotat.at>
      Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      d8379ab1
    • Daniel Vetter's avatar
      kbuild: specify absolute paths for cscope · eb8f844c
      Daniel Vetter authored
      Cscope doesn't hadle relative paths when cscope.out is not in $PWD. Use
      absolute paths when generating cscope.files, which seems to be the
      recommended way to generate cscope.out, anyway (at least according to
      cscope.sf.net). The speed and size differences are minimal, the only
      drawback is that the database needs to be regenerated if the source
      directory is moved.
      
      [mmarek: fixed for O= builds, modified changelog]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      eb8f844c
    • Michal Marek's avatar
      kbuild: create include/generated in silentoldconfig · 32197c7f
      Michal Marek authored
      The toplevel Makefile creates the directory if it runs silentoldconfig
      automatically, but if run manually, it fails:
      
        $ make mrproper
        $ make defconfig && make silentoldconfig
        *** Default configuration is based on 'x86_64_defconfig'
        #
        # configuration written to .config
        #
        scripts/kconfig/conf -s arch/x86/Kconfig
      
        *** Error during update of the kernel configuration.
        ...
      
      Move the mkdir command to the silentoldconfig target to make it work.
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      32197c7f
    • Jonathan Nieder's avatar
      scripts/package: deb-pkg: use fakeroot if available · db1d1865
      Jonathan Nieder authored
      Running "make deb-pkg" requires setting KBUILD_PKG_ROOTCMD or
      becoming root oneself or it errors out.  Unless already running
      as root or KBUILD_PKG_ROOTCMD is already set, use fakeroot as a
      good default.
      
      With this patch applied, you can run "make oldconfig deb-pkg" as
      an ordinary user to build a binary package for an updated kernel
      tree and it should just work.
      
      fakeroot is too zealous by default in treating files as owned by
      root.  Its wrapped stat() sets st_uid and st_gid to 0 for all
      files, which causes Git to go on a wild goose chase if
      CONFIG_LOCALVERSION_AUTO is set, checking if any file's content
      has changed along with its stat information.  Avoid this by
      telling fakeroot to use the actual owner and group for
      preexisting files, by passing it the -u option.
      Signed-off-by: default avatarJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      db1d1865
    • Jonathan Nieder's avatar
      scripts/package: add KBUILD_PKG_ROOTCMD variable · 05ba4488
      Jonathan Nieder authored
      Let the deb-pkg target acquire (fake) root privileges before
      running commands that need them.  Without such privileges,
      deb-pkg errors out because chown fails.
      
      The new KBUILD_PKG_ROOTCMD variable, if defined, is used as a
      command to run other commands with possibly fake elevated
      privileges.  Since this is not needed for the tar-pkg and rpm-pkg
      targets, it is only used by deb-pkg.  If it is not defined, the
      behavior is as before, and the user will have to rerun make as
      root.
      
      In other words, as a shortcut, instead of running 'make oldconfig &&
      make && fakeroot -u make deb-pkg', one can use the single command
      'make oldconfig deb-pkg KBUILD_PKG_ROOTCMD="fakeroot -u"'.
      Suggested-by: default avatarRyan Anderson <ryan@michonline.com>
      Signed-off-by: default avatarJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      05ba4488
    • Michal Marek's avatar
      scripts/package: tar-pkg: use tar --owner=root · 91d16185
      Michal Marek authored
      Use the --owner= and --group= options to make sure the entries in
      the built tar file are owned by root.  Without this change, a
      careless sysadmin using the tar-pkg target can easily end up
      installing a kernel that is writable by the unprivileged user
      account used to build the kernel.
      
      Test that these options are understood before using them so that
      non-GNU versions of tar can still be used if the operator is
      appropriately cautious.
      Signed-off-by: default avatarJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      91d16185
    • Sam Ravnborg's avatar
      kbuild: move autoconf.h to include/generated · 264a2683
      Sam Ravnborg authored
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      264a2683
    • Sam Ravnborg's avatar
      kbuild: do not check for include/asm-$ARCH · c95fa08a
      Sam Ravnborg authored
      No architectures uses include/asm-$ARCH now.
      So drop check for location of include files
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      c95fa08a
    • Michael Tokarev's avatar
      kbuild: fix bzImage build for x86 · 4a2ff67c
      Michael Tokarev authored
      As has been discussed previously (and Sam has been CC'ed), the fix
      is still incorrect.  It replaces "echo -ne" with "/bin/echo -ne",
      but neither of the two are guaranteed to support the necessary
      arguments and necessary (hexadecimal) escape sequences.  What should
      be used here is printf(1).  The trivial patch below (on top of these
      kbuild changes) fixes this issue.
      Signed-Off-By: default avatarMichael Tokarev <mjt@tls.msk.ru>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      4a2ff67c
  11. 11 Dec, 2009 2 commits
    • Nathaniel McCallum's avatar
      USB: handle bcd incrementation in usb modalias generation · 55f49f26
      Nathaniel McCallum authored
      This patch fixes a bug when incrementing/decrementing on a BCD formatted
      integer (i.e. 0x09++ should be 0x10 not 0x0A).  It just adds a function
      for incrementing/decrementing BCD integers by converting to decimal,
      doing the increment/decrement and then converting back to BCD.
      Signed-off-by: default avatarNathaniel McCallum <nathaniel@natemccallum.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      55f49f26
    • Nathaniel McCallum's avatar
      USB: add hex/bcd detection to usb modalias generation · afe2dab4
      Nathaniel McCallum authored
      The current code to generate usb modaliases from usb_device_id assumes
      that the device's bcdDevice descriptor will actually be in BCD format.
      While this should be a sane assumption, some devices don't follow spec
      and just use plain old hex.  This causes drivers for these devices to
      generate invalid modalias lines which will never actually match for the
      hardware.
      
      The following patch adds hex support for bcdDevice in file2alias.c by
      detecting when a driver uses a hex formatted bcdDevice_(lo|hi) and
      adjusts the output to hex format accordingly.
      
      Drivers for devices which have bcdDevice conforming to BCD will have no
      change in modalias output.  Drivers for devices which don't conform
      (i.e. ibmcam) should now generate valid modaliases.
      
      EXAMPLE OUTPUT (ibmcam; space added to highlight change)
          Old: usb:v0545p800D d030[10-9] dc*dsc*dp*ic*isc*ip*
          New: usb:v0545p800D d030a      dc*dsc*dp*ic*isc*ip*
      Signed-off-by: default avatarNathaniel McCallum <nathaniel@natemccallum.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      afe2dab4