1. 02 10月, 2013 1 次提交
  2. 07 8月, 2013 1 次提交
  3. 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
  4. 25 6月, 2013 1 次提交
  5. 13 6月, 2013 1 次提交
  6. 23 3月, 2013 3 次提交
    • S
      ARM: msm: Wait for timer clear to complete · e25e3d1f
      Stephen Boyd 提交于
      Without looping on the status bit, there is no way to guarantee
      that a clear of the timer has actually completed. This can cause
      us to enable the timer before the count has cleared and miss a
      timer interrupt. To simplify this patch, remove the timer
      register setup done during timer init, since it's duplicate work
      that is eventually done in the set_next_event() callback.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      e25e3d1f
    • S
      ARM: msm: Rework timer binding to be more general · eebdb0c1
      Stephen Boyd 提交于
      The msm timer binding I wrote is bad. First off, the clock
      frequency in the binding for the dgt is wrong. Software divides
      down the input rate by 4 to achieve the rate listed in the
      binding. We also treat each individual timer as a separate
      hardware component, when in reality there is one timer block
      (that may be duplicated per cpu) with multiple timers within it.
      Depending on the version of the hardware there can be one or two
      general purpose timers, status and divider control registers, and
      an entirely different register layout.
      
      In the next patch we'll need to know about the different register
      layouts so that we can properly check the status register after
      clearing the count. The current binding makes this complicated
      because the general purpose timer's reg property doesn't indicate
      where that status register is, and in fact it is beyond the size
      of the reg property.
      
      Clean all this up by just having one node for the timer hardware,
      and describe all the interrupts and clock frequencies supported
      while having one reg property that covers the entire timer
      register region. We'll use the compatible field in the future to
      determine different register layouts and if we should read the
      status registers, etc.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      eebdb0c1
    • S
      ARM: msm: Stop counting before reprogramming clockevent · 4080d2d1
      Stephen Boyd 提交于
      If the clockevent is forcibly reprogrammed to have a different
      match value we mistakenly assume the timer is not ticking and
      program a new match value while the timer is running. Although we
      clear the timer before programming a new match, it's better to
      stop the timer before clearing it so that we're sure the proper
      amount of ticks are counted. Failure to do so can lead to missed
      ticks and system hangs.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      4080d2d1
  7. 15 1月, 2013 1 次提交
  8. 13 1月, 2013 1 次提交
  9. 25 12月, 2012 1 次提交
  10. 14 9月, 2012 6 次提交
    • S
      ARM: msm: Remove non-DT targets from 8960 · 0607fa58
      Stephen Boyd 提交于
      Remove the non-DT targets supported by 8960. This makes 8960 a
      device tree only target.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      0607fa58
    • S
      ARM: msm: Make 8660 a DT only target · 5b67bfba
      Stephen Boyd 提交于
      We don't plan to support anything besides devicetree on these
      targets so remove all other machine support.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      5b67bfba
    • S
      ARM: msm: Add DT support to msm_timer · 6e332163
      Stephen Boyd 提交于
      Add support to setup the MSM timer via information obtained from
      the devicetree.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      [davidb@codeaurora.org: Remove leading zeros]
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      6e332163
    • S
      ARM: msm: Allow timer.c to compile on multiple targets · 4312a7ef
      Stephen Boyd 提交于
      The timer code relies on #defines from mach/iomap.h, cpu_is_*()
      checks, and a global irq #define. All this makes this file
      impossible to compile in a mult-target build. Therefore, make a
      sys_timer struct for each SoC so that machine descriptors can
      reference the correct timer. Then go through and replace all the
      defines with raw values that are passed to a common
      initialization function.
      
      This paves the way to adding DT support to this code as well as
      allows us to compile this file on multiple targets at the same
      time.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      4312a7ef
    • S
      ARM: msm: Don't touch GIC registers outside of GIC code · 66a89509
      Stephen Boyd 提交于
      The MSM code has some antiquated register writes to set up the
      PPIs to be edge triggered. Now that we have the percpu irq
      interface we don't need this code so let's remove it and update
      the percpu irq user (msm_timer) to set the irq type.
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      66a89509
    • S
      ARM: msm: Fix sparse warnings due to incorrect type · 3b5909de
      Stephen Boyd 提交于
      arch/arm/mach-msm/timer.c:153:3: warning: incorrect type in initializer (different address spaces)
      arch/arm/mach-msm/timer.c:153:3:    expected void const [noderef] <asn:3>*__vpp_verify
      arch/arm/mach-msm/timer.c:153:3:    got struct clock_event_device [noderef] <asn:3>**<noident>
      arch/arm/mach-msm/timer.c:153:38: warning: incorrect type in assignment (different address spaces)
      arch/arm/mach-msm/timer.c:153:38:    expected struct clock_event_device [noderef] <asn:3>*<noident>
      arch/arm/mach-msm/timer.c:153:38:    got struct clock_event_device *evt
      arch/arm/mach-msm/timer.c:191:22: warning: incorrect type in assignment (different address spaces)
      arch/arm/mach-msm/timer.c:191:22:    expected struct clock_event_device [noderef] <asn:3>**static [toplevel] percpu_evt
      arch/arm/mach-msm/timer.c:191:22:    got struct clock_event_device *[noderef] <asn:3>*<noident>
      arch/arm/mach-msm/timer.c:196:4: warning: incorrect type in initializer (different address spaces)
      arch/arm/mach-msm/timer.c:196:4:    expected void const [noderef] <asn:3>*__vpp_verify
      arch/arm/mach-msm/timer.c:196:4:    got struct clock_event_device [noderef] <asn:3>**<noident>
      arch/arm/mach-msm/timer.c:196:39: warning: incorrect type in assignment (different address spaces)
      arch/arm/mach-msm/timer.c:196:39:    expected struct clock_event_device [noderef] <asn:3>*<noident>
      arch/arm/mach-msm/timer.c:196:39:    got struct clock_event_device *ce
      arch/arm/mach-msm/timer.c:198:24: warning: incorrect type in argument 4 (different address spaces)
      arch/arm/mach-msm/timer.c:198:24:    expected void [noderef] <asn:3>*percpu_dev_id
      arch/arm/mach-msm/timer.c:198:24:    got struct clock_event_device [noderef] <asn:3>**static [toplevel] percpu_evt
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      3b5909de
  11. 13 3月, 2012 1 次提交
  12. 25 2月, 2012 1 次提交
  13. 11 11月, 2011 8 次提交
  14. 23 10月, 2011 1 次提交
  15. 21 6月, 2011 1 次提交
  16. 18 6月, 2011 1 次提交
  17. 01 6月, 2011 1 次提交
  18. 01 4月, 2011 1 次提交
    • D
      msm: timer: fix missing return value · 893b66c3
      David Brown 提交于
      Change af90f10d "ARM: 6759/1: smp: Select local timers vs broadcast
      timer support runtime" missed a return statement, causing a compile
      warning:
      
        arch/arm/mach-msm/timer.c:272: warning: 'return' with no value, in
        function returning non-void
      
      Trivially return 0 for success when running on cpu 0 (to match the
      comment and previous behavior).
      Signed-off-by: NDavid Brown <davidb@codeaurora.org>
      893b66c3
  19. 24 2月, 2011 1 次提交
    • S
      ARM: 6759/1: smp: Select local timers vs broadcast timer support runtime · af90f10d
      Santosh Shilimkar 提交于
      The current code support of dummy timers in absence of local
      timer is compile time. This is an attempt to convert it to runtime
      so that on few SOC version if the local timers aren't supported
      kernel can switch to dummy timers. OMAP4430 ES1.0 does suffer from
      this limitation.
      
      This patch should not have any functional impact on affected
      files.
      
      Cc: Daniel Walker <dwalker@codeaurora.org>
      Cc: Bryan Huntsman <bryanh@codeaurora.org>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Magnus Damm <magnus.damm@gmail.com>
      Cc: Colin Cross <ccross@android.com>
      Cc: Erik Gilling <konkers@android.com>
      Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
      Cc: Linus Walleij <linus.walleij@stericsson.com>
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NDavid Brown <davidb@codeaurora.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      af90f10d
  20. 22 1月, 2011 2 次提交
  21. 08 1月, 2011 1 次提交
  22. 23 12月, 2010 1 次提交
  23. 28 10月, 2010 1 次提交
  24. 09 10月, 2010 1 次提交
  25. 14 5月, 2010 1 次提交