Files
linux/rust/kernel
Danilo Krummrich ea7e18289f rust: implement generic driver registration
Implement the generic `Registration` type and the `RegistrationOps`
trait.

The `Registration` structure is the common type that represents a driver
registration and is typically bound to the lifetime of a module. However,
it doesn't implement actual calls to the kernel's driver core to register
drivers itself.

Instead the `RegistrationOps` trait is provided to subsystems, which have
to implement `RegistrationOps::register` and
`RegistrationOps::unregister`. Subsystems have to provide an
implementation for both of those methods where the subsystem specific
variants to register / unregister a driver have to implemented.

For instance, the PCI subsystem would call __pci_register_driver() from
`RegistrationOps::register` and pci_unregister_driver() from
`DrvierOps::unregister`.

Co-developed-by: Wedson Almeida Filho <wedsonaf@gmail.com>
Signed-off-by: Wedson Almeida Filho <wedsonaf@gmail.com>
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
Tested-by: Dirk Behme <dirk.behme@de.bosch.com>
Tested-by: Fabien Parent <fabien.parent@linaro.org>
Link: https://lore.kernel.org/r/20241219170425.12036-3-dakr@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-20 17:19:25 +01:00
..
2023-05-31 17:35:03 +02:00
2024-09-30 13:02:29 +02:00
2024-11-05 05:33:46 +01:00
2024-11-10 23:58:00 +01:00
2024-11-10 23:58:00 +01:00
2024-10-08 15:44:36 +02:00
2024-10-08 14:32:39 +02:00
2024-11-10 23:58:00 +01:00
2024-11-26 17:54:58 -08:00
2024-11-10 23:58:00 +01:00
2024-11-04 16:21:44 -05:00
2024-11-10 23:58:00 +01:00