mirror-linux/drivers/gpu/drm
Linus Torvalds c6e62d002b Driver core changes for 7.0-rc1
- Bus:
   - Ensure bus->match() is consistently called with the device lock held
   - Improve type safety of bus_find_device_by_acpi_dev()
 
 - Devtmpfs:
   - Parse 'devtmpfs.mount=' boot parameter with kstrtoint() instead of
     simple_strtoul()
   - Avoid sparse warning by making devtmpfs_context_ops static
 
 - IOMMU:
   - Do not register the qcom_smmu_tbu_driver in arm_smmu_device_probe()
 
 - MAINTAINERS:
   - Add the new driver-core mailing list (driver-core@lists.linux.dev)
     to all relevant entries
   - Add missing tree location for "FIRMWARE LOADER (request_firmware)"
   - Add driver-model documentation to the "DRIVER CORE" entry
   - Add missing driver-core maintainers to the "AUXILIARY BUS" entry
 
 - Misc:
   - Change return type of attribute_container_register() to void; it has
     always been infallible
   - Do not export sysfs_change_owner(), sysfs_file_change_owner() and
     device_change_owner()
   - Move devres_for_each_res() from the public devres header to
     drivers/base/base.h
   - Do not use a static struct device for the faux bus; allocate it
     dynamically
 
 - Revocable:
   - Patches for the revocable synchronization primitive have been
     scheduled for v7.0-rc1, but have been reverted as they need some
     more refinement
 
 - Rust:
   - Device:
     - Support dev_printk on all device types, not just the core Device
       struct; remove now-redundant .as_ref() calls in dev_* print calls
 
   - Devres:
     - Introduce an internal reference count in Devres<T> to avoid a
       deadlock condition in case of (indirect) nesting
 
   - DMA:
     - Allow drivers to tune the maximum DMA segment size via
       dma_set_max_seg_size()
 
   - I/O:
     - Introduce the concept of generic I/O backends to handle different
       kinds of device shared memory through a common interface.
 
       This enables higher-level concepts such as register abstractions,
       I/O slices, and field projections to be built generically on top.
 
       In a first step, introduce the Io, IoCapable<T>, and IoKnownSize
       trait hierarchy for sharing a common interface supporting offset
       validation and bound-checking logic between I/O backends.
 
     - Refactor MMIO to use the common I/O backend infrastructure
 
   - Misc:
     - Add __rust_helper annotations to C helpers for inlining into Rust
       code
     - Use "kernel vertical" style for imports
     - Replace kernel::c_str! with C string literals
     - Update ARef imports to use sync::aref
     - Use pin_init::zeroed() for struct auxiliary_device_id and debugfs
       file_operations initialization
     - Use LKMM atomic types in debugfs doc-tests
     - Various minor comment and documentation fixes
 
   - PCI:
     - Implement PCI configuration space accessors using the common I/O
       backend infrastructure
     - Document pci::Bar device endianness assumptions
 
   - SoC:
     - Abstractions for struct soc_device and struct soc_device_attribute
     - Sample driver for soc::Device
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS2q/xV6QjXAdC7k+1FlHeO1qrKLgUCaY0JegAKCRBFlHeO1qrK
 LtCjAQDeSqGuzQM6hkMjsUWbjdWyw0yrrXcOxhwIINTc7uCzogEA7JL00+eiKHYu
 SV2Ckn6UnSQ14rpEaDIzgZdurZHGUAM=
 =TL00
 -----END PGP SIGNATURE-----

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

