linux-stable/Documentation/driver-api
Linus Torvalds bc6cb4d5bc Locking changes for v6.5:
- Introduce cmpxchg128() -- aka. the demise of cmpxchg_double().
 
   The cmpxchg128() family of functions is basically & functionally
   the same as cmpxchg_double(), but with a saner interface: instead
   of a 6-parameter horror that forced u128 - u64/u64-halves layout
   details on the interface and exposed users to complexity,
   fragility & bugs, use a natural 3-parameter interface with u128 types.
 
 - Restructure the generated atomic headers, and add
   kerneldoc comments for all of the generic atomic{,64,_long}_t
   operations. Generated definitions are much cleaner now,
   and come with documentation.
 
 - Implement lock_set_cmp_fn() on lockdep, for defining an ordering
   when taking multiple locks of the same type. This gets rid of
   one use of lockdep_set_novalidate_class() in the bcache code.
 
 - Fix raw_cpu_generic_try_cmpxchg() bug due to an unintended
   variable shadowing generating garbage code on Clang on certain
   ARM builds.
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmSav3wRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1gDyxAAjCHQjpolrre7fRpyiTDwqzIKT27H04vQ
 zrQVlVc42WBnn9pe8LthGy43/RvYvqlZvLoLONA4fMkuYriM6nSMsoZjeUmE+6Rs
 QAElQC74P5YvEBOa67VNY3/M7sj22ftDe7ODtVV8OrnPjMk1sQNRvaK025Cs3yig
 8MAI//hHGNmyVAp1dPYZMJNqxGCvluReLZ4SaUJFCMrg7YgUXgCBj/5Gi07TlKxn
 sT8BFCssoEW/B9FXkh59B1t6FBCZoSy4XSZfsZe0uVAUJ4XDEOO+zBgaWFCedNQT
 wP323ryBgMrkzUKA8j2/o5d3QnMA1GcBfHNNlvAl/fOfrxWXzDZnOEY26YcaLMa0
 YIuRF/JNbPZlt6DCUVBUEvMPpfNYi18dFN0rat1a6xL2L4w+tm55y3mFtSsg76Ka
 r7L2nWlRrAGXnuA+VEPqkqbSWRUSWOv5hT2Mcyb5BqqZRsxBETn6G8GVAzIO6j6v
 giyfUdA8Z9wmMZ7NtB6usxe3p1lXtnZ/shCE7ZHXm6xstyZrSXaHgOSgAnB9DcuJ
 7KpGIhhSODQSwC/h/J0KEpb9Pr/5jCWmXAQ2DWnZK6ndt1jUfFi8pfK58wm0AuAM
 o9t8Mx3o8wZjbMdt6up9OIM1HyFiMx2BSaZK+8f/bWemHQ0xwez5g4k5O5AwVOaC
 x9Nt+Tp0Ze4=
 =DsYj
 -----END PGP SIGNATURE-----

Merge tag 'locking-core-2023-06-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull locking updates from Ingo Molnar:

 - Introduce cmpxchg128() -- aka. the demise of cmpxchg_double()

   The cmpxchg128() family of functions is basically & functionally the
   same as cmpxchg_double(), but with a saner interface.

   Instead of a 6-parameter horror that forced u128 - u64/u64-halves
   layout details on the interface and exposed users to complexity,
   fragility & bugs, use a natural 3-parameter interface with u128
   types.

 - Restructure the generated atomic headers, and add kerneldoc comments
   for all of the generic atomic{,64,_long}_t operations.

   The generated definitions are much cleaner now, and come with
   documentation.

 - Implement lock_set_cmp_fn() on lockdep, for defining an ordering when
   taking multiple locks of the same type.

   This gets rid of one use of lockdep_set_novalidate_class() in the
   bcache code.

 - Fix raw_cpu_generic_try_cmpxchg() bug due to an unintended variable
   shadowing generating garbage code on Clang on certain ARM builds.

* tag 'locking-core-2023-06-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (43 commits)
  locking/atomic: scripts: fix ${atomic}_dec_if_positive() kerneldoc
  percpu: Fix self-assignment of __old in raw_cpu_generic_try_cmpxchg()
  locking/atomic: treewide: delete arch_atomic_*() kerneldoc
  locking/atomic: docs: Add atomic operations to the driver basic API documentation
  locking/atomic: scripts: generate kerneldoc comments
  docs: scripts: kernel-doc: accept bitwise negation like ~@var
  locking/atomic: scripts: simplify raw_atomic*() definitions
  locking/atomic: scripts: simplify raw_atomic_long*() definitions
  locking/atomic: scripts: split pfx/name/sfx/order
  locking/atomic: scripts: restructure fallback ifdeffery
  locking/atomic: scripts: build raw_atomic_long*() directly
  locking/atomic: treewide: use raw_atomic*_<op>()
  locking/atomic: scripts: add trivial raw_atomic*_<op>()
  locking/atomic: scripts: factor out order template generation
  locking/atomic: scripts: remove leftover "${mult}"
  locking/atomic: scripts: remove bogus order parameter
  locking/atomic: xtensa: add preprocessor symbols
  locking/atomic: x86: add preprocessor symbols
  locking/atomic: sparc: add preprocessor symbols
  locking/atomic: sh: add preprocessor symbols
  ...
