1. 20 5月, 2008 3 次提交
  2. 11 5月, 2008 1 次提交
    • A
      kbuild: disable modpost warnings for linkonce sections · fd1db0a3
      Andi Kleen 提交于
      Disable modpost warnings for linkonce sections
      
      My build gives lots of warnings like
      
      WARNING: sound/core/snd.o (.gnu.linkonce.wi.mpspec_def.h.30779716): unexpected section name.
      The (.[number]+) following section name are ld generated and not expected.
      Did you forget to use "ax"/"aw" in a .S file?
      Note that for example <linux/init.h> contains
      section definitions for use in .S files.
      
      But for .linkonce. duplicated sections are actually ok and expected.
      So just disable the warning for this case.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      fd1db0a3
  3. 05 5月, 2008 1 次提交
  4. 04 5月, 2008 1 次提交
    • J
      modpost: i2c aliases need no trailing wildcard · ac551828
      Jean Delvare 提交于
      Not all device types need a wildcard at the end of their module
      aliases. In particular, for i2c module aliases, the trailing wildcard
      is not only unneeded, it could also cause the wrong driver to be
      loaded.
      
      As I2C devices have no IDs, i2c module aliases are simple, arbitrary
      device names. For example:
      
      $ /sbin/modinfo lm90
      filename:       /lib/modules/2.6.25-git18/kernel/drivers/hwmon/lm90.ko
      author:         Jean Delvare <khali@linux-fr.org>
      description:    LM90/ADM1032 driver
      license:        GPL
      vermagic:       2.6.25-git18 mod_unload
      depends:        hwmon
      alias:          i2c:lm90*
      alias:          i2c:adm1032*
      alias:          i2c:lm99*
      alias:          i2c:lm86*
      alias:          i2c:max6657*
      alias:          i2c:adt7461*
      alias:          i2c:max6680*
      $
      
      This would cause trouble if one I2C chip name matches the beginning of
      another I2C chip name and both chips are supported by different
      drivers. For example, an i2c device named lm9042 would cause the lm90
      driver to be loaded, while it doesn't support that device. This case
      has yet to be seen in practice, but still, I'd like to fix it now. The
      cleanest fix is to remove the trailing wildcard from i2c module aliases.
      
      Here's a patch doing this.
      
      Not all device type aliases need a trailing wildcard, in particular
      the i2c aliases don't. Don't add a wildcard by default in do_table(),
      instead let each device type handler add it if needed.
      
      I have tested types acpi, dmi, eisa, i2c, ide, ieee1394, input, pci,
      pcmcia, platform, pnp, scsi, serio, ssb and usb. Other types (ccw, of,
      vio, parisc, sdio and virtio) are untested.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Acked-by: NJochen Friedrich <jochen@scram.de>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      ac551828
  5. 02 5月, 2008 1 次提交
  6. 30 4月, 2008 2 次提交
  7. 29 4月, 2008 7 次提交
  8. 28 4月, 2008 2 次提交
  9. 27 4月, 2008 2 次提交
  10. 26 4月, 2008 5 次提交
    • S
      kconfig: fix broken target update-po-config · 4217516e
      Sam Ravnborg 提交于
      Massimo Maiurana reported:
      In the latest kernel "make update-po-config" fails because it tries
      to open arch/Kconfig/Kconfig, since the ls command doesn't
      distinguish between files and directories.
      
      Cc: Massimo Maiurana <maiurana@gmail.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      4217516e
    • R
      kbuild: Add new Kbuild variable KBUILD_EXTRA_SYMBOLS · 0d96fb20
      Richard Hacker 提交于
      This patch adds a new (Kbuild) Makefile variable KBUILD_EXTRA_SYMBOLS.
      The space separated list of file names assigned to KBUILD_EXTRA_SYMBOLS
      is used when calling scripts/mod/modpost during stage 2 of the Kbuild
      process for non-kernel-tree modules.
      Signed-off-by: NRichard Hacker <lerichi@gmx.net>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      0d96fb20
    • R
      kbuild: support loading extra symbols in modpost · 2d04b5ae
      Richard Hacker 提交于
      This patch adds a new command line option -E to modpost, expecting a symbol
      file as an argument which is read prior to symbol processing. -E can be
      supplied multiple times for as many files as is needed.
      
      When building kernel modules that depend on other modules not in the main
      kernel tree, modpost complains about undefined symbols:
      # make -C /path/to/linux/kernel M=/path/to/my/module
      ...
      Building modules, stage 2.
      ....
      WARNING: "rt_copy_buf" [/home/rich/osc_etl_rtw/osc_kmod.ko] undefined!
      ...etc
      
      This situation occurs when modpost processes the new module's symbols. When
      it finds symbols not exported by the mainline kernel, it issues this warning.
      
      The patch adds a new command line option -e to modpost which expects a symbol
      file as an argument. The symbols listed in this file are added to modpost's
      symbol tables during startup. -e can be supplied as often as required.
      
      This patch works together with the second patch. It introduces a new make
      variable, KBUILD_EXTRA_SYMBOLS, which is used when calling modpost.
      Signed-off-by: NRichard Hacker <lerichi@gmx.net>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      2d04b5ae
    • R
      kbuild: fix some minor typoes · 3156fd05
      Robert P. J. Day 提交于
      Signed-off-by: NRobert P. J. Day <rpjday@crashcourse.ca>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      3156fd05
    • S
      kbuild: error out on missing MODULE_LICENSE · eed7d279
      Sam Ravnborg 提交于
      Adrian Bunk suggested a build time check for
      missing MODULE_LICENSE annotation in modules.
      The build time check is fatal as we really
      want this fixed for all modules.
      In-tree modules should all have been fixed up by now.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Adrian Bunk <bunk@kernel.org>
      eed7d279
  11. 25 4月, 2008 1 次提交
  12. 20 4月, 2008 1 次提交
    • K
      PNP: add all PNP card device id's as individual aliases · 0c81eed4
      Kay Sievers 提交于
      The current PNP combined card + devices module aliase can
      never ever match anything, because these values are not available
      all at the same time to request a module.
      
      Instead of adding the combined alias, we add the device id's
      all as individual aliases. Device id's are exported by the PNP
      bus and can now properly used to request the loading of a
      matching module.
      
      The module snd-sbawe currently exports aliases, which can never
      match anything:
        alias: pnp:cCTLXXXXdCTL0045dCTL0022*
        alias: pnp:cCTLXXXXdCTL0044dCTL0023*
        alias: pnp:cCTLXXXXdCTL0042dCTL0022*
        alias: pnp:cCTLXXXXdCTL0041dCTL0021*
        alias: pnp:cCTLXXXXdCTL0031dCTL0021*
        alias: pnp:cCTL00eddCTL0041dCTL0070*
        alias: pnp:cCTL00e9dCTL0045dCTL0022*
        alias: pnp:cCTL00e4dCTL0045dCTL0022*
        alias: pnp:cCTL00c7dCTL0045dCTL0022*
        alias: pnp:cCTL00c5dCTL0045dCTL0022*
        alias: pnp:cCTL00c3dCTL0045dCTL0022*
        alias: pnp:cCTL00c1dCTL0042dCTL0022*
        alias: pnp:cCTL00b2dCTL0044dCTL0023*
        alias: pnp:cCTL009edCTL0044dCTL0023*
        alias: pnp:cCTL009ddCTL0042dCTL0022*
        alias: pnp:cCTL009fdCTL0041dCTL0021*
        alias: pnp:cCTL009cdCTL0041dCTL0021*
        alias: pnp:cCTL009adCTL0041dCTL0021*
        alias: pnp:cCTL0054dCTL0031dCTL0021*
        alias: pnp:cCTL0048dCTL0031dCTL0021*
        alias: pnp:cCTL0047dCTL0031dCTL0021*
        alias: pnp:cCTL0046dCTL0031dCTL0021*
        alias: pnp:cCTL0045dCTL0031dCTL0021*
        alias: pnp:cCTL0044dCTL0031dCTL0021*
        alias: pnp:cCTL0043dCTL0031dCTL0021*
        alias: pnp:cCTL0042dCTL0031dCTL0021*
        alias: pnp:cCTL0039dCTL0031dCTL0021*
        alias: pnp:cCTL0035dCTL0031dCTL0021*
      
      With this patch it exports only the device id's, as properly
      matchable aliases:
        alias: pnp:dCTL0070*
        alias: pnp:dCTL0045*
        alias: pnp:dCTL0023*
        alias: pnp:dCTL0044*
        alias: pnp:dCTL0022*
        alias: pnp:dCTL0042*
        alias: pnp:dCTL0041*
        alias: pnp:dCTL0021*
        alias: pnp:dCTL0031*
      
      Now, the exported value of the PNP bus can be used to autoload
      a matching module:
        $ modprobe --first-time -n -v pnp:dCTL0045
        insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/core/snd-rawmidi.ko
        insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko
        insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/core/snd-hwdep.ko
        insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb-common.ko
        insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb16-csp.ko
        insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sb16-dsp.ko
        insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/drivers/opl3/snd-opl3-lib.ko
        insmod /lib/modules/2.6.24-rc6-g5b825ed2-dirty/kernel/sound/isa/sb/snd-sbawe.ko
      
        $ grep CTL0045 /sys/bus/pnp/devices/*/id
        /sys/bus/pnp/devices/01:01.00/id:CTL0045
      Signed-off-by: NKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0c81eed4
  13. 29 3月, 2008 1 次提交
    • A
      update checkpatch.pl to version 0.16 · 773647a0
      Andy Whitcroft 提交于
      This version brings proper quote tracking across lines, and brings the
      handling of comments into the same mechanism ensuring nesting is correctly
      handled.  It brings the usual flurry of fixes for false positives.  It also
      brings a number of new checks.  The most contentious change will likely be
      the checks for NR_CPUS as this throws some new warnings in kernel/sched.c.
      
      Of note:
       - all new quote tracking across lines
       - all new comment tracking
       - new more direct, less ambigious wording for some warnings
       - recommends mutexes and completions over semaphores
       - recommends strict_strto* over simple_strto*
       - report on direct use of NR_CPUS
      
      Andy Whitcroft (22):
            Version: 0.16
            string quote tracking should cross line boundaries
            check spacing round -> correctly across newlines
            checks for linux/ against asm/ include files should be warnings
            standardise on 'required' and 'prohibited'
            take the first end of condition when parsing statements
            values: cope with unbalanced brackets
            preprocessor #elif is not a function
            preprocessor #if should not trigger trailing statement checks
            test: allow us to limit output to a single error
            recommend real mutexes over semaphores
            asm checks should mirror those for __asm__
            warn on semaphores being used in place of completions
            trailing ; on control structure should ignore do {} while ();
            recommend strict_strtoX over simple_strtoX
            redo comment handling as a quote type
            use of NR_CPUS is normally wrong
            consistant spacing should only be about spaces
            if brace check suppression should only apply to the top-levels
            use tr/// to align spacing for operators
            move to using four parameter form of substr
            check and report modifications to include/asm
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      773647a0
  14. 24 3月, 2008 1 次提交
  15. 14 3月, 2008 1 次提交
  16. 05 3月, 2008 1 次提交
    • A
      update checkpatch.pl to version 0.15 · cf655043
      Andy Whitcroft 提交于
      This version brings a number of minor fixes updating the type detector and
      the unary tracker.  It also brings a few small fixes for false positives.
      It also reverts the --file warning.  Of note:
      
       - limit CVS checks to added lines
       - improved type detections
       - fixes to the unary tracker
      
      Andy Whitcroft (13):
            Version: 0.15
            EXPORT_SYMBOL checks need to accept array variables
            export checks must match DECLARE_foo and LIST_HEAD
            possible types: cleanup debugging missing line
            values: track values through preprocessor conditional paths
            typeof is actually a type
            possible types: detect definitions which cross lines
            values: include line numbers on value debug information
            values: ensure we find correctly record pending brackets
            values: simplify the brace history stack
            CVS keyword checks should only apply to added lines
            loosen spacing for comments
            allow braces for single statement blocks with multiline conditionals
      
      Harvey Harrison (1):
            checkpatch: remove fastcall
      
      Ingo Molnar (1):
            checkpatch.pl: revert wrong --file message
      
      Uwe Kleine-Koenig (1):
            fix typo "goot" -> "good"
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      Cc: Randy Dunlap <rdunlap@xenotime.net>
      Cc: Joel Schopp <jschopp@austin.ibm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cf655043
  17. 24 2月, 2008 1 次提交
    • R
      kernel-doc: fix function-pointer-parameter parsing · 00d62961
      Richard Kennedy 提交于
      When running "make htmldocs" I'm seeing some non-fatal perl errors caused
      by trying to parse the callback function definitions in blk-core.c.
      
      The errors are "Use of uninitialized value in concatenation (.)..."
      in combination with:
      Warning(linux-2.6.25-rc2/block/blk-core.c:1877): No description found for parameter ''
      
      The function pointers are defined without a * i.e.
      int (drv_callback)(struct request *)
      
      The compiler is happy with them, but kernel-doc isn't.
      
      This patch teaches create_parameterlist in kernel-doc to parse this type of
      function pointer definition, but is it the right way to fix the problem ?
      The problem only seems to occur in blk-core.c.
      
      However with the patch applied, kernel-doc finds the correct parameter
      description for the callback in blk_end_request_callback, which is doesn't
      normally.
      
      I thought it would be a bit odd to change to code to use the more normal
      form of function pointers just to get the documentation to work, so I fixed
      kernel-doc instead - even though this is teaching it to understand code
      that might go away (The comment for blk_end_request_callback says that it
      should not be used and will removed at some point).
      Signed-off-by: NRichard Kennedy <richard@rsk.demon.co.uk>
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      00d62961
  18. 20 2月, 2008 1 次提交
    • G
      kbuild: fix reversed symbol name order in modpost · b1d2675a
      Geert Uytterhoeven 提交于
      XXXINIT_TO_INIT and XXXEXIT_TO_EXIT warnings use the reversed symbol name order
      in the suggestion, e.g.:
      
          WARNING: vmlinux.o(.meminit.text+0x36c): Section mismatch in reference from the function free_area_init_core() to the function .init.text:setup_usemap()
          The function __meminit free_area_init_core() references
          a function __init setup_usemap().
          If free_area_init_core is only used by setup_usemap then
          annotate free_area_init_core with a matching annotation.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      b1d2675a
  19. 15 2月, 2008 1 次提交
  20. 14 2月, 2008 2 次提交
    • M
      Linux Kernel Markers: create modpost file · b2e3e658
      Mathieu Desnoyers 提交于
      This adds some new magic in the MODPOST phase for CONFIG_MARKERS.  Analogous
      to the Module.symvers file, the build will now write a Module.markers file
      when CONFIG_MARKERS=y is set.  This file lists the name, defining module, and
      format string of each marker, separated by \t characters.  This simple text
      file can be used by offline build procedures for instrumentation code,
      analogous to how System.map and Module.symvers can be useful to have for
      kernels other than the one you are running right now.
      
      The strings are made easy to extract by having the __trace_mark macro define
      the name and format together in a single array called __mstrtab_* in the
      __markers_strings section.  This is straightforward and reliable as long as
      the marker structs are always defined by this macro.  It is an unreasonable
      amount of hairy work to extract the string pointers from the __markers section
      structs, which entails handling a relocation type for every machine under the
      sun.
      
      Mathieu :
      - Ran through checkpatch.pl
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Signed-off-by: NMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: David Smith <dsmith@redhat.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b2e3e658
    • R
      kconfig: fix select in combination with default · 587c9061
      Roman Zippel 提交于
      > The attached .config (with current -git) results in a compile
      > error since it contains:
      >
      > CONFIG_X86=y
      > # CONFIG_EMBEDDED is not set
      > CONFIG_SERIO=m
      > CONFIG_SERIO_I8042=y
      >
      > Looking at drivers/input/serio/Kconfig I simply don't get how this
      > can happen.
      
      You've hit the rather subtle rules of select vs default. What happened is
      that SERIO is selected to m, but SERIO_I8042 isn't selected so the default
      of y is used instead.
      We already had the problem in the past that select and default don't work
      well together, so this patch cleans this up and makes the rule hopefully
      more straightforward. Basically now the value is calculated like this:
      
      	(value && dependency) || select
      
      where the value is the user choice (if available and the symbol is
      visible) or default.
      
      In this case it means SERIO and SERIO_I8042 are both set to y due to their
      default and if SERIO didn't had the default, then the SERIO_I8042 value
      would be limited to m due to the dependency.
      
      I tested this patch with more 10000 random configs and above case is the
      only the difference that showed up, so I hope there is nothing that
      depended on the old more complex and subtle rules.
      Signed-off-by: NRoman Zippel <zippel@linux-m68k.org>
      Tested-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      587c9061
  21. 12 2月, 2008 1 次提交
    • S
      kbuild: fix make V=1 · fab1e310
      Sam Ravnborg 提交于
      When make -s support were added to filechk to
      combination created with make V=1 were not
      covered.
      Fix it by explicitly cover this case too.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Mike Frysinger <vapier@gentoo.org>
      fab1e310
  22. 09 2月, 2008 3 次提交