[GIT PULL] Driver core updates for 6.15-rc1
From: Greg KH
Date: Sun Mar 30 2025 - 14:26:43 EST
The following changes since commit 80e54e84911a923c40d7bee33a34c1b4be148d7a:
Linux 6.14-rc6 (2025-03-09 13:45:25 -1000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git tags/driver-core-6.15-rc1
for you to fetch changes up to 51d0de7596a458096756c895cfed6bc4a7ecac10:
rust: platform: require Send for Driver trait implementers (2025-03-20 07:41:11 -0700)
----------------------------------------------------------------
Driver core updates for 6.15-rc1
Here is the big set of driver core updates for 6.15-rc1. Lots of stuff
happened this development cycle, including:
- kernfs scaling changes to make it even faster thanks to rcu
- bin_attribute constify work in many subsystems
- faux bus minor tweaks for the rust bindings
- rust binding updates for driver core, pci, and platform busses,
making more functionaliy available to rust drivers. These are all
due to people actually trying to use the bindings that were in 6.14.
- make Rafael and Danilo full co-maintainers of the driver core
codebase
- other minor fixes and updates.
This has been in linux-next for a while now, with the only reported
issue being some merge conflicts with the rust tree. Depending on which
tree you pull first, you will have conflicts in one of them. The merge
resolution has been in linux-next as an example of what to do, or can be
found here:
https://lore.kernel.org/r/CANiq72n3Xe8JcnEjirDhCwQgvWoE65dddWecXnfdnbrmuah-RQ@xxxxxxxxxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
----------------------------------------------------------------
Bagas Sanjaya (1):
kernel: Fix "select" wording on HZ_250 description
Bharadwaj Raju (1):
drivers/base/bus.c: fix spelling of "subsystem"
Danilo Krummrich (8):
rust: pci: use to_result() in enable_device_mem()
rust: device: implement device context marker
rust: pci: fix unrestricted &mut pci::Device
rust: platform: fix unrestricted &mut platform::Device
rust: pci: impl Send + Sync for pci::Device
rust: platform: impl Send + Sync for platform::Device
rust: pci: require Send for Driver trait implementers
rust: platform: require Send for Driver trait implementers
Ethan Carter Edwards (1):
rust/kernel/faux: mark Registration methods inline
Fiona Behrens (2):
rust: io: rename `io::Io` accessors
rust: io: fix devres test with new io accessor functions
Greg Kroah-Hartman (4):
Merge 6.14-rc3 into driver-core-next
driver core: faux: only create the device if probe() succeeds
Merge 6.14-rc6 into driver-core-next
MAINTAINERS: driver core: mark Rafael and Danilo as co-maintainers
Lucas De Marchi (1):
drivers: base: component: Allow more space for device name
Lyude Paul (2):
rust/faux: Drop #[repr(transparent)] from faux::Registration
rust/faux: Add missing parent argument to Registration::new()
Sebastian Andrzej Siewior (8):
kernfs: Acquire kernfs_rwsem in kernfs_notify_workfn().
kernfs: Acquire kernfs_rwsem in kernfs_get_parent_dentry().
kernfs: Acquire kernfs_rwsem in kernfs_node_dentry().
kernfs: Don't re-lock kernfs_root::kernfs_rwsem in kernfs_fop_readdir().
kernfs: Use RCU to access kernfs_node::parent.
kernfs: Use RCU to access kernfs_node::name.
kernfs: Drop kernfs_rwsem while invoking lookup_positive_unlocked().
kernfs: Move dput() outside of the RCU section.
Thomas Weißschuh (22):
cxl/port: Constify 'struct bin_attribute'
firmware: dmi: Mark bin_attributes as __ro_after_init
firmware: dmi: Define bin_attributes through macro
firmware: dmi: Constify 'struct bin_attribute'
drm/sysfs: Constify 'struct bin_attribute'
drm/lima: Constify 'struct bin_attribute'
drm/i915: Constify 'struct bin_attribute'
drm/amdgpu: Constify 'struct bin_attribute'
drm/amd/display: Constify 'struct bin_attribute'
fsi: core: Use const 'struct bin_attribute' callbacks
accel/habanalabs: constify 'struct bin_attribute'
Input: goodix-berlin - constify 'struct bin_attribute'
efi/mokvar: Use const 'struct bin_attribute' callback
pcmcia: cistpl: Constify 'struct bin_attribute'
powerpc/secvar: Mark __init functions as such
powerpc/secvar: Constify 'struct bin_attribute'
powerpc/powernv/ultravisor: Constify 'struct bin_attribute'
powerpc/powernv/opal: Constify 'struct bin_attribute'
powerpc/perf/hv-24x7: Constify 'struct bin_attribute'
firmware: qemu_fw_cfg: constify 'struct bin_attribute'
rapidio: constify 'struct bin_attribute'
efi: rci2: mark bin_attribute as __ro_after_init
Thorsten Blum (1):
driver core: location: Use str_yes_no() helper function
Zijun Hu (3):
driver core: class: Remove needless return in void API class_remove_file()
driver core: Remove needless return in void API device_remove_group()
MAINTAINERS: Add driver core headers to DRIVER CORE maintainers
MAINTAINERS | 6 +-
arch/powerpc/kernel/secvar-sysfs.c | 24 +--
arch/powerpc/perf/hv-24x7.c | 8 +-
arch/powerpc/platforms/powernv/opal-core.c | 10 +-
arch/powerpc/platforms/powernv/opal-dump.c | 4 +-
arch/powerpc/platforms/powernv/opal-elog.c | 4 +-
arch/powerpc/platforms/powernv/opal-flash.c | 4 +-
arch/powerpc/platforms/powernv/opal-msglog.c | 6 +-
arch/powerpc/platforms/powernv/ultravisor.c | 6 +-
arch/x86/kernel/cpu/resctrl/internal.h | 5 +
arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 14 +-
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 73 ++++---
drivers/accel/habanalabs/common/sysfs.c | 10 +-
drivers/base/bus.c | 2 +-
drivers/base/component.c | 12 +-
drivers/base/faux.c | 15 +-
drivers/base/physical_location.c | 5 +-
drivers/cxl/port.c | 10 +-
drivers/firmware/dmi-sysfs.c | 28 ++-
drivers/firmware/dmi_scan.c | 4 +-
drivers/firmware/efi/mokvar-table.c | 4 +-
drivers/firmware/efi/rci2-table.c | 2 +-
drivers/firmware/qemu_fw_cfg.c | 6 +-
drivers/fsi/fsi-core.c | 8 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 14 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 13 +-
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 8 +-
drivers/gpu/drm/drm_sysfs.c | 10 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 8 +-
drivers/gpu/drm/i915/i915_sysfs.c | 12 +-
drivers/gpu/drm/lima/lima_drv.c | 8 +-
drivers/input/touchscreen/goodix_berlin_core.c | 10 +-
drivers/pcmcia/cistpl.c | 8 +-
drivers/rapidio/rio-sysfs.c | 14 +-
fs/kernfs/dir.c | 211 ++++++++++++---------
fs/kernfs/file.c | 6 +-
fs/kernfs/kernfs-internal.h | 37 +++-
fs/kernfs/mount.c | 46 +++--
fs/kernfs/symlink.c | 30 +--
fs/sysfs/dir.c | 2 +-
fs/sysfs/file.c | 24 ++-
include/linux/device.h | 2 +-
include/linux/device/class.h | 2 +-
include/linux/kernfs.h | 14 +-
kernel/Kconfig.hz | 2 +-
kernel/cgroup/cgroup-v1.c | 2 +-
kernel/cgroup/cgroup.c | 24 ++-
rust/kernel/device.rs | 26 +++
rust/kernel/devres.rs | 2 +-
rust/kernel/faux.rs | 16 +-
rust/kernel/io.rs | 66 +++----
rust/kernel/pci.rs | 150 +++++++++------
rust/kernel/platform.rs | 104 +++++++---
samples/rust/rust_driver_faux.rs | 2 +-
samples/rust/rust_driver_pci.rs | 20 +-
samples/rust/rust_driver_platform.rs | 11 +-
security/selinux/hooks.c | 7 +-
tools/testing/selftests/bpf/progs/profiler.inc.h | 2 +-
59 files changed, 739 insertions(+), 450 deletions(-)