1. 12 9月, 2012 1 次提交
    • P
      ARM: OMAP: unwrap strings · 7852ec05
      Paul Walmsley 提交于
      Find and unwrap wrapped strings in the style:
      
      	pr_debug("clockdomain: hardware cannot set/clear wake up of "
      		 "%s when %s wakes up\n", clkdm1->name, clkdm2->name);
      
      Keeping these strings contiguous seems to be the current Linux kernel
      policy.
      
      The offending lines were found with the following command:
      
          pcregrep -rnM '"\s*$\s*"' arch/arm/*omap*
      
      While here, some messages have been clarified, some pr_warning(
      ... calls have been converted to pr_warn( ..., and some printk(KERN_*
      ... have been converted to pr_*.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      7852ec05
  2. 08 5月, 2012 1 次提交
  3. 01 11月, 2011 1 次提交
    • P
      arm: fix implicit memset/string.h usage in various arch/arm files · d44b28c4
      Paul Gortmaker 提交于
      To fix things like this:
      
      arch/arm/mach-omap2/usb-tusb6010.c:58: error: implicit declaration of function 'memset'
      arch/arm/kernel/leds.c:40: error: implicit declaration of function 'strcspn'
      arch/arm/kernel/leds.c:40: warning: incompatible implicit declaration of built-in function 'strcspn'
      arch/arm/kernel/leds.c:45: error: implicit declaration of function 'strncmp'
      arch/arm/kernel/leds.c:55: error: implicit declaration of function 'strlen'
      arch/arm/kernel/leds.c:55: warning: incompatible implicit declaration of built-in function 'strlen'
      arch/arm/mach-omap2/clockdomain.c:52: error: implicit declaration of function 'strcmp'
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      d44b28c4
  4. 15 9月, 2011 2 次提交
    • P
      OMAP: clockdomain code/data: remove omap_chip bitmask from struct clockdomain · a5ffef6a
      Paul Walmsley 提交于
      At Tony's request, remove the omap_chip bitmasks from the clockdomain
      and clockdomain dependency definitions.  Instead, initialize
      clockdomains based on one or more lists that are applicable to a
      particular SoC family, variant, and silicon revision.
      
      Tony Lindgren <tony@atomide.com> found a bug in a previous version of this
      patch - thanks Tony.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tony Lindgren <tony@atomide.com>
      a5ffef6a
    • P
      OMAP: clockdomain: split clkdm_init() · 08cb9703
      Paul Walmsley 提交于
      In preparation for OMAP_CHIP() removal, split clkdm_init() into four
      functions.  This allows some of them to be called multiple times: for
      example, clkdm_register_clkdms() can be called once to register
      clockdomains that are common to a group of SoCs, and once to register
      clockdomains that are specific to a single SoC.
      
      The appropriate order to call these functions - which is enforced
      by the code - is:
      
      1. clkdm_register_platform_funcs()
      2. clkdm_register_clkdms() (can be called multiple times)
      3. clkdm_register_autodeps() (optional; deprecated)
      4. clkdm_complete_init()
      
      Convert the OMAP2, 3, and 4 clockdomain init code to use these new
      functions.
      
      While here, improve documentation, and increase CodingStyle
      conformance by shortening some local variable names.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      08cb9703
  5. 20 8月, 2011 1 次提交
  6. 10 7月, 2011 4 次提交
  7. 31 3月, 2011 1 次提交
  8. 10 3月, 2011 1 次提交
    • P
      OMAP2+: clockdomain: add flag that will block autodeps from being added for a clockdomain · 570b54c7
      Paul Walmsley 提交于
      Add a new clockdomain flag, CLKDM_NO_AUTODEPS, which, when marked on a
      clockdomain, will prevent "autodeps" from being associated with the
      clockdomain.  ("Autodeps" are sleep dependencies and wakeup
      dependencies from/to processor modules that are automatically added to
      a clockdomain when it is in hardware-supervised idle mode.  They are
      deprecated -- a relic from the old CDP trees -- but are still in use
      for OMAP3.)
      
      Also, prevent the hwmod code from adding or removing initiator
      dependencies for clockdomains with this flag set.
      
      This patch should allow others to test which clockdomains actually
      still need autodeps.
      
      Thanks to Kevin Hilman <khilman@ti.com> for noting that the original
      version should also modify the hwmod code.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      570b54c7
  9. 26 2月, 2011 6 次提交
  10. 19 1月, 2011 1 次提交
  11. 22 12月, 2010 7 次提交
  12. 24 9月, 2010 1 次提交
  13. 21 5月, 2010 1 次提交
    • P
      OMAP2 PRCM: convert OMAP2 PRCM macros to the _SHIFT/_MASK suffixes · f38ca10a
      Paul Walmsley 提交于
      Fix all of the remaining OMAP2 PRCM register shift/bitmask macros that
      did not use the _SHIFT/_MASK suffixes to use them.  This makes the use
      of these macros consistent.  It is intended to reduce error, as code
      can be inspected visually by reviewers to ensure that bitshifts and
      bitmasks are used in the appropriate places.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      f38ca10a
  14. 31 3月, 2010 1 次提交
  15. 25 2月, 2010 3 次提交
    • P
      OMAP2+ clock: revise omap2_clk_{disable,enable}() · 30962d9d
      Paul Walmsley 提交于
      Simplify the code in the omap2_clk_disable() and omap2_clk_enable()
      functions, reducing levels of indentation.  This makes the code easier
      to read.  Add some additional debugging pr_debug()s here also to help
      others understand what is going on.
      
      Revise the omap2_clk_disable() logic so that it now attempts to
      disable the clock's clockdomain before recursing up the clock tree.
      Simultaneously, ensure that omap2_clk_enable() is called on parent
      clocks first, before enabling the clockdomain.  This ensures that a
      parent clock's clockdomain is enabled before the child clock's
      clockdomain.  These sequences should be the inverse of each other.
      
      Revise the omap2_clk_enable() logic so that it now cleans up after
      itself upon encountering an error.  Previously, an error enabling a
      parent clock could have resulted in inconsistent usecounts on the
      enclosing clockdomain.
      
      Remove the trivial _omap2_clk_disable() and _omap2_clk_enable() static
      functions, and replace it with the clkops calls that they were
      executing.
      
      For all this to work, the clockdomain omap2_clkdm_clk_enable() and
      omap2_clkdm_clk_disable() code must not return an error on clockdomains
      without CLKSTCTRL registers; so modify those functions to simply return 0
      in that case.
      
      While here, add some basic kerneldoc documentation on both functions,
      and get rid of some old non-CodingStyle-compliant comments that have
      existed since the dawn of time (at least, the OMAP clock framework's
      time).
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Richard Woodruff <r-woodruff2@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      30962d9d
    • P
      OMAP clockdomain: if no autodeps exist, don't try to add or remove them · ad956160
      Paul Walmsley 提交于
      _clkdm_add_autodeps() and _clkdm_del_autodeps() will attempt to dereference
      a NULL pointer if no autodeps were supplied to clkdm_init().
      
      Based on a patch from Roel Kluin <roel.kluin@gmail.com> - thanks Roel.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Roel Kluin <roel.kluin@gmail.com>
      ad956160
    • A
      ARM: OMAP4 clock domain: Add check for avoiding dependency related update. · 91808a81
      Abhijit Pagare 提交于
      A check is added for avoiding the sleep/wakeup dependency updates
      for OMAP4 as the structures for the dependencies are currently absent.
      Signed-off-by: NAbhijit Pagare <abhijitpagare@ti.com>
      [paul@pwsan.com: added warnings, explanatory comment, copyright update]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      91808a81
  16. 27 1月, 2010 8 次提交
    • P
      OMAP clockdomain/powerdomain: improve documentation · f0271d65
      Paul Walmsley 提交于
      This patch only affects documentation; no functional changes are
      included.
      
      Clean up comments in the current clockdomain, powerdomain code and
      header files.  This mostly involves conversion to kerneldoc format,
      although some clarifications are also included.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      f0271d65
    • P
      OMAP clockdomains: add usecounting for wakeup and sleep dependencies · 369d5614
      Paul Walmsley 提交于
      Add usecounting for wakeup and sleep dependencies.  In the current
      situation, if several functions add dependencies on the same
      clockdomains, when the first dependency removal function is called,
      the dependency will be incorrectly removed from the hardware.
      
      Add clkdm_clear_all_wkdeps() and clkdm_clear_all_sleepdeps(), which
      provide a fast and usecounting-consistent way to clear all hardware
      clockdomain dependencies, since accesses to these registers can be
      quite slow.  pm{2,3}4xx.c has been updated to use these new functions.
      The original version of this patch did not touch these files, which
      previously wrote directly to the wkdep registers, and thus confused
      the usecounting code.  This problem was found by Kevin Hilman
      <khilman@deeprootsystems.com>.
      
      N.B.: This patch introduces one significant functional difference over
      the previous pm34xx.c code: sleepdeps are now cleared during
      clockdomain initialization, whereas previously they were left
      untouched.  This has been tested by Kevin and confirmed to work.
      
      The original version of this patch also did not take into
      consideration that some clockdomains do not have sleep or wakeup
      dependency sources, which caused NULL pointer dereferences.  This
      problem was debugged and fixed by Kevin Hilman
      <khilman@deeprootsystems.com>.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      Cc: Jouni Högander <jouni.hogander@nokia.com>
      369d5614
    • P
      OMAP clockdomain/powerdomain: remove runtime register/unregister · e909d62a
      Paul Walmsley 提交于
      OMAP clockdomains and powerdomains are currently defined statically,
      only registered at boot, and never unregistered, so we can remove the
      unregister function and the locking.   A variant of this was originally
      suggested a while ago by Dmitry Baryshkov <dbaryshkov@gmail.com>.
      This version of this patch contains an additional fix from Kevin Hilman
      <khilman@deeprootsystems.com> to address one of the pwrdm_for_each_nolock()
      users in mach-omap2/pm-debug.c.   Thanks Kevin.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Dmitry Baryshkov <dbaryshkov@gmail.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      e909d62a
    • P
      OMAP2/3 clkdm/pwrdm: move wkdep/sleepdep handling from pwrdm to clkdm · 55ed9694
      Paul Walmsley 提交于
      Move clockdomain wakeup dependency and sleep dependency data
      structures from the powerdomain layer to the clockdomain layer, where
      they belong.  These dependencies were originally placed in the
      powerdomain layer due to unclear documentation; however, it is clear
      now that these dependencies are between clockdomains.  For OMAP2/3,
      this is not such a big problem, but for OMAP4 this needs to be fixed.
      
      Thanks to Benoît Cousson <b-cousson@ti.com> for his advice on this
      patch.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      55ed9694
    • A
      ARM: OMAP4: PM: Refine the APIs to support OMAP4 features. · 8a3ddc75
      Abhijit Pagare 提交于
      Port the APIs to support the OMAP4 clockdomain framework.
      Also take care of the compiling requirements for the same.
      Signed-off-by: NAbhijit Pagare <abhijitpagare@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      8a3ddc75
    • A
      ARM: OMAP4: PM: Modify Clock-domain interfaces for OMAP4 compatibility. · b099474a
      Abhijit Pagare 提交于
      Here the APIs are modified to use absolute addresses instead of module offsets.
      Signed-off-by: NAbhijit Pagare <abhijitpagare@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      b099474a
    • A
      ARM: OMAP4: PM: Make OMAP3 Clock-domain framework compatible for OMAP4. · 84c0c39a
      Abhijit Pagare 提交于
      Here the ".clkstctrl_reg" field is added to the clockdomain stucture
      as the module offsets for OMAP4 do not map one to one for powerdomains
      and clockdomains as it used to for OMAP3. Hence we need to use absolute
      addresses to access the control registers. Some of the clock domains have
      modules falling in the address space of PRM partition. Hence  necessitating
      the use of absolute adresses.
      Signed-off-by: NAbhijit Pagare <abhijitpagare@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      84c0c39a
    • A
      ARM: OMAP4: PM: OMAP4 Power Domain Porting Related Clean-up. · 37903009
      Abhijit Pagare 提交于
      Module offsets were same for OMAP2 and OMAP3 while they differ for OMAP4.
      Hence we need different macros for identifying platform specific offsets.
      Signed-off-by: NAbhijit Pagare <abhijitpagare@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      37903009