Pull driver core updates from Danilo Krummrich:
 "Bus:

   - Ensure bus->match() is consistently called with the device lock
     held

   - Improve type safety of bus_find_device_by_acpi_dev()

  Devtmpfs:

   - Parse 'devtmpfs.mount=' boot parameter with kstrtoint() instead of
     simple_strtoul()

   - Avoid sparse warning by making devtmpfs_context_ops static

  IOMMU:

   - Do not register the qcom_smmu_tbu_driver in arm_smmu_device_probe()

  MAINTAINERS:

   - Add the new driver-core mailing list (driver-core@lists.linux.dev)
     to all relevant entries

   - Add missing tree location for "FIRMWARE LOADER (request_firmware)"

   - Add driver-model documentation to the "DRIVER CORE" entry

   - Add missing driver-core maintainers to the "AUXILIARY BUS" entry

  Misc:

   - Change return type of attribute_container_register() to void; it
     has always been infallible

   - Do not export sysfs_change_owner(), sysfs_file_change_owner() and
     device_change_owner()

   - Move devres_for_each_res() from the public devres header to
     drivers/base/base.h

   - Do not use a static struct device for the faux bus; allocate it
     dynamically

  Revocable:

   - Patches for the revocable synchronization primitive have been
     scheduled for v7.0-rc1, but have been reverted as they need some
     more refinement

  Rust:

   - Device:
      - Support dev_printk on all device types, not just the core Device
        struct; remove now-redundant .as_ref() calls in dev_* print
        calls

   - Devres:
      - Introduce an internal reference count in Devres<T> to avoid a
        deadlock condition in case of (indirect) nesting

   - DMA:
      - Allow drivers to tune the maximum DMA segment size via
        dma_set_max_seg_size()

   - I/O:
      - Introduce the concept of generic I/O backends to handle
        different kinds of device shared memory through a common
        interface.

        This enables higher-level concepts such as register
        abstractions, I/O slices, and field projections to be built
        generically on top.

        In a first step, introduce the Io, IoCapable<T>, and IoKnownSize
        trait hierarchy for sharing a common interface supporting offset
        validation and bound-checking logic between I/O backends.

      - Refactor MMIO to use the common I/O backend infrastructure

   - Misc:
      - Add __rust_helper annotations to C helpers for inlining into
        Rust code

      - Use "kernel vertical" style for imports

      - Replace kernel::c_str! with C string literals

      - Update ARef imports to use sync::aref

      - Use pin_init::zeroed() for struct auxiliary_device_id and
        debugfs file_operations initialization

      - Use LKMM atomic types in debugfs doc-tests

      - Various minor comment and documentation fixes

   - PCI:
      - Implement PCI configuration space accessors using the common I/O
        backend infrastructure

      - Document pci::Bar device endianness assumptions

   - SoC:
      - Abstractions for struct soc_device and struct soc_device_attribute

      - Sample driver for soc::Device"

* tag 'driver-core-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core: (79 commits)
  rust: devres: fix race condition due to nesting
  rust: dma: add missing __rust_helper annotations
  samples: rust: pci: Remove some additional `.as_ref()` for `dev_*` print
  Revert "revocable: Revocable resource management"
  Revert "revocable: Add Kunit test cases"
  Revert "selftests: revocable: Add kselftest cases"
  driver core: remove device_change_owner() export
  sysfs: remove exports of sysfs_*change_owner()
  driver core: disable revocable code from build
  revocable: Add KUnit test for concurrent access
  revocable: fix SRCU index corruption by requiring caller-provided storage
  revocable: Add KUnit test for provider lifetime races
  revocable: Fix races in revocable_alloc() using RCU
  driver core: fix inverted "locked" suffix of driver_match_device()
  rust: io: move MIN_SIZE and io_addr_assert to IoKnownSize
  rust: pci: re-export ConfigSpace
  rust: dma: allow drivers to tune max segment size
  gpu: tyr: remove redundant `.as_ref()` for `dev_*` print
  rust: auxiliary: use `pin_init::zeroed()` for device ID
  rust: debugfs: use pin_init::zeroed() for file_operations
  ...
