On Wed Aug 20, 2025 at 5:08 AM CEST, John Hubbard wrote:
> impl Device {
> - /// Returns the PCI vendor ID.
> - pub fn vendor_id(&self) -> u16 {
> + /// Returns the PCI vendor ID as a validated Vendor.
> + /// Returns an error if the vendor ID is not recognized.
> + pub fn vendor_id(&self) -> Result<Vendor> {
> // SAFETY: `self.as_raw` is a valid pointer to a `struct pci_dev`.
> - unsafe { (*self.as_raw()).vendor }
> + let vendor_id = unsafe { (*self.as_raw()).vendor };
> + Vendor::try_from(vendor_id as u32)
> }
Same as for Class, I think we just want Vendor::UNKNOWN.