Re: [PATCH v14 0/3] rust: add basic serial device bus abstractions

From: Markus Probst

Date: Fri Jul 17 2026 - 08:44:57 EST


On Fri, 2026-07-17 at 14:20 +0200, Danilo Krummrich wrote:
> diff --git a/rust/kernel/serdev.rs b/rust/kernel/serdev.rs
> index 0ffcef1849d2..a1161dd9f37f 100644
> --- a/rust/kernel/serdev.rs
> +++ b/rust/kernel/serdev.rs
> @@ -174,7 +174,8 @@ extern "C" fn probe_callback(sdev: *mut bindings::serdev_device) -> kernel::ffi:
>          //
>          // INVARIANT: `sdev` is valid for the duration of `probe_callback()`.
>          let sdev = unsafe { &*sdev.cast::<Device<device::CoreInternal<'_>>>() };
> -        let info = <Self as driver::Adapter>::id_info(sdev.as_ref());
> +        // SAFETY: `sdev` has been matched by the serial device bus via its device ID table.
> +        let info = unsafe { <Self as driver::Adapter>::id_info(sdev.as_ref()) };
>
>          from_result(|| {
>              sdev.as_ref().set_drvdata(try_pin_init!(PrivateData::<T> {
> @@ -334,7 +335,6 @@ macro_rules! module_serdev_device_driver {
>  ///
>  /// kernel::of_device_table!(
>  ///     OF_TABLE,
> -///     MODULE_OF_TABLE,
>  ///     <MyDriver as serdev::Driver>::IdInfo,
>  ///     [
>  ///         (of::DeviceId::new(c"test,device"), ())
> @@ -343,7 +343,6 @@ macro_rules! module_serdev_device_driver {
>  ///
>  /// kernel::acpi_device_table!(
>  ///     ACPI_TABLE,
> -///     MODULE_ACPI_TABLE,
>  ///     <MyDriver as serdev::Driver>::IdInfo,
>  ///     [
>  ///         (acpi::DeviceId::new(c"LNUXBEEF"), ())
> diff --git a/samples/rust/rust_driver_serdev.rs b/samples/rust/rust_driver_serdev.rs
> index a12b1412db30..51b4898cd855 100644
> --- a/samples/rust/rust_driver_serdev.rs
> +++ b/samples/rust/rust_driver_serdev.rs
> @@ -20,14 +20,12 @@ struct SampleDriver {
>
>  kernel::of_device_table!(
>      OF_TABLE,
> -    MODULE_OF_TABLE,
>      <SampleDriver as serdev::Driver>::IdInfo,
>      [(of::DeviceId::new(c"test,rust_driver_serdev"), ())]
>  );
>
>  kernel::acpi_device_table!(
>      ACPI_TABLE,
> -    MODULE_ACPI_TABLE,
>      <SampleDriver as serdev::Driver>::IdInfo,
>      [(acpi::DeviceId::new(c"LNUXBEEF"), ())]
>  );
Not sure if necessary for a conflict resolution, but

Reviewed-by: Markus Probst <markus.probst@xxxxxxxxx>

Thanks
- Markus Probst

Attachment: signature.asc
Description: This is a digitally signed message part