1. 23 7月, 2008 1 次提交
    • M
      markers: fix duplicate modpost entry · d35cb360
      Mathieu Desnoyers 提交于
      When a kernel was rebuilt, the previous Module.markers was not cleared.
      It caused markers with different format strings to appear as duplicates
      when a markers was changed.  This problem is present since
      scripts/mod/modpost.c started to generate Module.markers, commit
      b2e3e658
      
      It therefore applies to 2.6.25, 2.6.26 and linux-next.
      
      I merely merged the patches from Roland, Wenji and Takashi here.
      
      Credits to
      Roland McGrath <roland@redhat.com>
      Wenji Huang <wenji.huang@oracle.com>
      and
      Takashi Nishiie <t-nishiie@np.css.fujitsu.com>
      
      for providing the individual fixes.
      
      - Changelog :
        - Integrated Takashi's Makefile modification to clear Module.markers upon
          make clean.
      Signed-off-by: NMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Roland McGrath <roland@redhat.com>
      Cc: Wenji Huang <wenji.huang@oracle.com>
      Cc: Takashi Nishiie <t-nishiie@np.css.fujitsu.com>
      Cc: <stable@kernel.org>		[2.6.25.x, 2.6.26.x]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d35cb360
  2. 18 7月, 2008 1 次提交
  3. 14 7月, 2008 1 次提交
  4. 10 7月, 2008 2 次提交
  5. 12 6月, 2008 1 次提交
    • S
      kbuild: ignore powerpc specific symbols in modpost · 4d7365d6
      Sam Ravnborg 提交于
      Kumar Gala <galak@kernel.crashing.org> wrote:
      We have a case in powerpc in which we want to link some library
      routines with all module objects.  The routines are intended for
      handling out-of-line function call register save/restore so having
      them as EXPORT_SYMBOL() is counter productive (we do also need to
      link the same "library" code into the kernel).
      
      Without this patch a powerpc build would error out and fail
      to build modules with the added register save/restore module.
      
      There were two obvious solutions:
      1) To link the .o file before the modpost stage
      2) To ignore the symbols in modpost
      
      Option 1) was ruled out because we do not have any separate
      linking stage for single file modules.
      
      This patch implements option 2 - and do so only for powerpc.
      
      The symbols we ignore are all undefined symbols named:
      _restgpr_*, _savegpr_*, _rest32gpr_*, _save32gpr_*
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      4d7365d6
  6. 07 6月, 2008 1 次提交
    • A
      update checkpatch.pl to version 0.19 · c45dcabd
      Andy Whitcroft 提交于
      This version is a bit of a whopper.  This version brings a few new checks,
      improvements to a number of checks mostly through modifications to the
      way types are parsed, several fixes to quote/comment handling, as well as
      the usual slew of fixes for false positives.
      
      Of note:
       - return is not a function and is now reported,
       - preprocessor directive detection is loosened to match C99 standard,
       - we now intuit new type modifiers, and
       - comment handling is much improved
      
      Andy Whitcroft (18):
            Version: 0.19
            fix up a couple of missing newlines in reports
            colon to parenthesis spacing varies on asm
            values: #include is a preprocessor statement
            quotes: fix single character quotes at line end
            add typedef exception for the non-pointer "function types"
            kerneldoc parameters must be on one line, relax line length
            types: word boundary is not always required
            improved #define bracketing reports
            uninitialized_var is an annotation not a function name
            possible types: add possible modifier handling
            possible types: fastcall is a type modifier
            types: unsigned is not a modifier on all types
            static/external initialisation to zero should allow modifiers
            checkpatch: fix recognition of preprocessor directives -- part 2
            comments: fix inter-hunk comment tracking
            return is not a function
            do not report include/asm/foo.h use in include/linux/foo.h
            return is not a function -- tighten test
      
      [jengelh@computergmbh.de: fix recognition of preprocessor directives]
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      Cc: Jan Engelhardt <jengelh@computergmbh.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c45dcabd
  7. 01 6月, 2008 1 次提交
    • S
      kbuild: fix $(src) assignmnet with external modules · 96d97f26
      Sam Ravnborg 提交于
      When we introduced support for KBUILD_EXTRA_SYMBOLS
      we started to include the externam module's kbuild
      file when doing the final modpost step.
      
      As external modules often do:
      ccflags-y := -I$(src)
      
      We had problems because $(src) was unassinged and
      gcc then used the next parameter for -I resulting in
      strange build failures.
      
      Fix is to assign $(src) and $(obj) when building
      external modules.
      
      This fixes: http://bugzilla.kernel.org/show_bug.cgi?id=10798Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Tvrtko <tvrtko.ursulin@sophos.com>
      Cc: Andrea Arcangeli <andrea@qumranet.com>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      96d97f26
  8. 31 5月, 2008 1 次提交
  9. 26 5月, 2008 1 次提交
  10. 24 5月, 2008 1 次提交
    • S
      kbuild: create new CFLAGS_REMOVE_(basename).o option · 656ee82c
      Steven Rostedt 提交于
      We currently have a way to add special CFLAGS to code, but we do not have a
      way to remove them if needed.
      
      With the case of ftrace, some files should simply not be profiled. Adding
      the -pg flag to these files is simply a waste, and adding "notrace" to each
      and every function is ugly.
      
      Currently we put in "Makefile turd" [1] to stop the compiler from adding -pg
      to certain files. This was clumsy and awkward.
      
      This patch now adds the revese of CFLAGS_(basename).o with
      CFLAGS_REMOVE_(basename).o.  This allows developers to prevent certain
      CFLAGS from being used to compile files. For example, we can now do
      
      CFLAGS_REMOVE_string.o = -pg
      
      to remove the -pg option from the string.o file in the lib directory.
      
      Note: a space delimited list of options may be added to the REMOVE macro.
      
      [1] - what David Miller called the workaronud to remove -pg
      Signed-off-by: NSteven Rostedt <srostedt@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      656ee82c
  11. 20 5月, 2008 3 次提交
  12. 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
  13. 05 5月, 2008 1 次提交
  14. 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
  15. 02 5月, 2008 1 次提交
  16. 30 4月, 2008 2 次提交
  17. 29 4月, 2008 7 次提交
  18. 28 4月, 2008 2 次提交
  19. 27 4月, 2008 2 次提交
  20. 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
  21. 25 4月, 2008 1 次提交
  22. 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
  23. 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
  24. 24 3月, 2008 1 次提交