2026-02-11 17:43:59 -08:00
..
adp
amd drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
arm drm: Discard pm_runtime_put() return value 2026-01-16 20:28:05 +01:00
armada
aspeed
ast
atmel-hlcdc drm/atmel-hlcdc: don't reject the commit if the src rect has fractional parts 2026-01-21 09:28:09 +05:30
bridge drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
ci drm/ci: ignore Gamma test failures on Qualcomm SC7180 2026-01-22 01:22:47 +02:00
clients
display drm/display: bridge_connector: move audio_infoframe checks to OP_HDMI 2026-01-26 21:01:18 +02:00
etnaviv
exynos drm/exynos: vidi: use ctx->lock to protect struct vidi_context member variables related to memory alloc/free 2026-02-01 23:28:01 +09:00
fsl-dcu
gma500 Revert "drm/gma500: use drm_crtc_vblank_crtc()" 2026-02-02 10:10:15 +01:00
gud drm/gud: fix NULL fb and crtc dereferences on USB disconnect 2026-01-13 13:58:24 +00:00
hisilicon drm/hisilicon/hibmc: Adding reset colorbar cfg in dp init. 2026-01-20 10:53:14 +02:00
hyperv
i915 drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
imagination drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
imx drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
ingenic
kmb
lib
lima
logicvc
loongson
mcde
mediatek Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
meson drm/meson/dw-hdmi: convert to of_drm_find_and_get_bridge() 2026-01-21 13:59:56 +01:00
mgag200 drm/mgag200: fix mgag200_bmc_stop_scanout() 2026-02-04 08:52:53 +01:00
msm Merge tag 'drm-msm-fixes-2026-01-23' of https://gitlab.freedesktop.org/drm/msm into drm-fixes 2026-01-28 14:25:16 +10:00
mxsfb
nouveau drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
nova
omapdrm
panel Several fixes for amdxdna around PM handling, error reporting and 2026-02-06 12:52:15 +10:00
panfrost
panthor Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
pl111 Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
qxl
radeon drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
renesas drm: rcar-du: lvds: convert to of_drm_find_and_get_bridge() 2026-01-21 13:59:56 +01:00
rockchip Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
scheduler
sitronix
solomon
sprd
sti
stm
sun4i drm/display: hdmi_state_helper: split InfoFrame functions per type 2026-01-19 13:11:46 +02:00
sysfb EFI updates for v7.0 2026-02-09 20:49:19 -08:00
tegra drm/tegra: dsi: fix device leak on probe 2026-01-14 15:23:17 +01:00
tests drm-misc-next for 6.20: 2026-01-23 12:45:15 +10:00
tidss
tilcdc
tiny
ttm
tve200
tyr Driver core changes for 7.0-rc1 2026-02-11 17:43:59 -08:00
udl
v3d drm/v3d: Convert v3d logging to device-based DRM helpers 2026-01-19 07:12:25 -03:00
vboxvideo
vc4 drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
vgem
virtio
vkms Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
vmwgfx
xe drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
xen
xlnx
Kconfig Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
Kconfig.debug
Makefile Kbuild/Kconfig updates for 7.0 2026-02-11 13:40:35 -08:00
drm_atomic.c
drm_atomic_helper.c Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
drm_atomic_state_helper.c
drm_atomic_uapi.c drm/atomic: verify that gamma/degamma LUTs are not too big 2026-01-14 02:18:31 +02:00
drm_auth.c
drm_blend.c
drm_bridge.c drm/bridge: fix kdoc syntax 2026-01-21 18:02:28 +01:00
drm_bridge_helper.c
drm_buddy.c drm/buddy: Prevent BUG_ON by validating rounded allocation 2026-01-21 11:05:51 +05:30
drm_cache.c
drm_client.c
drm_client_event.c
drm_client_modeset.c
drm_client_sysrq.c
drm_color_mgmt.c
drm_colorop.c
drm_connector.c drm/display: hdmi_state_helper: split InfoFrame functions per type 2026-01-19 13:11:46 +02:00
drm_crtc.c
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h
drm_damage_helper.c
drm_debugfs.c drm/debug: don't register files for unsupported HDMI InfoFrames 2026-01-19 13:11:47 +02:00
drm_debugfs_crc.c
drm_displayid.c
drm_displayid_internal.h
drm_draw.c
drm_draw_internal.h
drm_drv.c
drm_dumb_buffers.c
drm_edid.c
drm_edid_load.c
drm_eld.c
drm_encoder.c
drm_exec.c
drm_fb_dma_helper.c
drm_fb_helper.c Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
drm_fbdev_dma.c
drm_fbdev_shmem.c
drm_fbdev_ttm.c
drm_file.c
drm_flip_work.c
drm_format_helper.c
drm_format_internal.h
drm_fourcc.c
drm_framebuffer.c
drm_gem.c drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
drm_gem_atomic_helper.c
drm_gem_dma_helper.c
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
drm_gem_ttm_helper.c
drm_gem_vram_helper.c
drm_gpusvm.c
drm_gpuvm.c Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_kms_helper_common.c
drm_lease.c
drm_managed.c
drm_mipi_dbi.c
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c
drm_mode_object.c drm/mode_object: add drm_object_immutable_property_get_value() 2026-01-14 02:18:31 +02:00
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_pagemap.c drm for 7.0-rc1 2026-02-11 12:55:44 -08:00
drm_pagemap_util.c
drm_panel.c
drm_panel_backlight_quirks.c
drm_panel_orientation_quirks.c
drm_panic.c
drm_panic_qr.rs
drm_pci.c
drm_plane.c
drm_plane_helper.c
drm_prime.c
drm_print.c
drm_privacy_screen.c
drm_privacy_screen_x86.c
drm_probe_helper.c
drm_property.c drm: Account property blob allocations to memcg 2026-01-16 11:22:03 +01:00
drm_rect.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c
drm_suballoc.c
drm_syncobj.c
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c
drm_vblank_helper.c
drm_vblank_work.c
drm_vma_manager.c
drm_writeback.c