linux/drivers
Linus Torvalds 22c5696e3f Driver core changes for 6.17-rc1
- DEBUGFS
 
   - Remove unneeded debugfs_file_{get,put}() instances
 
   - Remove last remnants of debugfs_real_fops()
 
   - Allow storing non-const void * in struct debugfs_inode_info::aux
 
 - SYSFS
 
   - Switch back to attribute_group::bin_attrs (treewide)
 
   - Switch back to bin_attribute::read()/write() (treewide)
 
   - Constify internal references to 'struct bin_attribute'
 
 - Support cache-ids for device-tree systems
 
   - Add arch hook arch_compact_of_hwid()
 
   - Use arch_compact_of_hwid() to compact MPIDR values on arm64
 
 - Rust
 
   - Device
 
     - Introduce CoreInternal device context (for bus internal methods)
 
     - Provide generic drvdata accessors for bus devices
 
     - Provide Driver::unbind() callbacks
 
     - Use the infrastructure above for auxiliary, PCI and platform
 
     - Implement Device::as_bound()
 
     - Rename Device::as_ref() to Device::from_raw() (treewide)
 
     - Implement fwnode and device property abstractions
 
       - Implement example usage in the Rust platform sample driver
 
   - Devres
 
     - Remove the inner reference count (Arc) and use pin-init instead
 
     - Replace Devres::new_foreign_owned() with devres::register()
 
     - Require T to be Send in Devres<T>
 
     - Initialize the data kept inside a Devres last
 
     - Provide an accessor for the Devres associated Device
 
   - Device ID
 
     - Add support for ACPI device IDs and driver match tables
 
     - Split up generic device ID infrastructure
 
     - Use generic device ID infrastructure in net::phy
 
   - DMA
 
     - Implement the dma::Device trait
 
     - Add DMA mask accessors to dma::Device
 
     - Implement dma::Device for PCI and platform devices
 
     - Use DMA masks from the DMA sample module
 
   - I/O
 
     - Implement abstraction for resource regions (struct resource)
 
     - Implement resource-based ioremap() abstractions
 
     - Provide platform device accessors for I/O (remap) requests
 
   - Misc
 
     - Support fallible PinInit types in Revocable
 
     - Implement Wrapper<T> for Opaque<T>
 
     - Merge pin-init blanket dependencies (for Devres)
 
 - Misc
 
   - Fix OF node leak in auxiliary_device_create()
 
   - Use util macros in device property iterators
 
   - Improve kobject sample code
 
   - Add device_link_test() for testing device link flags
 
   - Fix typo in Documentation/ABI/testing/sysfs-kernel-address_bits
 
   - Hint to prefer container_of_const() over container_of()
 -----BEGIN PGP SIGNATURE-----
 
 iHQEABYKAB0WIQS2q/xV6QjXAdC7k+1FlHeO1qrKLgUCaIjkhwAKCRBFlHeO1qrK
 LpXuAP9RWwfD9ZGgQZ9OsMk/0pZ2mDclaK97jcmI9TAeSxeZMgD1FHnOMTY7oSIi
 iG7Muq0yLD+A5gk9HUnMUnFNrngWCg==
 =jgRj
 -----END PGP SIGNATURE-----

Merge tag 'driver-core-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core

