Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

rust: pci: provide access to PCI Vendor values

This allows callers to write Vendor::SOME_COMPANY instead of
bindings::PCI_VENDOR_ID_SOME_COMPANY.

New APIs:
Vendor::SOME_COMPANY
Vendor::from_raw() -- Only accessible from the pci (parent) module.
Vendor::as_raw()
Vendor: fmt::Display for Vendor

Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Elle Rhumsaa <elle@weathered-steel.dev>
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Link: https://lore.kernel.org/r/20250829223632.144030-3-jhubbard@nvidia.com
[ Minor doc-comment improvements, align Debug and Display. - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>

authored by

John Hubbard and committed by
Danilo Krummrich
5e20962a ed78a018

+336 -2
+1 -1
rust/kernel/pci.rs
··· 26 26 27 27 mod id; 28 28 29 - pub use self::id::{Class, ClassMask}; 29 + pub use self::id::{Class, ClassMask, Vendor}; 30 30 31 31 /// An adapter for the registration of PCI drivers. 32 32 pub struct Adapter<T: Driver>(T);
+335 -1
rust/kernel/pci/id.rs
··· 2 2 3 3 //! PCI device identifiers and related types. 4 4 //! 5 - //! This module contains PCI class codes and supporting types. 5 + //! This module contains PCI class codes, Vendor IDs, and supporting types. 6 6 7 7 use crate::{bindings, error::code::EINVAL, error::Error, prelude::*}; 8 8 use core::fmt; ··· 110 110 0xffff00 => Ok(ClassMask::ClassSubclass), 111 111 _ => Err(EINVAL), 112 112 } 113 + } 114 + } 115 + 116 + /// PCI vendor IDs. 117 + /// 118 + /// Each entry contains the 16-bit PCI vendor ID as assigned by the PCI SIG. 119 + #[derive(Clone, Copy, PartialEq, Eq)] 120 + #[repr(transparent)] 121 + pub struct Vendor(u16); 122 + 123 + macro_rules! define_all_pci_vendors { 124 + ( 125 + $($variant:ident = $binding:expr,)+ 126 + ) => { 127 + impl Vendor { 128 + $( 129 + #[allow(missing_docs)] 130 + pub const $variant: Self = Self($binding as u16); 131 + )+ 132 + } 133 + }; 134 + } 135 + 136 + /// Once constructed, a `Vendor` contains a valid PCI Vendor ID. 137 + impl Vendor { 138 + /// Create a Vendor from a raw 16-bit vendor ID. 139 + #[expect(dead_code)] 140 + #[inline] 141 + pub(super) fn from_raw(vendor_id: u16) -> Self { 142 + Self(vendor_id) 143 + } 144 + 145 + /// Get the raw 16-bit vendor ID value. 146 + #[inline] 147 + pub const fn as_raw(self) -> u16 { 148 + self.0 149 + } 150 + } 151 + 152 + impl fmt::Debug for Vendor { 153 + #[inline] 154 + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { 155 + write!(f, "0x{:04x}", self.0) 156 + } 157 + } 158 + 159 + impl fmt::Display for Vendor { 160 + #[inline] 161 + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { 162 + <Self as fmt::Debug>::fmt(self, f) 113 163 } 114 164 } 115 165 ··· 283 233 ACCELERATOR_PROCESSING = bindings::PCI_CLASS_ACCELERATOR_PROCESSING, // 0x120000 284 234 285 235 OTHERS = bindings::PCI_CLASS_OTHERS, // 0xff0000 236 + } 237 + 238 + define_all_pci_vendors! { 239 + PCI_SIG = bindings::PCI_VENDOR_ID_PCI_SIG, // 0x0001 240 + LOONGSON = bindings::PCI_VENDOR_ID_LOONGSON, // 0x0014 241 + SOLIDIGM = bindings::PCI_VENDOR_ID_SOLIDIGM, // 0x025e 242 + TTTECH = bindings::PCI_VENDOR_ID_TTTECH, // 0x0357 243 + DYNALINK = bindings::PCI_VENDOR_ID_DYNALINK, // 0x0675 244 + UBIQUITI = bindings::PCI_VENDOR_ID_UBIQUITI, // 0x0777 245 + BERKOM = bindings::PCI_VENDOR_ID_BERKOM, // 0x0871 246 + ITTIM = bindings::PCI_VENDOR_ID_ITTIM, // 0x0b48 247 + COMPAQ = bindings::PCI_VENDOR_ID_COMPAQ, // 0x0e11 248 + LSI_LOGIC = bindings::PCI_VENDOR_ID_LSI_LOGIC, // 0x1000 249 + ATI = bindings::PCI_VENDOR_ID_ATI, // 0x1002 250 + VLSI = bindings::PCI_VENDOR_ID_VLSI, // 0x1004 251 + ADL = bindings::PCI_VENDOR_ID_ADL, // 0x1005 252 + NS = bindings::PCI_VENDOR_ID_NS, // 0x100b 253 + TSENG = bindings::PCI_VENDOR_ID_TSENG, // 0x100c 254 + WEITEK = bindings::PCI_VENDOR_ID_WEITEK, // 0x100e 255 + DEC = bindings::PCI_VENDOR_ID_DEC, // 0x1011 256 + CIRRUS = bindings::PCI_VENDOR_ID_CIRRUS, // 0x1013 257 + IBM = bindings::PCI_VENDOR_ID_IBM, // 0x1014 258 + UNISYS = bindings::PCI_VENDOR_ID_UNISYS, // 0x1018 259 + COMPEX2 = bindings::PCI_VENDOR_ID_COMPEX2, // 0x101a 260 + WD = bindings::PCI_VENDOR_ID_WD, // 0x101c 261 + AMI = bindings::PCI_VENDOR_ID_AMI, // 0x101e 262 + AMD = bindings::PCI_VENDOR_ID_AMD, // 0x1022 263 + TRIDENT = bindings::PCI_VENDOR_ID_TRIDENT, // 0x1023 264 + AI = bindings::PCI_VENDOR_ID_AI, // 0x1025 265 + DELL = bindings::PCI_VENDOR_ID_DELL, // 0x1028 266 + MATROX = bindings::PCI_VENDOR_ID_MATROX, // 0x102B 267 + MOBILITY_ELECTRONICS = bindings::PCI_VENDOR_ID_MOBILITY_ELECTRONICS, // 0x14f2 268 + CT = bindings::PCI_VENDOR_ID_CT, // 0x102c 269 + MIRO = bindings::PCI_VENDOR_ID_MIRO, // 0x1031 270 + NEC = bindings::PCI_VENDOR_ID_NEC, // 0x1033 271 + FD = bindings::PCI_VENDOR_ID_FD, // 0x1036 272 + SI = bindings::PCI_VENDOR_ID_SI, // 0x1039 273 + HP = bindings::PCI_VENDOR_ID_HP, // 0x103c 274 + HP_3PAR = bindings::PCI_VENDOR_ID_HP_3PAR, // 0x1590 275 + PCTECH = bindings::PCI_VENDOR_ID_PCTECH, // 0x1042 276 + ASUSTEK = bindings::PCI_VENDOR_ID_ASUSTEK, // 0x1043 277 + DPT = bindings::PCI_VENDOR_ID_DPT, // 0x1044 278 + OPTI = bindings::PCI_VENDOR_ID_OPTI, // 0x1045 279 + ELSA = bindings::PCI_VENDOR_ID_ELSA, // 0x1048 280 + STMICRO = bindings::PCI_VENDOR_ID_STMICRO, // 0x104A 281 + BUSLOGIC = bindings::PCI_VENDOR_ID_BUSLOGIC, // 0x104B 282 + TI = bindings::PCI_VENDOR_ID_TI, // 0x104c 283 + SONY = bindings::PCI_VENDOR_ID_SONY, // 0x104d 284 + WINBOND2 = bindings::PCI_VENDOR_ID_WINBOND2, // 0x1050 285 + ANIGMA = bindings::PCI_VENDOR_ID_ANIGMA, // 0x1051 286 + EFAR = bindings::PCI_VENDOR_ID_EFAR, // 0x1055 287 + MOTOROLA = bindings::PCI_VENDOR_ID_MOTOROLA, // 0x1057 288 + PROMISE = bindings::PCI_VENDOR_ID_PROMISE, // 0x105a 289 + FOXCONN = bindings::PCI_VENDOR_ID_FOXCONN, // 0x105b 290 + UMC = bindings::PCI_VENDOR_ID_UMC, // 0x1060 291 + PICOPOWER = bindings::PCI_VENDOR_ID_PICOPOWER, // 0x1066 292 + MYLEX = bindings::PCI_VENDOR_ID_MYLEX, // 0x1069 293 + APPLE = bindings::PCI_VENDOR_ID_APPLE, // 0x106b 294 + YAMAHA = bindings::PCI_VENDOR_ID_YAMAHA, // 0x1073 295 + QLOGIC = bindings::PCI_VENDOR_ID_QLOGIC, // 0x1077 296 + CYRIX = bindings::PCI_VENDOR_ID_CYRIX, // 0x1078 297 + CONTAQ = bindings::PCI_VENDOR_ID_CONTAQ, // 0x1080 298 + OLICOM = bindings::PCI_VENDOR_ID_OLICOM, // 0x108d 299 + SUN = bindings::PCI_VENDOR_ID_SUN, // 0x108e 300 + NI = bindings::PCI_VENDOR_ID_NI, // 0x1093 301 + CMD = bindings::PCI_VENDOR_ID_CMD, // 0x1095 302 + BROOKTREE = bindings::PCI_VENDOR_ID_BROOKTREE, // 0x109e 303 + SGI = bindings::PCI_VENDOR_ID_SGI, // 0x10a9 304 + WINBOND = bindings::PCI_VENDOR_ID_WINBOND, // 0x10ad 305 + PLX = bindings::PCI_VENDOR_ID_PLX, // 0x10b5 306 + MADGE = bindings::PCI_VENDOR_ID_MADGE, // 0x10b6 307 + THREECOM = bindings::PCI_VENDOR_ID_3COM, // 0x10b7 308 + AL = bindings::PCI_VENDOR_ID_AL, // 0x10b9 309 + NEOMAGIC = bindings::PCI_VENDOR_ID_NEOMAGIC, // 0x10c8 310 + TCONRAD = bindings::PCI_VENDOR_ID_TCONRAD, // 0x10da 311 + ROHM = bindings::PCI_VENDOR_ID_ROHM, // 0x10db 312 + NVIDIA = bindings::PCI_VENDOR_ID_NVIDIA, // 0x10de 313 + IMS = bindings::PCI_VENDOR_ID_IMS, // 0x10e0 314 + AMCC = bindings::PCI_VENDOR_ID_AMCC, // 0x10e8 315 + AMPERE = bindings::PCI_VENDOR_ID_AMPERE, // 0x1def 316 + INTERG = bindings::PCI_VENDOR_ID_INTERG, // 0x10ea 317 + REALTEK = bindings::PCI_VENDOR_ID_REALTEK, // 0x10ec 318 + XILINX = bindings::PCI_VENDOR_ID_XILINX, // 0x10ee 319 + INIT = bindings::PCI_VENDOR_ID_INIT, // 0x1101 320 + CREATIVE = bindings::PCI_VENDOR_ID_CREATIVE, // 0x1102 321 + TTI = bindings::PCI_VENDOR_ID_TTI, // 0x1103 322 + SIGMA = bindings::PCI_VENDOR_ID_SIGMA, // 0x1105 323 + VIA = bindings::PCI_VENDOR_ID_VIA, // 0x1106 324 + SIEMENS = bindings::PCI_VENDOR_ID_SIEMENS, // 0x110A 325 + VORTEX = bindings::PCI_VENDOR_ID_VORTEX, // 0x1119 326 + EF = bindings::PCI_VENDOR_ID_EF, // 0x111a 327 + IDT = bindings::PCI_VENDOR_ID_IDT, // 0x111d 328 + FORE = bindings::PCI_VENDOR_ID_FORE, // 0x1127 329 + PHILIPS = bindings::PCI_VENDOR_ID_PHILIPS, // 0x1131 330 + EICON = bindings::PCI_VENDOR_ID_EICON, // 0x1133 331 + CISCO = bindings::PCI_VENDOR_ID_CISCO, // 0x1137 332 + ZIATECH = bindings::PCI_VENDOR_ID_ZIATECH, // 0x1138 333 + SYSKONNECT = bindings::PCI_VENDOR_ID_SYSKONNECT, // 0x1148 334 + DIGI = bindings::PCI_VENDOR_ID_DIGI, // 0x114f 335 + XIRCOM = bindings::PCI_VENDOR_ID_XIRCOM, // 0x115d 336 + SERVERWORKS = bindings::PCI_VENDOR_ID_SERVERWORKS, // 0x1166 337 + ALTERA = bindings::PCI_VENDOR_ID_ALTERA, // 0x1172 338 + SBE = bindings::PCI_VENDOR_ID_SBE, // 0x1176 339 + TOSHIBA = bindings::PCI_VENDOR_ID_TOSHIBA, // 0x1179 340 + TOSHIBA_2 = bindings::PCI_VENDOR_ID_TOSHIBA_2, // 0x102f 341 + ATTO = bindings::PCI_VENDOR_ID_ATTO, // 0x117c 342 + RICOH = bindings::PCI_VENDOR_ID_RICOH, // 0x1180 343 + DLINK = bindings::PCI_VENDOR_ID_DLINK, // 0x1186 344 + ARTOP = bindings::PCI_VENDOR_ID_ARTOP, // 0x1191 345 + ZEITNET = bindings::PCI_VENDOR_ID_ZEITNET, // 0x1193 346 + FUJITSU_ME = bindings::PCI_VENDOR_ID_FUJITSU_ME, // 0x119e 347 + MARVELL = bindings::PCI_VENDOR_ID_MARVELL, // 0x11ab 348 + MARVELL_EXT = bindings::PCI_VENDOR_ID_MARVELL_EXT, // 0x1b4b 349 + V3 = bindings::PCI_VENDOR_ID_V3, // 0x11b0 350 + ATT = bindings::PCI_VENDOR_ID_ATT, // 0x11c1 351 + SPECIALIX = bindings::PCI_VENDOR_ID_SPECIALIX, // 0x11cb 352 + ANALOG_DEVICES = bindings::PCI_VENDOR_ID_ANALOG_DEVICES, // 0x11d4 353 + ZORAN = bindings::PCI_VENDOR_ID_ZORAN, // 0x11de 354 + COMPEX = bindings::PCI_VENDOR_ID_COMPEX, // 0x11f6 355 + MICROSEMI = bindings::PCI_VENDOR_ID_MICROSEMI, // 0x11f8 356 + RP = bindings::PCI_VENDOR_ID_RP, // 0x11fe 357 + CYCLADES = bindings::PCI_VENDOR_ID_CYCLADES, // 0x120e 358 + ESSENTIAL = bindings::PCI_VENDOR_ID_ESSENTIAL, // 0x120f 359 + O2 = bindings::PCI_VENDOR_ID_O2, // 0x1217 360 + THREEDX = bindings::PCI_VENDOR_ID_3DFX, // 0x121a 361 + AVM = bindings::PCI_VENDOR_ID_AVM, // 0x1244 362 + STALLION = bindings::PCI_VENDOR_ID_STALLION, // 0x124d 363 + AT = bindings::PCI_VENDOR_ID_AT, // 0x1259 364 + ASIX = bindings::PCI_VENDOR_ID_ASIX, // 0x125b 365 + ESS = bindings::PCI_VENDOR_ID_ESS, // 0x125d 366 + SATSAGEM = bindings::PCI_VENDOR_ID_SATSAGEM, // 0x1267 367 + ENSONIQ = bindings::PCI_VENDOR_ID_ENSONIQ, // 0x1274 368 + TRANSMETA = bindings::PCI_VENDOR_ID_TRANSMETA, // 0x1279 369 + ROCKWELL = bindings::PCI_VENDOR_ID_ROCKWELL, // 0x127A 370 + ITE = bindings::PCI_VENDOR_ID_ITE, // 0x1283 371 + ALTEON = bindings::PCI_VENDOR_ID_ALTEON, // 0x12ae 372 + NVIDIA_SGS = bindings::PCI_VENDOR_ID_NVIDIA_SGS, // 0x12d2 373 + PERICOM = bindings::PCI_VENDOR_ID_PERICOM, // 0x12D8 374 + AUREAL = bindings::PCI_VENDOR_ID_AUREAL, // 0x12eb 375 + ELECTRONICDESIGNGMBH = bindings::PCI_VENDOR_ID_ELECTRONICDESIGNGMBH, // 0x12f8 376 + ESDGMBH = bindings::PCI_VENDOR_ID_ESDGMBH, // 0x12fe 377 + CB = bindings::PCI_VENDOR_ID_CB, // 0x1307 378 + SIIG = bindings::PCI_VENDOR_ID_SIIG, // 0x131f 379 + RADISYS = bindings::PCI_VENDOR_ID_RADISYS, // 0x1331 380 + MICRO_MEMORY = bindings::PCI_VENDOR_ID_MICRO_MEMORY, // 0x1332 381 + DOMEX = bindings::PCI_VENDOR_ID_DOMEX, // 0x134a 382 + INTASHIELD = bindings::PCI_VENDOR_ID_INTASHIELD, // 0x135a 383 + QUATECH = bindings::PCI_VENDOR_ID_QUATECH, // 0x135C 384 + SEALEVEL = bindings::PCI_VENDOR_ID_SEALEVEL, // 0x135e 385 + HYPERCOPE = bindings::PCI_VENDOR_ID_HYPERCOPE, // 0x1365 386 + DIGIGRAM = bindings::PCI_VENDOR_ID_DIGIGRAM, // 0x1369 387 + KAWASAKI = bindings::PCI_VENDOR_ID_KAWASAKI, // 0x136b 388 + CNET = bindings::PCI_VENDOR_ID_CNET, // 0x1371 389 + LMC = bindings::PCI_VENDOR_ID_LMC, // 0x1376 390 + NETGEAR = bindings::PCI_VENDOR_ID_NETGEAR, // 0x1385 391 + APPLICOM = bindings::PCI_VENDOR_ID_APPLICOM, // 0x1389 392 + MOXA = bindings::PCI_VENDOR_ID_MOXA, // 0x1393 393 + CCD = bindings::PCI_VENDOR_ID_CCD, // 0x1397 394 + EXAR = bindings::PCI_VENDOR_ID_EXAR, // 0x13a8 395 + MICROGATE = bindings::PCI_VENDOR_ID_MICROGATE, // 0x13c0 396 + THREEWARE = bindings::PCI_VENDOR_ID_3WARE, // 0x13C1 397 + IOMEGA = bindings::PCI_VENDOR_ID_IOMEGA, // 0x13ca 398 + ABOCOM = bindings::PCI_VENDOR_ID_ABOCOM, // 0x13D1 399 + SUNDANCE = bindings::PCI_VENDOR_ID_SUNDANCE, // 0x13f0 400 + CMEDIA = bindings::PCI_VENDOR_ID_CMEDIA, // 0x13f6 401 + ADVANTECH = bindings::PCI_VENDOR_ID_ADVANTECH, // 0x13fe 402 + MEILHAUS = bindings::PCI_VENDOR_ID_MEILHAUS, // 0x1402 403 + LAVA = bindings::PCI_VENDOR_ID_LAVA, // 0x1407 404 + TIMEDIA = bindings::PCI_VENDOR_ID_TIMEDIA, // 0x1409 405 + ICE = bindings::PCI_VENDOR_ID_ICE, // 0x1412 406 + MICROSOFT = bindings::PCI_VENDOR_ID_MICROSOFT, // 0x1414 407 + OXSEMI = bindings::PCI_VENDOR_ID_OXSEMI, // 0x1415 408 + CHELSIO = bindings::PCI_VENDOR_ID_CHELSIO, // 0x1425 409 + EDIMAX = bindings::PCI_VENDOR_ID_EDIMAX, // 0x1432 410 + ADLINK = bindings::PCI_VENDOR_ID_ADLINK, // 0x144a 411 + SAMSUNG = bindings::PCI_VENDOR_ID_SAMSUNG, // 0x144d 412 + GIGABYTE = bindings::PCI_VENDOR_ID_GIGABYTE, // 0x1458 413 + AMBIT = bindings::PCI_VENDOR_ID_AMBIT, // 0x1468 414 + MYRICOM = bindings::PCI_VENDOR_ID_MYRICOM, // 0x14c1 415 + MEDIATEK = bindings::PCI_VENDOR_ID_MEDIATEK, // 0x14c3 416 + TITAN = bindings::PCI_VENDOR_ID_TITAN, // 0x14D2 417 + PANACOM = bindings::PCI_VENDOR_ID_PANACOM, // 0x14d4 418 + SIPACKETS = bindings::PCI_VENDOR_ID_SIPACKETS, // 0x14d9 419 + AFAVLAB = bindings::PCI_VENDOR_ID_AFAVLAB, // 0x14db 420 + AMPLICON = bindings::PCI_VENDOR_ID_AMPLICON, // 0x14dc 421 + BCM_GVC = bindings::PCI_VENDOR_ID_BCM_GVC, // 0x14a4 422 + BROADCOM = bindings::PCI_VENDOR_ID_BROADCOM, // 0x14e4 423 + TOPIC = bindings::PCI_VENDOR_ID_TOPIC, // 0x151f 424 + MAINPINE = bindings::PCI_VENDOR_ID_MAINPINE, // 0x1522 425 + ENE = bindings::PCI_VENDOR_ID_ENE, // 0x1524 426 + SYBA = bindings::PCI_VENDOR_ID_SYBA, // 0x1592 427 + MORETON = bindings::PCI_VENDOR_ID_MORETON, // 0x15aa 428 + VMWARE = bindings::PCI_VENDOR_ID_VMWARE, // 0x15ad 429 + ZOLTRIX = bindings::PCI_VENDOR_ID_ZOLTRIX, // 0x15b0 430 + MELLANOX = bindings::PCI_VENDOR_ID_MELLANOX, // 0x15b3 431 + DFI = bindings::PCI_VENDOR_ID_DFI, // 0x15bd 432 + QUICKNET = bindings::PCI_VENDOR_ID_QUICKNET, // 0x15e2 433 + ADDIDATA = bindings::PCI_VENDOR_ID_ADDIDATA, // 0x15B8 434 + PDC = bindings::PCI_VENDOR_ID_PDC, // 0x15e9 435 + FARSITE = bindings::PCI_VENDOR_ID_FARSITE, // 0x1619 436 + ARIMA = bindings::PCI_VENDOR_ID_ARIMA, // 0x161f 437 + BROCADE = bindings::PCI_VENDOR_ID_BROCADE, // 0x1657 438 + SIBYTE = bindings::PCI_VENDOR_ID_SIBYTE, // 0x166d 439 + ATHEROS = bindings::PCI_VENDOR_ID_ATHEROS, // 0x168c 440 + NETCELL = bindings::PCI_VENDOR_ID_NETCELL, // 0x169c 441 + CENATEK = bindings::PCI_VENDOR_ID_CENATEK, // 0x16CA 442 + SYNOPSYS = bindings::PCI_VENDOR_ID_SYNOPSYS, // 0x16c3 443 + USR = bindings::PCI_VENDOR_ID_USR, // 0x16ec 444 + VITESSE = bindings::PCI_VENDOR_ID_VITESSE, // 0x1725 445 + LINKSYS = bindings::PCI_VENDOR_ID_LINKSYS, // 0x1737 446 + ALTIMA = bindings::PCI_VENDOR_ID_ALTIMA, // 0x173b 447 + CAVIUM = bindings::PCI_VENDOR_ID_CAVIUM, // 0x177d 448 + TECHWELL = bindings::PCI_VENDOR_ID_TECHWELL, // 0x1797 449 + BELKIN = bindings::PCI_VENDOR_ID_BELKIN, // 0x1799 450 + RDC = bindings::PCI_VENDOR_ID_RDC, // 0x17f3 451 + GLI = bindings::PCI_VENDOR_ID_GLI, // 0x17a0 452 + LENOVO = bindings::PCI_VENDOR_ID_LENOVO, // 0x17aa 453 + QCOM = bindings::PCI_VENDOR_ID_QCOM, // 0x17cb 454 + CDNS = bindings::PCI_VENDOR_ID_CDNS, // 0x17cd 455 + ARECA = bindings::PCI_VENDOR_ID_ARECA, // 0x17d3 456 + S2IO = bindings::PCI_VENDOR_ID_S2IO, // 0x17d5 457 + SITECOM = bindings::PCI_VENDOR_ID_SITECOM, // 0x182d 458 + TOPSPIN = bindings::PCI_VENDOR_ID_TOPSPIN, // 0x1867 459 + COMMTECH = bindings::PCI_VENDOR_ID_COMMTECH, // 0x18f7 460 + SILAN = bindings::PCI_VENDOR_ID_SILAN, // 0x1904 461 + RENESAS = bindings::PCI_VENDOR_ID_RENESAS, // 0x1912 462 + SOLARFLARE = bindings::PCI_VENDOR_ID_SOLARFLARE, // 0x1924 463 + TDI = bindings::PCI_VENDOR_ID_TDI, // 0x192E 464 + NXP = bindings::PCI_VENDOR_ID_NXP, // 0x1957 465 + PASEMI = bindings::PCI_VENDOR_ID_PASEMI, // 0x1959 466 + ATTANSIC = bindings::PCI_VENDOR_ID_ATTANSIC, // 0x1969 467 + JMICRON = bindings::PCI_VENDOR_ID_JMICRON, // 0x197B 468 + KORENIX = bindings::PCI_VENDOR_ID_KORENIX, // 0x1982 469 + HUAWEI = bindings::PCI_VENDOR_ID_HUAWEI, // 0x19e5 470 + NETRONOME = bindings::PCI_VENDOR_ID_NETRONOME, // 0x19ee 471 + QMI = bindings::PCI_VENDOR_ID_QMI, // 0x1a32 472 + AZWAVE = bindings::PCI_VENDOR_ID_AZWAVE, // 0x1a3b 473 + REDHAT_QUMRANET = bindings::PCI_VENDOR_ID_REDHAT_QUMRANET, // 0x1af4 474 + ASMEDIA = bindings::PCI_VENDOR_ID_ASMEDIA, // 0x1b21 475 + REDHAT = bindings::PCI_VENDOR_ID_REDHAT, // 0x1b36 476 + WCHIC = bindings::PCI_VENDOR_ID_WCHIC, // 0x1c00 477 + SILICOM_DENMARK = bindings::PCI_VENDOR_ID_SILICOM_DENMARK, // 0x1c2c 478 + AMAZON_ANNAPURNA_LABS = bindings::PCI_VENDOR_ID_AMAZON_ANNAPURNA_LABS, // 0x1c36 479 + CIRCUITCO = bindings::PCI_VENDOR_ID_CIRCUITCO, // 0x1cc8 480 + AMAZON = bindings::PCI_VENDOR_ID_AMAZON, // 0x1d0f 481 + ZHAOXIN = bindings::PCI_VENDOR_ID_ZHAOXIN, // 0x1d17 482 + ROCKCHIP = bindings::PCI_VENDOR_ID_ROCKCHIP, // 0x1d87 483 + HYGON = bindings::PCI_VENDOR_ID_HYGON, // 0x1d94 484 + META = bindings::PCI_VENDOR_ID_META, // 0x1d9b 485 + FUNGIBLE = bindings::PCI_VENDOR_ID_FUNGIBLE, // 0x1dad 486 + HXT = bindings::PCI_VENDOR_ID_HXT, // 0x1dbf 487 + TEKRAM = bindings::PCI_VENDOR_ID_TEKRAM, // 0x1de1 488 + RPI = bindings::PCI_VENDOR_ID_RPI, // 0x1de4 489 + ALIBABA = bindings::PCI_VENDOR_ID_ALIBABA, // 0x1ded 490 + CXL = bindings::PCI_VENDOR_ID_CXL, // 0x1e98 491 + TEHUTI = bindings::PCI_VENDOR_ID_TEHUTI, // 0x1fc9 492 + SUNIX = bindings::PCI_VENDOR_ID_SUNIX, // 0x1fd4 493 + HINT = bindings::PCI_VENDOR_ID_HINT, // 0x3388 494 + THREEDLABS = bindings::PCI_VENDOR_ID_3DLABS, // 0x3d3d 495 + NETXEN = bindings::PCI_VENDOR_ID_NETXEN, // 0x4040 496 + AKS = bindings::PCI_VENDOR_ID_AKS, // 0x416c 497 + WCHCN = bindings::PCI_VENDOR_ID_WCHCN, // 0x4348 498 + ACCESSIO = bindings::PCI_VENDOR_ID_ACCESSIO, // 0x494f 499 + S3 = bindings::PCI_VENDOR_ID_S3, // 0x5333 500 + DUNORD = bindings::PCI_VENDOR_ID_DUNORD, // 0x5544 501 + DCI = bindings::PCI_VENDOR_ID_DCI, // 0x6666 502 + GLENFLY = bindings::PCI_VENDOR_ID_GLENFLY, // 0x6766 503 + INTEL = bindings::PCI_VENDOR_ID_INTEL, // 0x8086 504 + WANGXUN = bindings::PCI_VENDOR_ID_WANGXUN, // 0x8088 505 + SCALEMP = bindings::PCI_VENDOR_ID_SCALEMP, // 0x8686 506 + COMPUTONE = bindings::PCI_VENDOR_ID_COMPUTONE, // 0x8e0e 507 + KTI = bindings::PCI_VENDOR_ID_KTI, // 0x8e2e 508 + ADAPTEC = bindings::PCI_VENDOR_ID_ADAPTEC, // 0x9004 509 + ADAPTEC2 = bindings::PCI_VENDOR_ID_ADAPTEC2, // 0x9005 510 + HOLTEK = bindings::PCI_VENDOR_ID_HOLTEK, // 0x9412 511 + NETMOS = bindings::PCI_VENDOR_ID_NETMOS, // 0x9710 512 + THREECOM_2 = bindings::PCI_VENDOR_ID_3COM_2, // 0xa727 513 + SOLIDRUN = bindings::PCI_VENDOR_ID_SOLIDRUN, // 0xd063 514 + DIGIUM = bindings::PCI_VENDOR_ID_DIGIUM, // 0xd161 515 + TIGERJET = bindings::PCI_VENDOR_ID_TIGERJET, // 0xe159 516 + XILINX_RME = bindings::PCI_VENDOR_ID_XILINX_RME, // 0xea60 517 + XEN = bindings::PCI_VENDOR_ID_XEN, // 0x5853 518 + OCZ = bindings::PCI_VENDOR_ID_OCZ, // 0x1b85 519 + NCUBE = bindings::PCI_VENDOR_ID_NCUBE, // 0x10ff 286 520 }