Hi Danilo and all, I'm quite pleased with how this ended up! The new code in nova-core is nicely readable, and now we've paved the way for other PCI device drivers as well. Quite a few "use kernel::bindings" lines were removed, as a result. Changes since v1: 1) Use the pci_device_table for filtering, instead of open-coding filters in the .probe() callback. 2) Add PCI Class (class, subclass, implementation) and PCI Vendor to Rust for Linux. 3) Rebased onto the latest nova-next branch, which is here: https://gitlab.freedesktop.org/drm/nova.git v1 is here: https://lore.kernel.org/20250813232859.224316-1-jhubbard@xxxxxxxxxx Cc: Danilo Krummrich <dakr@xxxxxxxxxx> John Hubbard (3): rust: pci: provide access to PCI Class, subclass, implementation values gpu: nova-core: avoid probing non-display/compute PCI functions rust: pci: provide access to PCI Vendor values drivers/gpu/nova-core/driver.rs | 33 +- rust/kernel/pci.rs | 525 +++++++++++++++++++++++++- samples/rust/rust_dma.rs | 3 +- samples/rust/rust_driver_auxiliary.rs | 4 +- samples/rust/rust_driver_pci.rs | 4 +- 5 files changed, 557 insertions(+), 12 deletions(-) base-commit: 0dfc23ac2c5b3a62ab27fb9b6ee582b4bb5ce33c -- 2.50.1