1. 22 9月, 2009 8 次提交
    • J
      scripts/get_maintainer.pl: add maintainers in order listed in matched section · b781655a
      Joe Perches 提交于
      Previous behavior was "bottom-up" in each section from the pattern "F:"
      entry that matched.  Now information is entered into the various lists in
      the "as entered" order for each matched section.
      
      This also allows the F: entry to be put anywhere in a section, not just as
      the last entries in the section.
      
      And a couple of improvements:
      
      Don't alphabetically sort before outputting the matched scm, status,
      subsystem and web sections.
      
      Ignore content after a single email address so these entries are acceptable
      M:	name <address> whatever other comment
      
      And a fix:
      
      Make an M: entry without a name again use the name from an immediately
      preceding P: line if it exists.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b781655a
    • J
      scripts/get_maintainer.pl: add --remove-duplicates · 11ecf53c
      Joe Perches 提交于
      Allow control over the elimination of duplicate email names and addresses
      
      --remove-duplicates will use the first email name or address presented
      --noremove-duplicates will emit all names and addresses
      
      --remove-duplicates is enabled by default
      
      For instance:
      
      $ ./scripts/get_maintainer.pl -f drivers/char/tty_ioctl.c
      Greg Kroah-Hartman <gregkh@suse.de>
      Alan Cox <alan@linux.intel.com>
      Mike Frysinger <vapier@gentoo.org>
      Alexey Dobriyan <adobriyan@gmail.com>
      linux-kernel@vger.kernel.org
      
      $ ./scripts/get_maintainer.pl -f --noremove-duplicates drivers/char/tty_ioctl.c
      Greg Kroah-Hartman <gregkh@suse.de>
      Alan Cox <alan@redhat.com>
      Alan Cox <alan@linux.intel.com>
      Alan Cox <alan@lxorguk.ukuu.org.uk>
      Mike Frysinger <vapier@gentoo.org>
      Alexey Dobriyan <adobriyan@gmail.com>
      linux-kernel@vger.kernel.org
      
      Using --remove-duplicates could eliminate multiple maintainers that
      share the same name but not the same email address.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      11ecf53c
    • J
      scripts/get_maintainer.pl: using --separator implies --nomultiline · 42498316
      Joe Perches 提交于
      If a person sets a separator, it's only used if --nomultiline is set.
      Don't make the command line also include --nomultiline in that case.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      42498316
    • J
      scripts/get_maintainer.pl: add .mailmap use, shell and email cleanups · 8cbb3a77
      Joe Perches 提交于
      Add reading and using .mailmap file if it exists
      Convert address entries in .mailmap to first encountered address
      Don't terminate shell commands with \n
      Strip characters found after sign-offs by: name <address> [stripped]
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8cbb3a77
    • J
      scripts/get_maintainer.pl: better email routines, use perl not shell where possible · 0e70e83d
      Joe Perches 提交于
      Added format_email and parse_email routines to reduce inline use.
      
      Added email_address_inuse to eliminate multiple maintainer entries
      for the same email address, the first name encountered is used.
      
      Used internal perl equivalents of shell cmd use of grep|cut|sort|uniq
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0e70e83d
    • J
      scripts/get_maintainer.pl: add --pattern-depth · 3fb55652
      Joe Perches 提交于
      --pattern-depth is used to control how many levels of directory traversal
      should be performed to find maintainers.  default is 0 (all directory levels).
      
      For instance:
      
      MAINTAINERS currently has multiple M: and F: entries that match
      net/netfilter/ipvs/ip_vs_app.c
      
      IPVS
      M:	Wensong Zhang <wensong@linux-vs.org>
      M:	Simon Horman <horms@verge.net.au>
      M:	Julian Anastasov <ja@ssi.bg>
      [...]
      F:	net/netfilter/ipvs/
      
      NETFILTER/IPTABLES/IPCHAINS
      [...]
      M:	Patrick McHardy <kaber@trash.net>
      [...]
      F:	net/netfilter/
      
      NETWORKING [GENERAL]
      M:	"David S. Miller" <davem@davemloft.net>
      [...]
      F:	net/
      
      THE REST
      M:	Linus Torvalds <torvalds@linux-foundation.org>
      [...]
      F:	*/
      
      Using this command will return all of those maintainers:
      (except Linus unless --git-chief-maintainers is specified)
      
      $ ./scripts/get_maintainer.pl --nogit -nol \
      	-f net/netfilter/ipvs/ip_vs_app.c
      Julian Anastasov <ja@ssi.bg>
      Simon Horman <horms@verge.net.au>
      Wensong Zhang <wensong@linux-vs.org>
      Patrick McHardy <kaber@trash.net>
      David S. Miller <davem@davemloft.net>
      
      Adding --pattern-depth=1 will match at the deepest level
      $ ./scripts/get_maintainer.pl --nogit -nol --pattern-depth=1 \
      	-f net/netfilter/ipvs/ip_vs_app.c
      Julian Anastasov <ja@ssi.bg>
      Simon Horman <horms@verge.net.au>
      Wensong Zhang <wensong@linux-vs.org>
      
      Adding --pattern-depth=2 will match at the deepest level and 1 higher
      $ ./scripts/get_maintainer.pl --nogit -nol --pattern-depth=2 \
      	-f net/netfilter/ipvs/ip_vs_app.c
      Julian Anastasov <ja@ssi.bg>
      Simon Horman <horms@verge.net.au>
      Wensong Zhang <wensong@linux-vs.org>
      Patrick McHardy <kaber@trash.net>
      
      and so on.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3fb55652
    • J
      scripts/get_maintainer.pl: add sections in pattern match depth order · 1d606b4e
      Joe Perches 提交于
      Before this change, matched sections were added in the order
      of appearance in the normally alphabetic section order of
      the MAINTAINERS file.
      
      For instance, finding the maintainer for drivers/scsi/wd7000.c
      would first find "SCSI SUBSYSTEM", then "WD7000 SCSI SUBSYSTEM",
      then "THE REST".
      
      before patch:
      
      $ ./scripts/get_maintainer.pl --nogit -f drivers/scsi/wd7000.c
      James E.J. Bottomley <James.Bottomley@HansenPartnership.com>
      Miroslav Zagorac <zaga@fly.cc.fer.hr>
      linux-scsi@vger.kernel.org
      linux-kernel@vger.kernel.org
      
      get_maintainer.pl now selects matched sections by longest pattern match.
      Longest is the number of "/"s and any specific file pattern.
      
      This changes the example output order of MAINTAINERS to whatever is
      selected in "WD7000 SUBSYSTEM", then "SCSI SYSTEM", then "THE REST".
      
      after patch:
      
      $ ./scripts/get_maintainer.pl --nogit -f drivers/scsi/wd7000.c
      Miroslav Zagorac <zaga@fly.cc.fer.hr>
      James E.J. Bottomley <James.Bottomley@HansenPartnership.com>
      linux-scsi@vger.kernel.org
      linux-kernel@vger.kernel.org
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1d606b4e
    • J
      scripts/get_maintainer.pl: add --git-blame · f5492666
      Joe Perches 提交于
      Julia Lawall suggested that get_maintainers.pl should have the
      ability to include signatories of commits that are modified by
      a particular patch.
      
      Vegard Nossum did something similar once.
      http://lkml.org/lkml/2008/5/29/449
      
      The modified script looks the commits for all lines in the
      patch, and includes the "-by:" signatories for those commits.
      It uses the same git-min-percent, git-max-maintainers, and
      git-min-signatures options.  git-since is ignored.
      
      It can be used independently from the --git default, so
              ./scripts/get_maintainers.pl --nogit --git-blame <patch>
      or
              ./scripts/get_maintainers.pl --nogit --git-blame -f <file>
      is acceptable.
      
      If used with -f <file>, all lines/commits for the file are
      checked.
      
      --git-blame can be slow if used with -f <file>
      --git-blame does not work with -f <directory>
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f5492666
  2. 19 9月, 2009 3 次提交
  3. 16 9月, 2009 1 次提交
    • D
      sparc: Kill PROM console driver. · 09d3f3f0
      David S. Miller 提交于
      Many years ago when this driver was written, it had a use, but these
      days it's nothing but trouble and distributions should not enable it
      in any situation.
      
      Pretty much every console device a sparc machine could see has a
      bonafide real driver, making the PROM console hack unnecessary.
      
      If any new device shows up, we should write a driver instead of
      depending upon this crutch to save us.  We've been able to take care
      of this even when no chip documentation exists (sunxvr500, sunxvr2500)
      so there are no excuses.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      09d3f3f0
  4. 22 8月, 2009 1 次提交
    • S
      kconfig: add missing dependency of conf to localyesconfig · 48586218
      Steven Rostedt 提交于
      There's a dependency missing.
      
      $ make localyesconfig
        HOSTCC  scripts/basic/fixdep
        HOSTCC  scripts/basic/docproc
        HOSTCC  scripts/basic/hash
      using config: '/boot/config-2.6.27.25-78.2.56.fc9.x86_64'
      /bin/sh: line 8: scripts/kconfig/conf: No such file or directory
      make[1]: *** [localyesconfig] Error 127
      make: *** [localyesconfig] Error 2
      
      Thus the script failed to run. But the sed command that converts the '=m'
      to '=y' still ran. This gives us a distro config with all modules
      converted to built in!
      
      The missing dependency was for conf for localyesconfig. This
      dependency was already set for localmodconfig.
      Reported-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      48586218
  5. 19 8月, 2009 13 次提交
    • S
      kconfig: test if a .config already exists · a7c02602
      Steven Rostedt 提交于
      If one were to run localmodconfig or localyesconfig without having
      a .config already in the file, then the end of the process would give
      a warning when it tries to move the old .config to .config.old.
      
      This patch adds a test to check if .config exists and avoid the moves
      if it does not.
      
      [ Impact: remove warning after make localmodconfig ]
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      a7c02602
    • S
      kconfig: make local .config default for streamline_config · a9024838
      Steven Rostedt 提交于
      As Andi Kleen pointed out, most people would expect that the local .config
      file to be based for a streamline config. This patch changes the order
      of searching for a config file to consider the .config in the local
      directory first.
      Reported-by: NAndi Kleen <andi@firstfloor.org>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      a9024838
    • S
      kconfig: test for /boot/config-uname after /proc/config.gz in localconfig · 810b2be6
      Steven Rostedt 提交于
      Many distros put their config in /boot/config-`uname -r`, add a check
      for that right after /proc/config.gz
      Reported-by: NAlan Jenkins <sourcejedi.lkml@googlemail.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      810b2be6
    • S
      kconfig: unset IKCONFIG_PROC and clean up nesting · d08ca277
      Steven Rostedt 提交于
      Due to cut and paste error IKCONFIG was both set and cleared.
      It was suppose to be IKCONFIG_PROC to be cleared.
      
      Also cleaned up if nesting.
      Reported-by: NAlan Jenkins <sourcejedi.lkml@googlemail.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      d08ca277
    • S
      kconfig: search for a config to base the local(mod|yes)config on · cdfc4795
      Steven Rostedt 提交于
      Instead of using the .config in the local directory. This patch
      changes streamline_config.pl to search various locations for a config.
      
      Here's the list and order of search:
      
        /proc/config.gz
        /boot/vmlinuz-`uname -r`
        vmlinux  # local to the directory
        /lib/modules/`uname -r`/kernel/kernel/configs.ko
        kernel/configs.ko
        kernel/configs.o
        .config
      
      Once it finds a file that contains a config (it checks if the binary
      objects have configs first) it then uses it to create the .config
      with minimum modules needed.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      cdfc4795
    • S
      kconfig: have extract-ikconfig read ELF files · 6be51ffc
      Steven Rostedt 提交于
      It would be nice to use extract-ikconfig to find the congfig.gz
      in either vmlinux (not vmlinuz) or configs.ko.
      
      This patch changes the script to also be able to read ELF files directly.
      
      [ Impact: find config.gz in vmlinux and configs.ko ]
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      6be51ffc
    • S
      kconfig: add check if end exists in extract-ikconfig · fd3132d5
      Steven Rostedt 提交于
      Both start and end should be tested for existence before continuing
      to parse the config.gz file.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      fd3132d5
    • S
      kconfig: enable CONFIG_IKCONFIG from streamline_config.pl · 744ffcbe
      Steven Rostedt 提交于
      Ingo Molnar suggested that the streamline_config.pl should enable
      CONFIG_IKCONFIG to keep the current config in the kernel.
      Then we can use scripts/extract-ikconfig to find the current
      modules.
      
      This patch changes streamline_config.pl to check if CONFIG_IKCONFIG
      is not set, and if it is not, it enables it to be a module.
      
      [ Impact: make current config options easier to find ]
      Reported-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      744ffcbe
    • S
      kconfig: do not warn about modules built in · ea2c1894
      Steven Rostedt 提交于
      The streamline_config.pl finds all the configs that are needed to
      compile the currently loaded modules. After it creates the .config
      file, it tests to make sure all the configs that are needed were
      set.
      
      It only looks at the configs that are modules, it does not look
      at the builtin configs. This causes unnecessary warnings about modules
      not being covered.
      Reported-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      ea2c1894
    • S
      kconfig: streamline_config.pl do not stop with no depends · 74398d32
      Steven Rostedt 提交于
      If a config does not have a prompt, it must be selected.
      streamline_config.pl keeps track of all configs that select other configs.
      If a config that does not have a prompt needs to be set to enable a
      current module, it will include all configs that select it.
      Note, streamline_config.pl does not enable modules that are not already
      enabled. It only keeps enabled those that were enabled and might be
      needed to compile the current modules.
      
      The code to find the selects of a config is after the code that
      adds the depends. But if a config needed selects but had no dependencies,
      it would not be set. Because the code would stop before getting to
      the select.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      74398d32
    • S
      kconfig: add make localyesconfig option · 281c9dad
      Steven Rostedt 提交于
      This adds the option localyesconfig to make. This is similar to
      localmodconfig, but after it removes unnecessary modules it runs
      
        sed -i s/=m/=y/
      
      on the .config file. It then runs "make silentoldconfig" to fix any
      wholes that were created by the conversion of modules to core.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      281c9dad
    • S
      kconfig: make localmodconfig to run streamline_config.pl · 03fa25da
      Steven Rostedt 提交于
      Running the streamline_config.pl script manually can still be confusing
      for some users. This patch adds the localmodconfig option. This will
      automatically run streamline_config.pl on the current .config and
      then run "make silentoldconfig" to fix any wholes that might have been
      created.
      
       $ make localmodconfig
      
      This will remove any module configurations in .config that are not needed
      to compile the modules that are loaded.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      03fa25da
    • S
      kconfig: add streamline_config.pl to scripts · dcc60243
      Steven Rostedt 提交于
      streamline_config.pl is a very powerful tool. For those that install
      a kernel to a new box using the config file from the distribution know that
      it can take forever to compile the kernel.
      
      Making a custom config file that will still boot your box, but bring
      down the compile time of the kernel can be quit painful, and to ask
      someone that reported a bug to do this can be a large burdon since that
      person may not even know how to build a kernel.
      
      This script will perform "lsmod" to find all the modules loaded on the
      current running system. It will read all the Makefiles to map which
      CONFIG enables a module. It will read the Kconfig files to find the
      dependencies and selects that may be needed to support a CONFIG.
      Finally, it reads the .config file and removes any module "=m" that is
      not needed to enable the currently loaded modules. The output goes to
      standard out.
      
      Here's a way to run the script. From the Linux directory that holds
      a distribution .config.
      
       $ scripts/kconfig/streamline_config.pl arch/x86/Kconfig > config-sl
       $ mv .config config-save
       $ mv config-sl .config
       $ make oldconfig
      
      Now you have a .config that will still build all your modules, but also
      take much less time to build the kernel.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      dcc60243
  6. 07 8月, 2009 1 次提交
  7. 06 8月, 2009 1 次提交
    • S
      tracing: do not use functions starting with .L in recordmcount.pl · 3f6e968e
      Steven Rostedt 提交于
      On Wed, 5 Aug 2009, Ingo Molnar wrote:
      > * Dave Airlie <airlied@gmail.com> wrote:
      >
      > > Hey,
      > >
      > > So I spent 3-4 hrs today (I'm stupid yes) tracking down a .o
      > > breakage by blaming rawhide gcc/binutils as I was using make
      > > V=1and seeing only the compiler chain running,
      >
      > Hm, is this that powerpc related build bug you just reported?
      
      Well we tracked it down and it is powerpc64 specific.
      
      Seems that in drivers/hwmon/lm93.c there's a function called:
      
         LM93_IN_FROM_REG()
      
      But PPC64 has function descriptors and the real function names (the ones
      you see in objdump) start with a '.'. Thus this in objdump you have:
      
       Disassembly of section .text:
      
       0000000000000000 <.LM93_IN_FROM_REG>:
             0:       7c 08 02 a6     mflr    r0
             4:       fb 81 ff e0     std     r28,-32(r1)
      
      The function name used is .LM93_IN_FROM_REG. But gcc considers symbols
      that start with ".L" as a special symbol that is used inside the assembly
      stage.
      
      The nm passed into recordmcount uses the --synthetic option which shows
      the ".L" symbols (my runs outside of the build did not include the
      --synthetic option, so my older patch worked). We see the function as a
      local.
      
      Now to capture all the locations that use "mcount" we need to have a
      reference to link into the object file a list of mcount callers. We need a
      reference that will not disappear. We try to use a global function and if
      that does not work, we use a local function as a reference. But to relink
      the section back into the object, we need to make it global. In this case,
      we run objcopy using --globalize-symbol and --localize-symbol to convert
      the symbol into a global symbol, link the mcount list, then convert it
      back to a local symbol.
      
      This works great except for this case. .L* symbols can not be converted
      into a global symbol, and the mcount section referencing it will remain
      unresolved.
      Reported-by: NDave Airlie <airlied@gmail.com>
      LKML-Reference: <alpine.DEB.2.00.0908052011590.5010@gandalf.stny.rr.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      3f6e968e
  8. 30 7月, 2009 4 次提交
  9. 24 7月, 2009 2 次提交
    • M
      ftrace: Only update $offset when we update $ref_func · bd171d5f
      Matt Fleming 提交于
      The value of $offset should be the offset of $ref_func from the
      beginning of the object file. Therefore, we should set both variables
      together.
      
      This fixes a bug I was hitting on sh where $offset (which is used to
      calcualte the addends for the __mcount_loc entries) was being set
      multiple times and didn't correspond to $ref_func's offset in the object
      file. The addends in __mcount_loc were calculated incorrectly, resulting
      in ftrace dynamically modifying addresses that weren't mcount call
      sites.
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      LKML-Reference: <1248365775-25196-2-git-send-email-matt@console-pimps.org>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      bd171d5f
    • M
      ftrace: Fix the conditional that updates $ref_func · fc4c7355
      Matt Fleming 提交于
      Fix the conditional that checks if we already have a $ref_func and that
      the new function is weak. The code as previously checking whether either
      condition was false, and we really need to only update $ref_func is both
      cconditions are false.
      Signed-off-by: NMatt Fleming <matt@console-pimps.org>
      LKML-Reference: <1248365775-25196-1-git-send-email-matt@console-pimps.org>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      fc4c7355
  10. 18 7月, 2009 4 次提交
  11. 02 7月, 2009 1 次提交
  12. 01 7月, 2009 1 次提交
    • S
      fbdev: work around old compiler bug · 15e32524
      Stephen Rothwell 提交于
      When building with a 4.1.x compiler on powerpc64 (at least) we get this
      error:
      
      drivers/video/logo/logo_linux_mono.c:81: error: logo_linux_mono causes a section type conflict
      
      This was introduced by commit ae52bb23
      ("fbdev: move logo externs to header file").  This is a partial revert of
      that commit sufficient to not hit the compiler bug.
      
      Also convert _clut arrays from __initconst to __initdata.
      
      Sam said:
      
        Al analysed this some time ago.  When we say something is const then
        _sometimes_ gcc annotate the section as const(?) - sometimes not.  So if
        we have two variables/functions annotated __*const and gcc decides to
        annotate the section const only in one case we get a section type
        conflict.
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
      Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      15e32524