/* SPDX-License-Identifier: GPL-2.0 */ #ifndef LINUX_DEVICE_ID_CDX_H #define LINUX_DEVICE_ID_CDX_H #ifdef __KERNEL__ #include #endif #define CDX_ANY_ID (0xFFFF) enum { CDX_ID_F_VFIO_DRIVER_OVERRIDE = 1, }; /** * struct cdx_device_id - CDX device identifier * @vendor: Vendor ID * @device: Device ID * @subvendor: Subsystem vendor ID (or CDX_ANY_ID) * @subdevice: Subsystem device ID (or CDX_ANY_ID) * @class: Device class * Most drivers do not need to specify class/class_mask * as vendor/device is normally sufficient. * @class_mask: Limit which sub-fields of the class field are compared. * @override_only: Match only when dev->driver_override is this driver. * * Type of entries in the "device Id" table for CDX devices supported by * a CDX device driver. */ struct cdx_device_id { __u16 vendor; __u16 device; __u16 subvendor; __u16 subdevice; __u32 class; __u32 class_mask; __u32 override_only; }; #endif /* ifndef LINUX_DEVICE_ID_CDX_H */