Pull driver core updates from Danilo Krummrich:
 "debugfs:
   - Remove unneeded debugfs_file_{get,put}() instances
   - Remove last remnants of debugfs_real_fops()
   - Allow storing non-const void * in struct debugfs_inode_info::aux

  sysfs:
   - Switch back to attribute_group::bin_attrs (treewide)
   - Switch back to bin_attribute::read()/write() (treewide)
   - Constify internal references to 'struct bin_attribute'

  Support cache-ids for device-tree systems:
   - Add arch hook arch_compact_of_hwid()
   - Use arch_compact_of_hwid() to compact MPIDR values on arm64

  Rust:
   - Device:
       - Introduce CoreInternal device context (for bus internal methods)
       - Provide generic drvdata accessors for bus devices
       - Provide Driver::unbind() callbacks
       - Use the infrastructure above for auxiliary, PCI and platform
       - Implement Device::as_bound()
       - Rename Device::as_ref() to Device::from_raw() (treewide)
       - Implement fwnode and device property abstractions
       - Implement example usage in the Rust platform sample driver
   - Devres:
       - Remove the inner reference count (Arc) and use pin-init instead
       - Replace Devres::new_foreign_owned() with devres::register()
       - Require T to be Send in Devres<T>
       - Initialize the data kept inside a Devres last
       - Provide an accessor for the Devres associated Device
   - Device ID:
       - Add support for ACPI device IDs and driver match tables
       - Split up generic device ID infrastructure
       - Use generic device ID infrastructure in net::phy
   - DMA:
       - Implement the dma::Device trait
       - Add DMA mask accessors to dma::Device
       - Implement dma::Device for PCI and platform devices
       - Use DMA masks from the DMA sample module
   - I/O:
       - Implement abstraction for resource regions (struct resource)
       - Implement resource-based ioremap() abstractions
       - Provide platform device accessors for I/O (remap) requests
   - Misc:
       - Support fallible PinInit types in Revocable
       - Implement Wrapper<T> for Opaque<T>
       - Merge pin-init blanket dependencies (for Devres)

  Misc:
   - Fix OF node leak in auxiliary_device_create()
   - Use util macros in device property iterators
   - Improve kobject sample code
   - Add device_link_test() for testing device link flags
   - Fix typo in Documentation/ABI/testing/sysfs-kernel-address_bits
   - Hint to prefer container_of_const() over container_of()"

* tag 'driver-core-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core: (84 commits)
  rust: io: fix broken intra-doc links to `platform::Device`
  rust: io: fix broken intra-doc link to missing `flags` module
  rust: io: mem: enable IoRequest doc-tests
  rust: platform: add resource accessors
  rust: io: mem: add a generic iomem abstraction
  rust: io: add resource abstraction
  rust: samples: dma: set DMA mask
  rust: platform: implement the `dma::Device` trait
  rust: pci: implement the `dma::Device` trait
  rust: dma: add DMA addressing capabilities
  rust: dma: implement `dma::Device` trait
  rust: net::phy Change module_phy_driver macro to use module_device_table macro
  rust: net::phy represent DeviceId as transparent wrapper over mdio_device_id
  rust: device_id: split out index support into a separate trait
  device: rust: rename Device::as_ref() to Device::from_raw()
  arm64: cacheinfo: Provide helper to compress MPIDR value into u32
  cacheinfo: Add arch hook to compress CPU h/w id into 32 bits for cache-id
  cacheinfo: Set cache 'id' based on DT data
  container_of: Document container_of() is not to be used in new code
  driver core: auxiliary bus: fix OF node leak
  ...
