1. 23 11月, 2016 1 次提交
    • R
      Revert "arm: move exports to definitions" · 8478132a
      Russell King 提交于
      This reverts commit 4dd1837d.
      
      Moving the exports for assembly code into the assembly files breaks
      KSYM trimming, but also breaks modversions.
      
      While fixing the KSYM trimming is trivial, fixing modversions brings
      us to a technically worse position that we had prior to the above
      change:
      
      - We end up with the prototype definitions divorsed from everything
        else, which means that adding or removing assembly level ksyms
        become more fragile:
        * if adding a new assembly ksyms export, a missed prototype in
          asm-prototypes.h results in a successful build if no module in
          the selected configuration makes use of the symbol.
        * when removing a ksyms export, asm-prototypes.h will get forgotten,
          with armksyms.c, you'll get a build error if you forget to touch
          the file.
      
      - We end up with the same amount of include files and prototypes,
        they're just in a header file instead of a .c file with their
        exports.
      
      As for lines of code, we don't get much of a size reduction:
       (original commit)
       47 files changed, 131 insertions(+), 208 deletions(-)
       (fix for ksyms trimming)
       7 files changed, 18 insertions(+), 5 deletions(-)
       (two fixes for modversions)
       1 file changed, 34 insertions(+)
       3 files changed, 7 insertions(+), 2 deletions(-)
      which results in a net total of only 25 lines deleted.
      
      As there does not seem to be much benefit from this change of approach,
      revert the change.
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      8478132a
  2. 12 8月, 2016 1 次提交
  3. 08 8月, 2016 1 次提交
  4. 15 4月, 2015 1 次提交
  5. 17 6月, 2014 1 次提交
  6. 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
  7. 03 4月, 2013 1 次提交
  8. 21 2月, 2013 1 次提交
  9. 10 10月, 2012 1 次提交
    • A
      ARM: export default read_current_timer · f3accb12
      Arnd Bergmann 提交于
      read_current_timer is used by get_cycles since "ARM: 7538/1: delay:
      add registration mechanism for delay timer sources", and get_cycles
      can be used by device drivers in loadable modules, so it has to
      be exported.
      
      Without this patch, building imote2_defconfig fails with
      
      ERROR: "read_current_timer" [crypto/tcrypt.ko] undefined!
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: Jonathan Austin <jonathan.austin@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      f3accb12
  10. 27 9月, 2012 1 次提交
  11. 10 9月, 2012 1 次提交
  12. 10 7月, 2012 1 次提交
    • W
      ARM: 7452/1: delay: allow timer-based delay implementation to be selected · d0a533b1
      Will Deacon 提交于
      This patch allows a timer-based delay implementation to be selected by
      switching the delay routines over to use get_cycles, which is
      implemented in terms of read_current_timer. This further allows us to
      skip the loop calibration and have a consistent delay function in the
      face of core frequency scaling.
      
      To avoid the pain of dealing with memory-mapped counters, this
      implementation uses the co-processor interface to the architected timers
      when they are available. The previous loop-based implementation is
      kept around for CPUs without the architected timers and we retain both
      the maximum delay (2ms) and the corresponding conversion factors for
      determining the number of loops required for a given interval. Since the
      indirection of the timer routines will only work when called from C,
      the sa1100 sleep routines are modified to branch to the loop-based delay
      functions directly.
      Tested-by: NShinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
      Reviewed-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      d0a533b1