1. 17 6月, 2014 1 次提交
  2. 31 5月, 2014 1 次提交
  3. 26 5月, 2014 2 次提交
  4. 16 5月, 2014 1 次提交
  5. 15 5月, 2014 1 次提交
  6. 21 3月, 2014 1 次提交
  7. 19 12月, 2013 2 次提交
  8. 12 12月, 2013 1 次提交
  9. 15 7月, 2013 1 次提交
    • P
      arm: delete __cpuinit/__CPUINIT usage from all ARM users · 8bd26e3a
      Paul Gortmaker 提交于
      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.
      
      This removes all the ARM uses of the __cpuinit macros from C code,
      and all __CPUINIT from assembly code.  It also had two ".previous"
      section statements that were paired off against __CPUINIT
      (aka .section ".cpuinit.text") that also get removed here.
      
      [1] https://lkml.org/lkml/2013/5/20/589
      
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      8bd26e3a
  10. 19 6月, 2013 3 次提交
  11. 09 4月, 2013 1 次提交
  12. 27 3月, 2013 1 次提交
  13. 13 1月, 2013 1 次提交
    • R
      irqchip: Move ARM gic.h to include/linux/irqchip/arm-gic.h · 520f7bd7
      Rob Herring 提交于
      Now that we have GIC moved to drivers/irqchip and all GIC DT init for
      platforms using irqchip_init, move gic.h and update the remaining
      includes.
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Anton Vorontsov <avorontsov@mvista.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: David Brown <davidb@codeaurora.org>
      Cc: Daniel Walker <dwalker@fifo99.com>
      Cc: Bryan Huntsman <bryanh@codeaurora.org>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Magnus Damm <magnus.damm@gmail.com>
      Cc: Viresh Kumar <viresh.linux@gmail.com>
      Cc: Shiraz Hashim <shiraz.hashim@st.com>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      520f7bd7
  14. 11 1月, 2013 1 次提交
  15. 19 12月, 2012 1 次提交
  16. 28 11月, 2012 1 次提交
  17. 14 9月, 2012 2 次提交
  18. 11 8月, 2012 1 次提交
  19. 14 3月, 2012 1 次提交
  20. 23 1月, 2012 1 次提交
  21. 16 1月, 2012 1 次提交
  22. 16 11月, 2011 1 次提交
    • M
      ARM: gic: allow GIC to support non-banked setups · db0d4db2
      Marc Zyngier 提交于
      The GIC support code is heavily using the fact that hardware
      implementations are exposing banked registers. Unfortunately, it
      looks like at least one GIC implementation (EXYNOS) offers both
      the distributor and the CPU interfaces at different addresses,
      depending on the CPU.
      
      This problem is solved by allowing the distributor and CPU interface
      addresses to be per-cpu variables for the platforms that require it.
      The EXYNOS code is updated not to mess with the GIC internals while
      handling interrupts, and struct gic_chip_data is back to being private.
      The DT binding for the gic is updated to allow an optional "cpu-offset"
      value, which is used to compute the various base addresses.
      
      Finally, a new config option (GIC_NON_BANKED) is used to control this
      feature, so the overhead is only present on kernels compiled with
      support for EXYNOS.
      
      Tested on Origen (EXYNOS4) and Panda (OMAP4).
      
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Thomas Abraham <thomas.abraham@linaro.org>
      Acked-by: NRob Herring <rob.herring@calxeda.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      db0d4db2
  23. 06 11月, 2011 2 次提交
  24. 21 10月, 2011 1 次提交
  25. 17 10月, 2011 1 次提交
  26. 04 10月, 2011 1 次提交
  27. 15 9月, 2011 1 次提交
  28. 24 8月, 2011 1 次提交
  29. 20 7月, 2011 2 次提交
  30. 07 7月, 2011 1 次提交
    • S
      ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1 · 7fa22bd5
      Stephen Boyd 提交于
      If an ARM system has multiple cpus in the same socket and the
      kernel is booted with maxcpus=1, secondary cpus are possible but
      not present due to how platform_smp_prepare_cpus() is called.
      Since most typical ARM processors don't actually support physical
      hotplug, initialize the present map to be equal to the possible
      map in generic ARM SMP code. Also, always call
      platform_smp_prepare_cpus() as long as max_cpus is non-zero (0
      means no SMP) to allow platform code to do any SMP setup.
      
      After applying this patch it's possible to boot an ARM system
      with maxcpus=1 on the command line and then hotplug in secondary
      cpus via sysfs. This is more in line with how x86 does things.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: David Brown <davidb@codeaurora.org>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
      Cc: Linus Walleij <linus.walleij@stericsson.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7fa22bd5
  31. 23 5月, 2011 1 次提交
  32. 22 2月, 2011 1 次提交
  33. 20 12月, 2010 1 次提交
    • R
      ARM: Fix subtle race in CPU pen_release hotplug code · 3705ff6d
      Russell King 提交于
      There is a subtle race in the CPU hotplug code, where a CPU which has
      been offlined can online itself before being requested, which results
      in things going astray on the next online/offline cycle.
      
      What happens in the normal online/offline/online cycle is:
      
      	CPU0			CPU3
      	requests boot of CPU3
      	pen_release = 3
      	flush cache line
      				checks pen_release, reads 3
      				starts boot
      				pen_release = -1
      	... requests CPU3 offline ...
      				... dies ...
      				checks pen_release, reads -1
      	requests boot of CPU3
      	pen_release = 3
      	flush cache line
      				checks pen_release, reads 3
      				starts boot
      				pen_release = -1
      
      However, as the write of -1 of pen_release is not fully flushed back to
      memory, and the checking of pen_release is done with caches disabled,
      this allows CPU3 the opportunity to read the old value of pen_release:
      
      	CPU0			CPU3
      	requests boot of CPU3
      	pen_release = 3
      	flush cache line
      				checks pen_release, reads 3
      				starts boot
      				pen_release = -1
      	... requests CPU3 offline ...
      				... dies ...
      				checks pen_release, reads 3
      				starts boot
      				pen_release = -1
      	requests boot of CPU3
      	pen_release = 3
      	flush cache line
      
      Fix this by grouping the write of pen_release along with its cache line
      flushing code to ensure that any update to pen_release is always pushed
      out to physical memory.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3705ff6d