• Linus Torvalds's avatar
    Merge tag 'regmap-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 4171a9aa
    Linus Torvalds authored
    Pull regmap updates from Mark Brown:
     "Another busy release for regmap with the second half of the maple tree
      register cache implementation, there's some smaller optimisations that
      could be done but this should now be able to replace the rbtree cache
      for most devices.
    
      We also had a followup from Aidan MacDonald's refactoring of some of
      the regmap-irq interfaces, the conversion is complete so the old
      interfaces are removed. This means that even with the new features for
      the maple tree cache we'd have a nice negative diffstat were it not
      for the addition of a bunch more KUnit coverage.
    
      There's one GPIO patch in here, it was a dependency for a cleanup of
      an API in the regmap-irq code for which the gpio-104-dio-48e driver
      was the only user.
    
      Highlights:
    
       - The maple tree cache can now load in default values more
         efficiently, and is capabale of syncing multiple registers
         in a single write during cache sync
    
       - More KUnit coverage, including some coverage for raw I/O
         and a dummy RAM backed cache to support it
    
       - Removal of several old interfaces in regmap-irq now all
         users have been modernised"
    
    * tag 'regmap-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (23 commits)
      regmap: Allow reads from write only registers with the flat cache
      regmap: Drop early readability check
      regmap: Check for register readability before checking cache during read
      regmap: Add test to make sure we don't sync to read only registers
      regmap: Add a test case for write only registers
      regmap: Add test that writes to write only registers are prevented
      regmap: Add debugfs file for forcing field writes
      regmap: Don't check for changes in regcache_set_val()
      regmap: maple: Implement block sync for the maple tree cache
      regmap: Provide basic KUnit coverage for the raw register I/O
      regmap: Provide a ram backed regmap with raw support
      regmap: Add missing cache_only checks
      regmap: regmap-irq: Move handle_post_irq to before pm_runtime_put
      regmap: Load register defaults in blocks rather than register by register
      regmap: mmio: Allow passing an empty config->reg_stride
      regmap-irq: Drop backward compatibility for inverted mask/unmask
      regmap-irq: Minor adjustments to .handle_mask_sync()
      regmap-irq: Remove support for not_fixed_stride
      regmap-irq: Remove type registers
      regmap-irq: Remove virtual registers
      ...
    4171a9aa
regcache.c 17.8 KB