1. 20 4月, 2010 1 次提交
  2. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  3. 17 2月, 2010 1 次提交
  4. 24 11月, 2009 1 次提交
  5. 30 10月, 2009 1 次提交
  6. 30 3月, 2009 1 次提交
  7. 17 9月, 2008 1 次提交
  8. 28 7月, 2008 1 次提交
  9. 09 6月, 2008 1 次提交
  10. 17 4月, 2008 1 次提交
  11. 01 4月, 2008 1 次提交
  12. 28 1月, 2008 3 次提交
  13. 14 12月, 2007 2 次提交
  14. 05 10月, 2007 1 次提交
    • S
      [POWERPC] cpm: Describe multi-user ram in its own device node. · 15f8c604
      Scott Wood 提交于
      The way the current CPM binding describes available multi-user (a.k.a.
      dual-ported) RAM doesn't work well when there are multiple free regions,
      and it doesn't work at all if the region doesn't begin at the start of
      the muram area (as the hardware needs to be programmed with offsets into
      this area).  The latter situation can happen with SMC UARTs on CPM2, as its
      parameter RAM is relocatable, u-boot puts it at zero, and the kernel doesn't
      support moving it.
      
      It is now described with a muram node, similar to QE.  The current CPM
      binding is sufficiently recent (i.e. never appeared in an official release)
      that compatibility with existing device trees is not an issue.
      
      The code supporting the new binding is shared between cpm1 and cpm2, rather
      than remain separated.  QE should be able to use this code as well, once
      minor fixes are made to its device trees.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      15f8c604
  15. 04 10月, 2007 2 次提交
    • S
      [POWERPC] 8xx: Add pin and clock setting functions. · 663edbd2
      Scott Wood 提交于
      These let board code set up pins and clocks without having to
      put magic numbers directly into the registers.
      
      The clock function is mostly duplicated from the cpm2 version;
      hopefully this stuff can be merged at some point.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      663edbd2
    • S
      [POWERPC] 8xx: Infrastructure code cleanup. · fb533d0c
      Scott Wood 提交于
      1. Keep a global mpc8xx_immr mapping, rather than constantly
      creating temporary mappings.
      2. Look for new fsl,cpm1 and fsl,cpm1-pic names.
      3. Always reset the CPM when not using the udbg console;
      this is required in case the firmware initialized a device
      that is incompatible with one that the kernel is about to
      use.
      4. Remove some superfluous casts and header includes.
      5. Change a usage of IMAP_ADDR to get_immrbase().
      6. Use phys_addr_t, not uint, for dpram_pbase.
      7. Various sparse-related fixes, such as __iomem annotations.
      8. Remove mpc8xx_show_cpuinfo, which doesn't provide anything
      useful beyond the generic cpuinfo handler.
      9. Move prototypes for 8xx support functions from board files
      to sysdev/commproc.h.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      fb533d0c
  16. 28 9月, 2007 1 次提交
    • J
      [POWERPC] Fix copy'n'paste typo in commproc.c · 83af919e
      Jochen Friedrich 提交于
      The powerpc version of commproc.c exports cpm_dpram_addr twice
      and cpm_dpram_phys not at all due to a typo. This patch fixes this
      problem.
      
      CC      arch/powerpc/sysdev/commproc.o
      arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__kcrctab_cpm_dpram_addr'
      arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__kcrctab_cpm_dpram_addr' was here
      arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__kstrtab_cpm_dpram_addr'
      arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__kstrtab_cpm_dpram_addr' was here
      arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__ksymtab_cpm_dpram_addr'
      arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__ksymtab_cpm_dpram_addr' was here
      make[1]: *** [arch/powerpc/sysdev/commproc.o] Error 1
      make: *** [arch/powerpc/sysdev] Error 2
      Signed-off-by: NJochen Friedrich <jochen@scram.de>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      83af919e
  17. 26 9月, 2007 1 次提交
    • J
      [POWERPC] Fix copy'n'paste typo in commproc.c · c5552ca4
      Jochen Friedrich 提交于
      The powerpc version of commproc.c exports cpm_dpram_addr twice
      and cpm_dpram_phys not at all due to a typo. This patch fixes this
      problem.
      
      CC      arch/powerpc/sysdev/commproc.o
      arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__kcrctab_cpm_dpram_addr'
      arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__kcrctab_cpm_dpram_addr' was here
      arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__kstrtab_cpm_dpram_addr'
      arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__kstrtab_cpm_dpram_addr' was here
      arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__ksymtab_cpm_dpram_addr'
      arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__ksymtab_cpm_dpram_addr' was here
      make[1]: *** [arch/powerpc/sysdev/commproc.o] Error 1
      make: *** [arch/powerpc/sysdev] Error 2
      Signed-off-by: NJochen Friedrich <jochen@scram.de>
      c5552ca4
  18. 13 9月, 2007 2 次提交
  19. 22 8月, 2007 1 次提交
  20. 10 5月, 2007 1 次提交
    • T
      [POWERPC] Change rheap functions to use ulongs instead of pointers · 4c35630c
      Timur Tabi 提交于
      The rheap allocation functions return a pointer, but the actual value is based
      on how the heap was initialized, and so it can be anything, e.g. an offset
      into a buffer.  A ulong is a better representation of the value returned by
      the allocation functions.
      
      This patch changes all of the relevant rheap functions to use a unsigned long
      integers instead of a pointer.  In case of an error, the value returned is
      a negative error code that has been cast to an unsigned long.  The caller can
      use the IS_ERR_VALUE() macro to check for this.
      
      All code which calls the rheap functions is updated accordingly.  Macros
      IS_MURAM_ERR() and IS_DPERR(), have been deleted in favor of IS_ERR_VALUE().
      
      Also added error checking to rh_attach_region().
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      4c35630c
  21. 07 2月, 2007 1 次提交
  22. 10 10月, 2006 1 次提交
  23. 30 6月, 2006 1 次提交
    • I
      [PATCH] genirq: rename desc->handler to desc->chip · d1bef4ed
      Ingo Molnar 提交于
      This patch-queue improves the generic IRQ layer to be truly generic, by adding
      various abstractions and features to it, without impacting existing
      functionality.
      
      While the queue can be best described as "fix and improve everything in the
      generic IRQ layer that we could think of", and thus it consists of many
      smaller features and lots of cleanups, the one feature that stands out most is
      the new 'irq chip' abstraction.
      
      The irq-chip abstraction is about describing and coding and IRQ controller
      driver by mapping its raw hardware capabilities [and quirks, if needed] in a
      straightforward way, without having to think about "IRQ flow"
      (level/edge/etc.) type of details.
      
      This stands in contrast with the current 'irq-type' model of genirq
      architectures, which 'mixes' raw hardware capabilities with 'flow' details.
      The patchset supports both types of irq controller designs at once, and
      converts i386 and x86_64 to the new irq-chip design.
      
      As a bonus side-effect of the irq-chip approach, chained interrupt controllers
      (master/slave PIC constructs, etc.) are now supported by design as well.
      
      The end result of this patchset intends to be simpler architecture-level code
      and more consolidation between architectures.
      
      We reused many bits of code and many concepts from Russell King's ARM IRQ
      layer, the merging of which was one of the motivations for this patchset.
      
      This patch:
      
      rename desc->handler to desc->chip.
      
      Originally i did not want to do this, because it's a big patch.  But having
      both "desc->handler", "desc->handle_irq" and "action->handler" caused a
      large degree of confusion and made the code appear alot less clean than it
      truly is.
      
      I have also attempted a dual approach as well by introducing a
      desc->chip alias - but that just wasnt robust enough and broke
      frequently.
      
      So lets get over with this quickly.  The conversion was done automatically
      via scripts and converts all the code in the kernel.
      
      This renaming patch is the first one amongst the patches, so that the
      remaining patches can stay flexible and can be merged and split up
      without having some big monolithic patch act as a merge barrier.
      
      [akpm@osdl.org: build fix]
      [akpm@osdl.org: another build fix]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d1bef4ed
  24. 20 1月, 2006 1 次提交
  25. 03 11月, 2005 1 次提交
  26. 29 10月, 2005 1 次提交
  27. 08 8月, 2005 2 次提交
  28. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4