Merge tag 'v6.19-rc5' into driver-core-next
authorDanilo Krummrich <dakr@kernel.org>
Mon, 12 Jan 2026 12:32:43 +0000 (13:32 +0100)
committerDanilo Krummrich <dakr@kernel.org>
Mon, 12 Jan 2026 12:33:24 +0000 (13:33 +0100)
We need the driver-core fixes in here as well to build on top of.

Signed-off-by: Danilo Krummrich <dakr@kernel.org>
1  2 
MAINTAINERS
rust/kernel/device.rs
rust/kernel/driver.rs
rust/kernel/pci/io.rs

diff --cc MAINTAINERS
Simple merge
@@@ -5,23 -5,16 +5,21 @@@
  //! C header: [`include/linux/device.h`](srctree/include/linux/device.h)
  
  use crate::{
 -    bindings, fmt,
 +    bindings,
 +    fmt,
      prelude::*,
      sync::aref::ARef,
 -    types::{ForeignOwnable, Opaque},
 +    types::{
 +        ForeignOwnable,
 +        Opaque, //
 +    }, //
 +};
 +use core::{
 +    any::TypeId,
 +    marker::PhantomData,
 +    ptr, //
  };
 -use core::{any::TypeId, marker::PhantomData, ptr};
 -
 -#[cfg(CONFIG_PRINTK)]
 -use crate::c_str;
  
- use crate::str::CStrExt as _;
  pub mod property;
  
  // Assert that we can `read()` / `write()` a `TypeId` instance from / into `struct driver_type`.
@@@ -164,9 -158,8 +163,8 @@@ static_assert!(core::mem::size_of::<bin
  /// `bindings::device::release` is valid to be called from any thread, hence `ARef<Device>` can be
  /// dropped from any thread.
  ///
 -/// [`AlwaysRefCounted`]: kernel::types::AlwaysRefCounted
 +/// [`AlwaysRefCounted`]: kernel::sync::aref::AlwaysRefCounted
  /// [`impl_device_context_deref`]: kernel::impl_device_context_deref
- /// [`pci::Device`]: kernel::pci::Device
  /// [`platform::Device`]: kernel::platform::Device
  #[repr(transparent)]
  pub struct Device<Ctx: DeviceContext = Normal>(Opaque<bindings::device>, PhantomData<Ctx>);
  //! [`DeviceContext`]: device::DeviceContext
  //! [`device_id`]: kernel::device_id
  //! [`module_driver`]: kernel::module_driver
- //! [`pci::Driver`]: kernel::pci::Driver
- //! [`platform::Driver`]: kernel::platform::Driver
  
 -use crate::error::{Error, Result};
 -use crate::{acpi, device, of, str::CStr, try_pin_init, types::Opaque, ThisModule};
 -use core::pin::Pin;
 -use pin_init::{pin_data, pinned_drop, PinInit};
 +use crate::{
 +    acpi,
 +    device,
 +    of,
 +    prelude::*,
 +    types::Opaque,
 +    ThisModule, //
 +};
  
  /// The [`RegistrationOps`] trait serves as generic interface for subsystems (e.g., PCI, Platform,
  /// Amba, etc.) to provide the corresponding subsystem specific implementation to register /
@@@ -18,12 -18,9 +18,12 @@@ use core::ops::Deref
  
  /// A PCI BAR to perform I/O-Operations on.
  ///
 +/// I/O backend assumes that the device is little-endian and will automatically
 +/// convert from little-endian to CPU endianness.
 +///
  /// # Invariants
  ///
- /// `Bar` always holds an `IoRaw` inststance that holds a valid pointer to the start of the I/O
+ /// `Bar` always holds an `IoRaw` instance that holds a valid pointer to the start of the I/O
  /// memory mapped PCI BAR and its size.
  pub struct Bar<const SIZE: usize = 0> {
      pdev: ARef<Device>,