Linux kernel source tree
Go to file
Linus Torvalds f5468bec21 regmap: Updates for v6.4
This is a much bigger change for regmap than is normal, the main things
 being the addition of some KUnit coverage and a maple tree based
 register cache which longer term is likely to replace the rbtree cache
 except possibly for very small register maps.  While it's complete
 overkill for most applications the code for maple trees is there and
 there are some larger, sparser devices where the data structure is a
 better fit.
 
 The maple tree support is still a work in progress but already useful,
 there's some conversions of drivers ready to go after the merge window.
 
  - Support for shifting register addresses up as well as down, there's a
    use cases with memory mapped MDIO.
  - Refactoring of the type configuration in regmap-irq to allow access
    to driver data in the handler, needed by some GPIO devices.
  - Some initial KUnit coverage, the bulk of the driver facing API is
    covered but there's holes and things like the data marshalling for
    bytestream buses are just not covered in the slightest.
  - Removal of the compressed cache type, it had zero users and was
    getting in the way of KUnit.
  - Addition of a maple tree based register cache, there's more work to
    do but it's already useful for some devices with a flatter data
    structure than rbtree and getting to use all the optimisation work
    Liam is doing.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmRGe7QACgkQJNaLcl1U
 h9BNSwf9ElqCWZgVGjMoF4b5+1M0rD6jQXbWshwRYjnvVIBaMtTXuCIZmzdmV6pH
 oQTiDaTCiZGQVne3Cobncf0Pk1FTtuE3IL39CB5X355cqrkMOOxw57NYufDhhQTk
 UJNTORbHPZGLOmLigVeK5nVFyGUTcSt9s9Haqz1S85Ao3rnXMw9IrC5L1QAv73zQ
 pNQTLOdZDyg+vdW5Yuc0sVY5PnmVLIF5abI6E1MXumCLyQ8wS2Px1fUYXnQHmtJ1
 2pZFYoqjxxIfObzC1SIsZFh0lkDdPe7WBeSKsGORhWiiCY5nYba1CiZ5DFNWR8hf
 hJkxbALhdk6Iksvz0X14nAP6ESv66A==
 =1hr2
 -----END PGP SIGNATURE-----

Merge tag 'regmap-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap

Pull regmap updates from Mark Brown:
 "This is a much bigger change for regmap than is normal, the main
  things being the addition of some KUnit coverage and a maple tree
  based register cache which longer term is likely to replace the rbtree
  cache except possibly for very small register maps.

  While it's complete overkill for most applications the code for maple
  trees is there and there are some larger, sparser devices where the
  data structure is a better fit.

  The maple tree support is still a work in progress but already useful,
  there's some conversions of drivers ready to go after the merge
  window.

  Summary:

   - Support for shifting register addresses up as well as down, there's
     a use cases with memory mapped MDIO.

   - Refactoring of the type configuration in regmap-irq to allow access
     to driver data in the handler, needed by some GPIO devices.

   - Some initial KUnit coverage, the bulk of the driver facing API is
     covered but there's holes and things like the data marshalling for
     bytestream buses are just not covered in the slightest.

   - Removal of the compressed cache type, it had zero users and was
     getting in the way of KUnit.

   - Addition of a maple tree based register cache, there's more work to
     do but it's already useful for some devices with a flatter data
     structure than rbtree and getting to use all the optimisation work
     Liam is doing"

* tag 'regmap-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: allow upshifting register addresses before performing operations
  regmap: Pass irq_drv_data as a parameter for set_type_config()
  regmap: Use mas_walk() instead of mas_find()
  regmap: Fix double unlock in the maple cache
  regmap: Add maple tree based register cache
  regmap: Factor out single value register syncing
  regmap: Add some basic kunit tests
  regmap: Add RAM backed register map
  regmap: Removed compressed cache support
  regmap: Support paging for buses with reg_read()/reg_write()
  regmap: Clarify error for unknown cache types
  regmap: Handle sparse caches in the default sync
  regmap: add a helper to translate the register address
  regmap: cache: Silence checkpatch warning
  regmap: cache: Return error in cache sync operations for REGCACHE_NONE
  regmap-irq: Place kernel doc of struct regmap_irq_chip in order
  regmap-irq: Add no_status support
  regmap: sdw: Remove 8-bit value size restriction
  regmap: sdw: Update misleading comment
2023-04-25 17:09:34 -07:00
arch platform-drivers-x86 for v6.4-1 2023-04-25 16:59:48 -07:00
block iter-ubuf.2-2023-04-21 2023-04-24 10:29:28 -07:00
certs KEYS: Add missing function documentation 2023-04-24 16:15:52 +03:00
crypto integrity: machine keyring CA configuration 2023-04-24 16:15:53 +03:00
Documentation platform-drivers-x86 for v6.4-1 2023-04-25 16:59:48 -07:00
drivers regmap: Updates for v6.4 2023-04-25 17:09:34 -07:00
fs slab changes for 6.4 2023-04-25 13:00:41 -07:00
include regmap: Updates for v6.4 2023-04-25 17:09:34 -07:00
init slab changes for 6.4 2023-04-25 13:00:41 -07:00
io_uring iter-ubuf.2-2023-04-21 2023-04-24 10:29:28 -07:00
ipc Merge branch 'work.namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2023-02-24 19:20:07 -08:00
kernel slab changes for 6.4 2023-04-25 13:00:41 -07:00
lib printk changes for 6.4 2023-04-25 12:46:48 -07:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm slab changes for 6.4 2023-04-25 13:00:41 -07:00
net asm-generic updates for 6.4 2023-04-25 12:22:11 -07:00
rust rust: allow to use INIT_STACK_ALL_ZERO 2023-04-19 19:34:43 +02:00
samples ftrace: Rename _ftrace_direct_multi APIs to _ftrace_direct APIs 2023-03-21 13:43:32 -04:00
scripts asm-generic updates for 6.4 2023-04-25 12:22:11 -07:00
security Commit volume in documentation is relatively low this time, but there is 2023-04-24 12:35:49 -07:00
sound iter-ubuf.2-2023-04-21 2023-04-24 10:29:28 -07:00
tools platform-drivers-x86 for v6.4-1 2023-04-25 16:59:48 -07:00
usr initramfs: Check negative timestamp to prevent broken cpio archive 2023-04-16 17:37:01 +09:00
virt KVM: PPC: Make KVM_CAP_IRQFD_RESAMPLE platform dependent 2023-03-31 11:19:05 -04:00
.clang-format cpumask: re-introduce constant-sized cpumask optimizations 2023-03-05 14:30:34 -08:00
.cocciconfig
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for *.dtso files 2023-02-26 15:28:23 +09:00
.gitignore linux-kselftest-kunit-6.4-rc1 2023-04-24 12:31:32 -07:00
.mailmap Networking fixes for 6.3-rc8, including fixes from netfilter and bpf 2023-04-20 11:03:51 -07:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS qnx4: credit contributors in CREDITS 2023-03-14 12:56:30 -06:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS platform-drivers-x86 for v6.4-1 2023-04-25 16:59:48 -07:00
Makefile Linux 6.3 2023-04-23 12:02:52 -07:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.