Re: [PATCH v14 0/3] rust: add basic serial device bus abstractions
Markus Probst <[email protected]>
| Newsgroups | org.kernel.vger.linux-serial,dev.linux.lists.driver-core,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm,org.kernel.vger.rust-for-linux |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]>
Thanks
- Markus Probst
signature.asc
(application/pgp-signature, 870 B)
-----BEGIN PGP SIGNATURE----- iQJPBAABCAA5FiEEgnQYxPSsWOdyMMRzNHYf+OetQ9IFAmpaI6YbFIAAAAAABAAO bWFudTIsMi41KzEuMTIsMiwyAAoJEDR2H/jnrUPS+wUQALYoni5vQ2Czo26EJVRf J5TBRI6jcBCZE0BY+EaF0HPtgsihN+sJGTYp7Q45jiJ2+bKXXslsRXX4DX0RutmE KwwuGGKhsD07jqZct7GM7sSStTFXmMgErgt67oWuui/1CriwcMsIPxy4BzUf29/I ub8J7X9X8ixHWEHm8teg7RNhHS7Ss3Oayb4l01vZMT/ySeYbXmXFaEE/lMLQkxwi tbuvc62dLQ2DHNyy7bKGRLjbeeHbFTdeZAD7HGbL27hjBCI26k19acOmel3klzbG dNGBz5bLxQruACDeZdhcvW57D2QE1lfwQKduDH+tNF+GJitsH5etG2d7GAoOufg4 rJIZqDbBc9qZeOJHdaru8o1OiPl0UKGU7eLbirGnldEhWFdzXAivsG6/OxLGX1em 0DEPUHv7Q8HensihCOyMqm+KHodFpDCwCbyqKWgloa3niq5j35qDEmvWMyqNRJYJ XQ1HCxKsOpdxoBWWQ8Unltx3QROjLIu9744wZT3JiAiB6PD6UDAwJPnkAWOed3kY K19XI+M5h8yHMK/EgFil3gG/I3OJSirrECrSUBRqbXfJqnVwuKRbLe0ptoE8EyVn Bf11OPwoA+P6xZV7XYneuvkgiEKxeekt37nqfcXlT/x7E/urFYFNKBYKdnhT7AYW QZOz2yhqd91xN2BJzIM55EUx =WO7R -----END PGP SIGNATURE-----