1. 11 11月, 2011 1 次提交
  2. 04 11月, 2011 1 次提交
  3. 21 7月, 2011 1 次提交
  4. 24 6月, 2011 2 次提交
  5. 14 6月, 2011 1 次提交
  6. 23 3月, 2011 1 次提交
    • R
      sh: Use struct syscore_ops instead of sysdevs · a696b89c
      Rafael J. Wysocki 提交于
      Convert the SuperH clocks framework and shared interrupt handling
      code to using struct syscore_ops instead of a sysdev classes and
      sysdevs for power managment.
      
      This reduces the code size significantly and simplifies it.  The
      optimizations causing things not to be restored after creating a
      hibernation image are removed, but they might lead to undesirable
      effects during resume from hibernation (e.g. the clocks would be left
      as the boot kernel set them, which might be not the same way as the
      hibernated kernel had seen them before the hibernation).
      
      This also is necessary for removing sysdevs from the kernel entirely
      in the future.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      a696b89c
  7. 11 1月, 2011 1 次提交
  8. 19 11月, 2010 1 次提交
  9. 15 11月, 2010 2 次提交
  10. 10 11月, 2010 1 次提交
    • P
      sh: clkfwk: fix up compiler warnings. · ed10b490
      Paul Mundt 提交于
        CC      drivers/sh/clk/core.o
      drivers/sh/clk/core.c: In function 'clk_round_parent':
      drivers/sh/clk/core.c:574: warning: format '%lu' expects type 'long unsigned int', but argument 2 has type 'unsigned int'
      drivers/sh/clk/core.c:594: warning: format '%lu' expects type 'long unsigned int', but argument 2 has type 'unsigned int'
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      ed10b490
  11. 08 11月, 2010 2 次提交
  12. 02 11月, 2010 1 次提交
  13. 18 10月, 2010 2 次提交
  14. 15 10月, 2010 4 次提交
    • P
      sh: clkfwk: Fix fault in frequency iterator. · e5690e0d
      Paul Mundt 提交于
      When updating the iterator macro an old argument assignment was used on
      the initial assignment causing a fault on the table rounding. Fix it up.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      e5690e0d
    • P
      sh: clkfwk: Add a helper for rate rounding by divisor ranges. · 8e122db6
      Paul Mundt 提交于
      This adds a new clk_rate_div_range_round() for implementing rate rounding
      by divisor ranges. This can be used trivially by clocks that support
      arbitrary ranged divisors without the need for rate table construction.
      
      This should only be used by clocks that both have large divisor ranges in
      addition to clocks that will never be arbitrarily scaled, as the lack of
      a backing frequency table will prevent cpufreq from being able to do much
      of anything with them.
      
      Primarily intended for use as a ->recalc helper.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      8e122db6
    • P
      sh: clkfwk: Abstract rate rounding helper. · f586903d
      Paul Mundt 提交于
      Presently the only assisted rate rounding is frequency table backed, but
      there are cases where it's impractical to use a frequency table for
      certain clocks (such as the FSIDIV case, which supports 65535 divisors),
      and we wish to reuse the same rate rounding algorithm.
      
      This breaks out the core of the rate rounding logic in to its own helper
      routine and shuffles the frequency table logic around, switching to using
      an iterator for the generic helper routine.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      f586903d
    • P
      sh: clkfwk: support clock remapping. · 28085bc5
      Paul Mundt 提交于
      This implements support for ioremapping of register windows that
      encapsulate clock control registers used by a struct clk, with
      transparent sibling inheritance.
      
      Root clocks at the top of a given topology often encapsulate the entire
      register space of all of their sibling clocks, so this mapping can be
      done once and handed down. A given clock enable/disable case maps out to
      a single bit in a shared register, so this prevents creating multiple
      overlapping mappings.
      
      The mapping case breaks down in to a couple of different situations:
      
      	- Sibling clocks without a specific mapping.
      	- Root clocks without a specific mapping.
      	- Any of sibling/root clocks with a specific mapping.
      
      Sibling clocks with no specified mapping will grovel up the clock chain
      and install the root clock mapping unconditionally at registration time.
      
      Root clocks without their own mappings have a dummy BSS-initialized
      mapping inserted that is handed down the chain just like any other
      mapping. This permits all of the sibling clock ops to read/write using
      the mapping offsets without any special configuration, enabling them to
      not care whether access ultimately goes through translatable or
      untranslatable memory.
      
      Any clock with its own mapping will have the window initialized at
      registration time and be ready for use by its clock ops. Failure to
      establish the mapping will prevent registration, so no additional sanity
      checks are needed. Sibling clocks that double as parents for the moment
      will not propagate their mapping down, but this is easily tunable if the
      need arises.
      
      All clock mappings are kref refcounted, with each instance of mapping
      inheritance incrementing the refcount.
      Tested-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      28085bc5
  15. 13 10月, 2010 2 次提交
  16. 20 8月, 2010 1 次提交
    • P
      sh: reinstate clock framework rate rounding. · 960bc368
      Paul Mundt 提交于
      This was killed off by a simplification patch previously that failed to
      take the cpufreq use case in to account, so reinstate the old bounding
      logic. The lowest rate bounding on the other hand was broken in that it
      never actually got assigned a rate and the best fit rate was instead just
      getting lucky based on the ordering of the rate table, fix this up so the
      code actually does what it was intended to do originally.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      960bc368
  17. 02 7月, 2010 2 次提交
  18. 13 5月, 2010 3 次提交
  19. 11 5月, 2010 2 次提交
  20. 09 3月, 2010 1 次提交
  21. 05 2月, 2010 1 次提交
  22. 02 2月, 2010 1 次提交
  23. 11 6月, 2009 1 次提交
  24. 26 5月, 2009 2 次提交
  25. 14 5月, 2009 1 次提交
  26. 13 5月, 2009 2 次提交
    • P
      sh: clkfwk: Map tree hierarchy in debugfs. · cedcf336
      Paul Mundt 提交于
      This adopts the OMAP clock framework debugfs bits and replaces the aging
      procfs bits. The procfs clocks entry was primarily a debugging aid, and
      used to be tied in to cpuinfo before the clock list grew too unweildly.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      cedcf336
    • P
      sh: clkfwk: rate table construction and rounding for SH7785. · cc96eace
      Paul Mundt 提交于
      This adds support for constructing a rate table by looking at potential
      divisors for a specified clock. Each FQRMR clock is given its own table.
      Presently each table is rebuilt when the parent propagates down a new
      rate, so some more logic needs to be added to do this more intelligently.
      
      Additionally, a fairly generic round_rate() implementation is then
      layered on top of it, which subsequently provides us with cpufreq support.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      cc96eace