1. 15 5月, 2012 1 次提交
  2. 14 5月, 2012 1 次提交
    • M
      regmap: Convert regmap_irq to use irq_domain · 4af8be67
      Mark Brown 提交于
      This gets us up to date with the recommended current kernel infrastructure
      and should transparently give us device tree interrupt bindings for any
      devices using the framework. If an explicit IRQ mapping is passed in then
      a legacy interrupt range is created, otherwise a simple linear mapping is
      used. Previously a mapping was mandatory so existing drivers should not
      be affected.
      
      A function regmap_irq_get_virq() is provided to allow drivers to map
      individual IRQs which should be used in preference to the existing
      regmap_irq_chip_get_base() which is only valid if a legacy IRQ range is
      provided.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      4af8be67
  3. 09 5月, 2012 1 次提交
  4. 01 5月, 2012 1 次提交
  5. 10 4月, 2012 2 次提交
    • S
      regmap: implement register striding · f01ee60f
      Stephen Warren 提交于
      regmap_config.reg_stride is introduced. All extant register addresses
      are a multiple of this value. Users of serial-oriented regmap busses will
      typically set this to 1. Users of the MMIO regmap bus will typically set
      this based on the value size of their registers, in bytes, so 4 for a
      32-bit register.
      
      Throughout the regmap code, actual register addresses are used. Wherever
      the register address is used to index some array of values, the address
      is divided by the stride to determine the index, or vice-versa. Error-
      checking is added to all entry-points for register address data to ensure
      that register addresses actually satisfy the specified stride. The MMIO
      bus ensures that the specified stride is large enough for the register
      size.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      f01ee60f
    • S
      regmap: allow regmap instances to be named · d3c242e1
      Stephen Warren 提交于
      Some devices have multiple separate register regions. Logically, one
      regmap would be created per region. One issue that prevents this is that
      each instance will attempt to create the same debugfs files. Avoid this
      by allowing regmaps to be named, and use the name to construct the
      debugfs directory name.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      d3c242e1
  6. 06 4月, 2012 3 次提交
  7. 16 3月, 2012 1 次提交
    • P
      device.h: audit and cleanup users in main include dir · 313162d0
      Paul Gortmaker 提交于
      The <linux/device.h> header includes a lot of stuff, and
      it in turn gets a lot of use just for the basic "struct device"
      which appears so often.
      
      Clean up the users as follows:
      
      1) For those headers only needing "struct device" as a pointer
      in fcn args, replace the include with exactly that.
      
      2) For headers not really using anything from device.h, simply
      delete the include altogether.
      
      3) For headers relying on getting device.h implicitly before
      being included themselves, now explicitly include device.h
      
      4) For files in which doing #1 or #2 uncovers an implicit
      dependency on some other header, fix by explicitly adding
      the required header(s).
      
      Any C files that were implicitly relying on device.h to be
      present have already been dealt with in advance.
      
      Total removals from #1 and #2: 51.  Total additions coming
      from #3: 9.  Total other implicit dependencies from #4: 7.
      
      As of 3.3-rc1, there were 110, so a net removal of 42 gives
      about a 38% reduction in device.h presence in include/*
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      313162d0
  8. 11 3月, 2012 1 次提交
  9. 01 3月, 2012 1 次提交
  10. 24 2月, 2012 1 次提交
    • M
      regmap: Allow drivers to sync only part of the register cache · 4d4cfd16
      Mark Brown 提交于
      Provide a regcache_sync_region() operation which allows drivers to
      write only part of the cache back to the hardware. This is intended
      for use in cases like power domains or DSP memories where part of the
      device register map may be reset without fully resetting the device.
      
      Fully supporting these devices is likely to require additional work to
      make specific regions of the register map cache only while they are in
      reset, but this is enough for most devices.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      4d4cfd16
  11. 21 2月, 2012 1 次提交
  12. 18 2月, 2012 1 次提交
  13. 15 2月, 2012 1 次提交
  14. 31 1月, 2012 1 次提交
  15. 23 1月, 2012 1 次提交
    • M
      regmap: Support register patch sets · 22f0d90a
      Mark Brown 提交于
      Device manufacturers frequently provide register sequences, usually not
      fully documented, to be run at startup in order to provide better defaults
      for devices (for example, improving performance in the light of silicon
      evaluation). Support such updates by allowing drivers to register update
      sets with the core. These updates will be written to the device immediately
      and will also be rewritten when the cache is synced.
      
      The assumption is that the reason for resyncing the cache will always be
      that the device has been powered off. If this turns out to not be the case
      then a separate operation can be provided.
      
      Currently the implementation only allows a single set of updates to be
      specified for a device, this could be extended in future.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      22f0d90a
  16. 20 1月, 2012 1 次提交
  17. 06 12月, 2011 1 次提交
  18. 05 12月, 2011 1 次提交
  19. 30 11月, 2011 1 次提交
  20. 21 11月, 2011 1 次提交
  21. 17 11月, 2011 1 次提交
  22. 08 11月, 2011 3 次提交
  23. 01 11月, 2011 1 次提交
    • P
      include: replace linux/module.h with "struct module" wherever possible · de477254
      Paul Gortmaker 提交于
      The <linux/module.h> pretty much brings in the kitchen sink along
      with it, so it should be avoided wherever reasonably possible in
      terms of being included from other commonly used <linux/something.h>
      files, as it results in a measureable increase on compile times.
      
      The worst culprit was probably device.h since it is used everywhere.
      This file also had an implicit dependency/usage of mutex.h which was
      masked by module.h, and is also fixed here at the same time.
      
      There are over a dozen other headers that simply declare the
      struct instead of pulling in the whole file, so follow their lead
      and simply make it a few more.
      
      Most of the implicit dependencies on module.h being present by
      these headers pulling it in have been now weeded out, so we can
      finally make this change with hopefully minimal breakage.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      de477254
  24. 30 9月, 2011 1 次提交
  25. 20 9月, 2011 6 次提交
  26. 10 9月, 2011 1 次提交
  27. 06 9月, 2011 2 次提交
  28. 21 8月, 2011 1 次提交
    • M
      regmap: Allow drivers to specify register defaults · bd20eb54
      Mark Brown 提交于
      It is useful for the register cache code to be able to specify the
      default values for the device registers. The major use is when restoring
      the register cache after suspend, knowing the register defaults allows
      us to skip registers that are at their default values when we resume which
      can be a substantial win on larger modern devices. For some devices
      (mostly older ones) the hardware does not support readback so the only way we
      can know the values is from code and so initializing the cache with default
      values makes it much easier for drivers work with read/modify/write
      updates.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      bd20eb54
  29. 09 8月, 2011 1 次提交