2023-06-27 14:14:30 -07:00
..
80211
acpi
backlight
cxl Documentation: cxl: remove dangling kernel-doc reference 2022-08-05 08:41:02 -07:00
dmaengine Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
driver-model driver core: bus: mark the struct bus_type for sysfs callbacks as constant 2023-03-23 13:20:40 +01:00
early-userspace
firmware Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
fpga docs: fpga: mgr: document parse_header() callback 2022-06-24 12:12:24 +08:00
gpio Documentation: gpio: Input mode is not true Hi-Z 2023-03-15 11:06:38 +01:00
hte hte: Re-phrase tegra API document 2023-04-26 15:43:19 -07:00
i3c
iio
md Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
media media: ccs: Document CCS static data file names 2023-04-11 18:54:02 +02:00
mei Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
memory-devices
mmc docs: mmc: update maintainer name and URL 2021-10-28 11:54:54 +02:00
mtd mtd: spi-nor: Stop exporting spi_nor_restore() 2023-04-04 09:43:50 +03:00
nfc Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
nvdimm Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
pci PCI/MSI: Move code into a separate directory 2021-12-09 11:52:22 +01:00
phy phy: Add devm_of_phy_optional_get() helper 2023-02-03 10:52:49 +05:30
pldmfw Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
pm
rapidio
serial Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
soundwire
surface_aggregator It has been a moderately calm cycle for documentation; the significant 2023-02-22 12:00:20 -08:00
thermal thermal: intel: int340x: Add DLVR support for RFIM control 2023-04-18 15:24:40 +02:00
tty tty: n_gsm: add ioctl for DLC config via ldisc handle 2023-03-29 10:50:48 +02:00
usb Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
virtio docs: driver-api: virtio: commentize spec version checking 2023-02-20 19:26:57 -05:00
xilinx
aperture.rst drm: Implement DRM aperture helpers under video/ 2022-06-27 11:07:55 +02:00
auxiliary_bus.rst Documentation/auxiliary_bus: Move the text into the code 2021-12-03 16:41:50 +01:00
basics.rst locking/atomic: docs: Add atomic operations to the driver basic API documentation 2023-06-05 09:57:24 +02:00
clk.rst docs: clk: add documentation to log which clocks have been disabled 2023-04-20 17:53:38 -06:00
component.rst
connector.rst
console.rst
dcdbas.rst
devfreq.rst
device-io.rst docs: move x86 documentation into Documentation/arch/ 2023-03-30 12:58:51 -06:00
device_link.rst
dma-buf.rst dma-buf/sync_file: Surface sync-file uABI 2023-03-28 13:39:02 -07:00
edac.rst EDAC/amd64: Document heterogeneous system enumeration 2023-06-05 12:27:15 +02:00
eisa.rst Documentation: eisa: Fix typo 2022-11-15 14:52:38 -07:00
firewire.rst Documentation: fix firewire.rst ABI file path error 2022-01-20 17:01:32 -07:00
frame-buffer.rst
generic-counter.rst counter: Update documentation for new counter registration functions 2021-12-30 17:44:06 +01:00
hsi.rst Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
i2c.rst
index.rst virtio,vhost,vdpa: features, fixes 2023-02-25 11:48:02 -08:00
infiniband.rst
infrastructure.rst
input.rst
interconnect.rst
io-mapping.rst Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
io_ordering.rst
ioctl.rst
ipmb.rst
ipmi.rst
isa.rst Remove duplicate words inside documentation 2022-09-27 13:21:43 -06:00
isapnp.rst
libata.rst libata: Improve ATA queued command allocation 2022-04-11 09:27:44 +09:00
mailbox.rst
men-chameleon-bus.rst
message-based.rst
misc_devices.rst
miscellaneous.rst docs/driver-api/miscellaneous: Remove kernel-doc of serial_core.c 2022-11-09 14:56:05 +01:00
mtdnand.rst
ntb.rst
nvmem.rst nvmem: core: introduce NVMEM layouts 2023-04-05 19:41:11 +02:00
parport-lowlevel.rst
pin-control.rst It has been a moderately calm cycle for documentation; the significant 2023-02-22 12:00:20 -08:00
pps.rst
ptp.rst
pwm.rst pwm: Delete deprecated functions pwm_request() and pwm_free() 2023-04-13 14:27:53 +02:00
regulator.rst
reset.rst
rfkill.rst
s390-drivers.rst
scsi.rst
slimbus.rst
sm501.rst
spi.rst spi: Update reference to struct spi_controller 2022-11-01 18:30:09 +00:00
switchtec.rst
sync_file.rst
target.rst
uio-howto.rst
vfio-mediated-device.rst vfio-mdev: remove an non-existing driver from vfio-mediated-device 2023-01-23 11:26:29 -07:00
vfio-pci-device-specific-driver-acceptance.rst vfio-pci: Provide reviewers and acceptance criteria for variant drivers 2022-03-17 09:57:11 -06:00
vfio.rst docs: vfio: fix header path 2023-03-14 11:31:57 -06:00
vme.rst vme: move back to staging 2022-06-10 15:38:14 +02:00
w1.rst
xillybus.rst
zorro.rst