1. 22 6月, 2015 1 次提交
    • R
      MIPS: IRQ/IP27: Move IRQ allocation API to platform code. · cb2224d7
      Ralf Baechle 提交于
      allocate_irqno, free_irqno and alloc_legacy_irqno are a simple allocator
      for interrupt numbers from the days when the numer of interrupts was still
      fixed to NR_IRQS.  This was necessary for the SGI IP27 architecture which
      with its flexible architecture and possibly large number of interrupts
      doesn't easily fit into the old pattern.  These days there are better
      alternatives.
      
      Move the allocation code from the arch generic code to the only platform
      using it, the SGI IP27 aka Origin 200/2000, Onyx 2.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      cb2224d7
  2. 01 4月, 2015 1 次提交
  3. 05 3月, 2015 1 次提交
  4. 13 1月, 2015 1 次提交
  5. 24 11月, 2014 1 次提交
  6. 20 11月, 2014 1 次提交
  7. 27 5月, 2014 1 次提交
  8. 25 1月, 2014 1 次提交
  9. 15 7月, 2013 1 次提交
    • P
      MIPS: Delete __cpuinit/__CPUINIT usage from MIPS code · 078a55fc
      Paul Gortmaker 提交于
      commit 3747069b25e419f6b51395f48127e9812abc3596 upstream.
      
      The __cpuinit type of throwaway sections might have made sense
      some time ago when RAM was more constrained, but now the savings
      do not offset the cost and complications.  For example, the fix in
      commit 5e427ec2 ("x86: Fix bit corruption at CPU resume time")
      is a good example of the nasty type of bugs that can be created
      with improper use of the various __init prefixes.
      
      After a discussion on LKML[1] it was decided that cpuinit should go
      the way of devinit and be phased out.  Once all the users are gone,
      we can then finally remove the macros themselves from linux/init.h.
      
      Note that some harmless section mismatch warnings may result, since
      notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
      and are flagged as __cpuinit  -- so if we remove the __cpuinit from
      the arch specific callers, we will also get section mismatch warnings.
      As an intermediate step, we intend to turn the linux/init.h cpuinit
      related content into no-ops as early as possible, since that will get
      rid of these warnings.  In any case, they are temporary and harmless.
      
      Here, we remove all the MIPS __cpuinit from C code and __CPUINIT
      from asm files.  MIPS is interesting in this respect, because there
      are also uasm users hiding behind their own renamed versions of the
      __cpuinit macros.
      
      [1] https://lkml.org/lkml/2013/5/20/589
      
      [ralf@linux-mips.org: Folded in Paul's followup fix.]
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5494/
      Patchwork: https://patchwork.linux-mips.org/patch/5495/
      Patchwork: https://patchwork.linux-mips.org/patch/5509/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      078a55fc
  10. 04 7月, 2013 3 次提交
    • J
      mm/MIPS: prepare for killing free_all_bootmem_node() · 629e7b4c
      Jiang Liu 提交于
      Prepare for killing free_all_bootmem_node() by using free_all_bootmem().
      Signed-off-by: NJiang Liu <jiang.liu@huawei.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Minchan Kim <minchan@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      629e7b4c
    • J
      mm/MIPS: prepare for removing num_physpages and simplify mem_init() · 1132137e
      Jiang Liu 提交于
      Prepare for removing num_physpages and simplify mem_init().
      Signed-off-by: NJiang Liu <jiang.liu@huawei.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: David Daney <david.daney@cavium.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: John Crispin <blogic@openwrt.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Minchan Kim <minchan@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1132137e
    • J
      mm: concentrate modification of totalram_pages into the mm core · 0c988534
      Jiang Liu 提交于
      Concentrate code to modify totalram_pages into the mm core, so the arch
      memory initialized code doesn't need to take care of it.  With these
      changes applied, only following functions from mm core modify global
      variable totalram_pages: free_bootmem_late(), free_all_bootmem(),
      free_all_bootmem_node(), adjust_managed_page_count().
      
      With this patch applied, it will be much more easier for us to keep
      totalram_pages and zone->managed_pages in consistence.
      Signed-off-by: NJiang Liu <jiang.liu@huawei.com>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: <sworddragon2@aol.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Jianguo Wu <wujianguo@huawei.com>
      Cc: Joonsoo Kim <js1304@gmail.com>
      Cc: Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Cc: Michel Lespinasse <walken@google.com>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Tang Chen <tangchen@cn.fujitsu.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Wen Congyang <wency@cn.fujitsu.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0c988534
  11. 22 6月, 2013 1 次提交
    • R
      MIPS: IP27: Fix build errors with CONFIG_PCI disabled. · 8ea2b8b6
      Ralf Baechle 提交于
        LD      init/built-in.o
      arch/mips/built-in.o: In function `startup_bridge_irq':
      ip27-irq.c:(.text+0x434): undefined reference to `irq_to_slot'
      ip27-irq.c:(.text+0x43c): undefined reference to `irq_to_slot'
      ip27-irq.c:(.text+0x460): undefined reference to `irq_to_bridge'
      ip27-irq.c:(.text+0x464): undefined reference to `irq_to_bridge'
      arch/mips/built-in.o: In function `shutdown_bridge_irq':
      ip27-irq.c:(.text+0x564): undefined reference to `irq_to_bridge'
      ip27-irq.c:(.text+0x56c): undefined reference to `irq_to_bridge'
      ip27-irq.c:(.text+0x5a0): undefined reference to `irq_to_slot'
      ip27-irq.c:(.text+0x5a4): undefined reference to `irq_to_slot'
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      8ea2b8b6
  12. 08 5月, 2013 1 次提交
    • R
      MIPS: IP27: Remove pfn_t. · fc0460d0
      Ralf Baechle 提交于
      In the Linux kernel traditionally pfns are represented by an unsigned long.
      However a few bits of the SGI IP27 platform code that were ported from
      IRIX are using pfn_t for historic reasons.  This is conflicting with
      KVM's use of pfn_t.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      fc0460d0
  13. 30 4月, 2013 1 次提交
  14. 11 4月, 2013 1 次提交
    • R
      IP27: Make declaration and definition of rt_timer_irq match. · 9fcb7059
      Ralf Baechle 提交于
      Without, the LTO compiler will complain:
      
      [...]
        LD      init/built-in.o
        LDFINAL vmlinux.o
      arch/mips/sgi-ip27/ip27-irq.c:379:22: warning: type of ‘rt_timer_irq’ does not match original declaration [enabled by default]
        extern unsigned int rt_timer_irq;
                            ^
      arch/mips/sgi-ip27/ip27-timer.c:72:5: note: previously declared here
       int rt_timer_irq;
           ^
        MODPOST vmlinux.o
      [...]
      
      And without LTO, it's still good stile to things match.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      9fcb7059
  15. 19 2月, 2013 1 次提交
  16. 01 2月, 2013 1 次提交
  17. 22 1月, 2013 1 次提交
  18. 01 8月, 2012 1 次提交
  19. 29 3月, 2012 2 次提交
    • R
      remove references to cpu_*_map in arch/ · 0b5f9c00
      Rusty Russell 提交于
      This has been obsolescent for a while; time for the final push.
      
      In adjacent context, replaced old cpus_* with cpumask_*.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Acked-by: David S. Miller <davem@davemloft.net> (arch/sparc)
      Acked-by: Chris Metcalf <cmetcalf@tilera.com> (arch/tile)
      Cc: user-mode-linux-devel@lists.sourceforge.net
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: linux-hexagon@vger.kernel.org
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Helge Deller <deller@gmx.de>
      Cc: sparclinux@vger.kernel.org
      0b5f9c00
    • D
      Disintegrate asm/system.h for MIPS · b81947c6
      David Howells 提交于
      Disintegrate asm/system.h for MIPS.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NRalf Baechle <ralf@linux-mips.org>
      cc: linux-mips@linux-mips.org
      b81947c6
  20. 09 12月, 2011 1 次提交
    • T
      mips: Use HAVE_MEMBLOCK_NODE_MAP · 9d15ffc8
      Tejun Heo 提交于
      mips used early_node_map[] just to prime free_area_init_nodes().  Now
      memblock can be used for the same purpose and early_node_map[] is
      scheduled to be dropped.  Use memblock instead.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NRalf Baechle <ralf@linux-mips.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: linux-mips@linux-mips.org
      9d15ffc8
  21. 08 12月, 2011 2 次提交
  22. 30 10月, 2011 1 次提交
  23. 20 10月, 2011 1 次提交
    • R
      MIPS: IP27: Sort out section mismatch. · 901f6169
      Ralf Baechle 提交于
      WARNING: vmlinux.o(.text+0x3059f8): Section mismatch in reference from the function pcibios_plat_dev_init() to the function .devinit.text:request_bridge_irq()
      The function pcibios_plat_dev_init() references
      the function __devinit request_bridge_irq().
      This is often because pcibios_plat_dev_init lacks a __devinit
      annotation or the annotation of request_bridge_irq is wrong.
      
      Fixing this one leads to:
      
      WARNING: vmlinux.o(.text+0x1790): Section mismatch in reference from the function request_bridge_irq() to the function .devinit.text:register_bridge_irq()
      The function request_bridge_irq() references
      the function __devinit register_bridge_irq().
      This is often because request_bridge_irq lacks a __devinit
      annotation or the annotation of register_bridge_irq is wrong.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      901f6169
  24. 27 7月, 2011 1 次提交
  25. 19 5月, 2011 1 次提交
  26. 11 5月, 2011 2 次提交
  27. 14 4月, 2011 1 次提交
  28. 31 3月, 2011 1 次提交
  29. 29 3月, 2011 1 次提交
  30. 26 3月, 2011 1 次提交
  31. 22 2月, 2011 1 次提交
  32. 05 8月, 2010 2 次提交
  33. 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
  34. 27 2月, 2010 1 次提交