2025-07-29 12:15:39 -07:00
..
accel Merge 6.16-rc3 into driver-core-next 2025-06-23 07:53:36 +02:00
accessibility
acpi Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
amba PM: domains: Add flags to specify power on attach/detach 2025-07-07 20:41:20 +02:00
android Char / Misc / IIO / other driver updates for 6.17-rc1 2025-07-29 09:52:01 -07:00
ata ata: libata-eh: Simplify reset operation management 2025-07-16 09:31:43 +02:00
atm atm: idt77252: Add missing dma_map_error() 2025-06-25 15:28:57 -07:00
auxdisplay treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
base Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
bcma
block for-6.17/block-20250728 2025-07-28 16:43:54 -07:00
bluetooth Bluetooth: btusb: QCA: Fix downloading wrong NVM for WCN6855 GF variant without board ID 2025-07-16 15:38:15 -04:00
bus soc: driver updates for 6.17 2025-07-29 11:13:27 -07:00
cache
cdrom cdrom: Call cdrom_mrw_exit from cdrom_release function 2025-07-22 19:10:17 -06:00
cdx cdx: Fix missing GENERIC_MSI_IRQ on compile test 2025-07-16 14:17:31 +02:00
char Char / Misc / IIO / other driver updates for 6.17-rc1 2025-07-29 09:52:01 -07:00
clk soc: driver updates for 6.17 2025-07-29 11:13:27 -07:00
clocksource hardening updates for v6.17-rc1 2025-07-28 17:16:12 -07:00
comedi Char / Misc / IIO / other driver updates for 6.17-rc1 2025-07-29 09:52:01 -07:00
connector
counter Second set of Counter updates for 6.16 2025-05-24 08:29:32 +02:00
cpufreq Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
cpuidle pmdomain core: 2025-07-29 11:42:31 -07:00
crypto Crypto library updates for 6.17 2025-07-28 17:58:52 -07:00
cxl Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
dax DAX: warn when kmem regions are truncated for memory block alignment 2025-05-12 23:50:49 -07:00
dca
devfreq PM / devfreq: Add HiSilicon uncore frequency scaling driver 2025-07-14 20:23:57 +09:00
dio
dma spidev: introduce trivial abb sensor device 2025-07-21 15:39:07 +01:00
dma-buf dma-buf: fix timeout handling in dma_resv_wait_timeout v2 2025-06-30 13:15:44 +02:00
dpll
edac EDAC: Initialize EDAC features sysfs attributes 2025-06-30 10:57:24 +02:00
eisa
extcon
firewire treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
firmware Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
fpga zynq_fpga: use sgtable-based scatterlist wrappers 2025-06-18 10:36:55 +08:00
fsi Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
fwctl
gnss
gpio gpio updates for v6.17-rc1 2025-07-28 21:58:46 -07:00
gpu Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
greybus greybus: gb-beagleplay: remove unneeded calls to devm_gpiod_put() 2025-07-01 12:29:37 +02:00
hid Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
hsi treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
hte
hv A missing bit of 66635b0776 ("assorted variants of irqfd setup: 2025-07-28 10:43:46 -07:00
hwmon pwm: Changes for v6.17-rc1 2025-07-28 23:17:46 -07:00
hwspinlock
hwtracing coresight: updates for Linux v6.16 2025-05-22 18:04:43 +02:00
i2c Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
i3c i3c: controllers do not need to depend on I3C 2025-05-24 22:49:07 +02:00
idle intel_idle: Update arguments of mwait_idle_with_hints() 2025-06-10 21:09:28 +02:00
iio Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
infiniband Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
input Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
interconnect Char / Misc / IIO / other driver updates for 6.17-rc1 2025-07-29 09:52:01 -07:00
iommu x86/hyperv: Clean up hv_map/unmap_interrupt() return values 2025-07-09 23:49:25 +00:00
ipack
irqchip irqchip/irq-msi-lib: Select CONFIG_GENERIC_MSI_IRQ 2025-06-30 16:59:12 +02:00
isdn tty: introduce and use tty_port_tty_vhangup() helper 2025-06-17 13:42:33 +02:00
leds sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
macintosh
mailbox Merge branch 'newsoc/cix-p1' into soc/newsoc 2025-07-21 17:16:16 +02:00
mcb mcb: use sysfs_emit_at() instead of scnprintf() in show functions 2025-07-16 14:17:07 +02:00
md for-6.17/block-20250728 2025-07-28 16:43:54 -07:00
media Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
memory Memory controller drivers for v6.17 2025-07-22 22:47:00 +02:00
memstick memstick: core: Zero initialize id_reg in h_memstick_read_dev_id() 2025-07-16 12:01:09 +02:00
message
mfd regulator: Updates for v6.17 2025-07-28 22:52:02 -07:00
misc Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
mmc MMC core: 2025-07-29 12:05:38 -07:00
most treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
mtd Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
mux hardening updates for v6.17-rc1 2025-07-28 17:16:12 -07:00
net Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
nfc treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
ntb
nubus
nvdimm block: rename tuple_size field in blk_integrity to metadata_size 2025-07-01 14:00:14 +02:00
nvme for-6.17/block-20250728 2025-07-28 16:43:54 -07:00
nvmem Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
of samples: rust: platform: Add property child and reference args examples 2025-06-25 17:48:41 +02:00
opp OPP: switch to use kmemdup_array() 2025-05-19 15:37:53 +05:30
parisc
parport treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
pci Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
pcmcia sysfs: treewide: switch back to bin_attribute::read()/write() 2025-06-17 10:44:13 +02:00
peci
perf arm64 updates for 6.16 2025-05-28 14:55:35 -07:00
phy phy: qcom: fix error code in snps_eusb2_hsphy_probe() 2025-07-15 20:36:47 +05:30
pinctrl soc: driver updates for 6.17 2025-07-29 11:13:27 -07:00
platform Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
pmdomain pmdomain: qcom: rpmhpd: Add Glymur RPMh Power Domains 2025-07-23 12:12:16 +02:00
pnp
power Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
powercap platform-drivers-x86 for v6.17-1 2025-07-28 23:21:28 -07:00
pps pps: fix poll support 2025-07-01 12:29:29 +02:00
ps3
ptp Merge 6.16-rc3 into driver-core-next 2025-06-23 07:53:36 +02:00
pwm pwm: Changes for v6.17-rc1 2025-07-28 23:17:46 -07:00
rapidio Merge 6.16-rc3 into driver-core-next 2025-06-23 07:53:36 +02:00
ras
regulator regulator: mt6370: Fix spelling mistake in mt6370_regualtor_register 2025-07-24 18:04:38 +01:00
remoteproc remoteproc: imx_rproc: detect and attach to pre-booted remote cores 2025-07-18 12:43:46 +02:00
reset reset: brcmstb: Enable reset drivers for ARCH_BCM2835 2025-07-01 10:37:54 +02:00
rpmsg PM: domains: Add flags to specify power on attach/detach 2025-07-07 20:41:20 +02:00
rtc rtc: pcf2127: add missing semicolon after statement 2025-06-24 16:06:14 +02:00
s390 Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
sbus
scsi Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
sh sh: Switch to irq_domain_create_*() 2025-05-16 21:06:11 +02:00
siox
slimbus
soc pmdomain core: 2025-07-29 11:42:31 -07:00
soundwire Power management updates for 6.17-rc1 2025-07-28 20:13:36 -07:00
spi spi: Updates for v6.17 2025-07-28 23:03:09 -07:00
spmi irqdomain: spmi: Switch to irq_domain_create_tree() 2025-05-21 14:53:17 +02:00
ssb
staging Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
target scsi: target: Fix NULL pointer dereference in core_scsi3_decode_spec_i_port() 2025-06-16 14:35:57 -04:00
tc
tee A fix in the OP-TEE driver for v6.16 2025-07-03 16:26:08 +02:00
thermal Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
thunderbolt thunderbolt: Fix copy+paste error in match_service_id() 2025-07-21 16:33:43 +02:00
tty TTY / Serial driver update for 6.17-rc1 2025-07-29 10:11:01 -07:00
ufs scsi: ufs: core: Fix spelling of a sysfs attribute name 2025-06-24 21:22:20 -04:00
uio Char/Misc/IIO pull request for 6.16-rc1 2025-06-06 11:50:47 -07:00
usb Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
vdpa vdpa/octeon_ep: Control PCI dev enabling manually 2025-05-27 10:27:53 -04:00
vfio pci-v6.16-changes 2025-06-04 11:26:17 -07:00
vhost virtio, vhost: features, fixes 2025-05-29 08:15:35 -07:00
video sysfs: treewide: switch back to bin_attribute::read()/write() 2025-06-17 10:44:13 +02:00
virt Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
virtio for-6.17/block-20250728 2025-07-28 16:43:54 -07:00
w1 sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
watchdog treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
xen xen/x86: fix initial memory balloon target 2025-05-23 07:09:00 +02:00
zorro sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
Kconfig pc104: move PC104 option to drivers/Kconfig 2025-07-24 11:42:16 +02:00
Makefile