1. 15 10月, 2012 1 次提交
  2. 31 8月, 2012 1 次提交
  3. 08 8月, 2012 1 次提交
  4. 18 6月, 2012 1 次提交
    • K
      regmap: Add support for register indirect addressing. · 6863ca62
      Krystian Garbaciak 提交于
      Devices with register paging or indirectly accessed registers can configure
      register mapping to map those on virtual address range. During access to
      virtually mapped register range, indirect addressing is processed
      automatically, in following steps:
        1. selector for page or indirect register is updated (when needed);
        2. register in data window is accessed.
      
      Configuration should provide minimum and maximum register for virtual range,
      details of selector field for page selection, minimum and maximum register of
      data window for indirect access.
      
      Virtual range registers are managed by cache as well as direct access
      registers. In order to make indirect access more efficient, selector register
      should be declared as non-volatile, if possible.
      
      struct regmap_config is extended with the following:
      struct regmap_range_cfg	*ranges;
      unsigned int		n_ranges;
      
      [Also reordered debugfs init to later on since the cleanup code was
      conflicting with the new cleanup code for ranges anyway -- broonie]
      Signed-off-by: NKrystian Garbaciak <krystian.garbaciak@diasemi.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      6863ca62
  5. 13 6月, 2012 1 次提交
  6. 05 6月, 2012 1 次提交
  7. 03 6月, 2012 2 次提交
  8. 15 5月, 2012 1 次提交
  9. 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
  10. 09 5月, 2012 1 次提交
  11. 01 5月, 2012 1 次提交
  12. 13 4月, 2012 5 次提交
  13. 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
  14. 06 4月, 2012 3 次提交
  15. 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
  16. 11 3月, 2012 1 次提交
  17. 01 3月, 2012 1 次提交
  18. 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
  19. 21 2月, 2012 1 次提交
  20. 18 2月, 2012 1 次提交
  21. 15 2月, 2012 1 次提交
  22. 31 1月, 2012 1 次提交
  23. 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
  24. 20 1月, 2012 1 次提交
  25. 06 12月, 2011 1 次提交
  26. 05 12月, 2011 1 次提交
  27. 30 11月, 2011 1 次提交
  28. 21 11月, 2011 1 次提交
  29. 17 11月, 2011 1 次提交
  30. 08 11月, 2011 3 次提交