18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci#include <linux/kbuild.h> 38c2ecf20Sopenharmony_ci#include <linux/mod_devicetable.h> 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#define DEVID(devid) DEFINE(SIZE_##devid, sizeof(struct devid)) 68c2ecf20Sopenharmony_ci#define DEVID_FIELD(devid, field) \ 78c2ecf20Sopenharmony_ci DEFINE(OFF_##devid##_##field, offsetof(struct devid, field)) 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciint main(void) 108c2ecf20Sopenharmony_ci{ 118c2ecf20Sopenharmony_ci DEVID(usb_device_id); 128c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, match_flags); 138c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, idVendor); 148c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, idProduct); 158c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, bcdDevice_lo); 168c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, bcdDevice_hi); 178c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, bDeviceClass); 188c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, bDeviceSubClass); 198c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, bDeviceProtocol); 208c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, bInterfaceClass); 218c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, bInterfaceSubClass); 228c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, bInterfaceProtocol); 238c2ecf20Sopenharmony_ci DEVID_FIELD(usb_device_id, bInterfaceNumber); 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci DEVID(hid_device_id); 268c2ecf20Sopenharmony_ci DEVID_FIELD(hid_device_id, bus); 278c2ecf20Sopenharmony_ci DEVID_FIELD(hid_device_id, group); 288c2ecf20Sopenharmony_ci DEVID_FIELD(hid_device_id, vendor); 298c2ecf20Sopenharmony_ci DEVID_FIELD(hid_device_id, product); 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci DEVID(ieee1394_device_id); 328c2ecf20Sopenharmony_ci DEVID_FIELD(ieee1394_device_id, match_flags); 338c2ecf20Sopenharmony_ci DEVID_FIELD(ieee1394_device_id, vendor_id); 348c2ecf20Sopenharmony_ci DEVID_FIELD(ieee1394_device_id, model_id); 358c2ecf20Sopenharmony_ci DEVID_FIELD(ieee1394_device_id, specifier_id); 368c2ecf20Sopenharmony_ci DEVID_FIELD(ieee1394_device_id, version); 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci DEVID(pci_device_id); 398c2ecf20Sopenharmony_ci DEVID_FIELD(pci_device_id, vendor); 408c2ecf20Sopenharmony_ci DEVID_FIELD(pci_device_id, device); 418c2ecf20Sopenharmony_ci DEVID_FIELD(pci_device_id, subvendor); 428c2ecf20Sopenharmony_ci DEVID_FIELD(pci_device_id, subdevice); 438c2ecf20Sopenharmony_ci DEVID_FIELD(pci_device_id, class); 448c2ecf20Sopenharmony_ci DEVID_FIELD(pci_device_id, class_mask); 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci DEVID(ccw_device_id); 478c2ecf20Sopenharmony_ci DEVID_FIELD(ccw_device_id, match_flags); 488c2ecf20Sopenharmony_ci DEVID_FIELD(ccw_device_id, cu_type); 498c2ecf20Sopenharmony_ci DEVID_FIELD(ccw_device_id, cu_model); 508c2ecf20Sopenharmony_ci DEVID_FIELD(ccw_device_id, dev_type); 518c2ecf20Sopenharmony_ci DEVID_FIELD(ccw_device_id, dev_model); 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci DEVID(ap_device_id); 548c2ecf20Sopenharmony_ci DEVID_FIELD(ap_device_id, dev_type); 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci DEVID(css_device_id); 578c2ecf20Sopenharmony_ci DEVID_FIELD(css_device_id, type); 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci DEVID(serio_device_id); 608c2ecf20Sopenharmony_ci DEVID_FIELD(serio_device_id, type); 618c2ecf20Sopenharmony_ci DEVID_FIELD(serio_device_id, proto); 628c2ecf20Sopenharmony_ci DEVID_FIELD(serio_device_id, id); 638c2ecf20Sopenharmony_ci DEVID_FIELD(serio_device_id, extra); 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci DEVID(acpi_device_id); 668c2ecf20Sopenharmony_ci DEVID_FIELD(acpi_device_id, id); 678c2ecf20Sopenharmony_ci DEVID_FIELD(acpi_device_id, cls); 688c2ecf20Sopenharmony_ci DEVID_FIELD(acpi_device_id, cls_msk); 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci DEVID(pnp_device_id); 718c2ecf20Sopenharmony_ci DEVID_FIELD(pnp_device_id, id); 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci DEVID(pnp_card_device_id); 748c2ecf20Sopenharmony_ci DEVID_FIELD(pnp_card_device_id, devs); 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci DEVID(pcmcia_device_id); 778c2ecf20Sopenharmony_ci DEVID_FIELD(pcmcia_device_id, match_flags); 788c2ecf20Sopenharmony_ci DEVID_FIELD(pcmcia_device_id, manf_id); 798c2ecf20Sopenharmony_ci DEVID_FIELD(pcmcia_device_id, card_id); 808c2ecf20Sopenharmony_ci DEVID_FIELD(pcmcia_device_id, func_id); 818c2ecf20Sopenharmony_ci DEVID_FIELD(pcmcia_device_id, function); 828c2ecf20Sopenharmony_ci DEVID_FIELD(pcmcia_device_id, device_no); 838c2ecf20Sopenharmony_ci DEVID_FIELD(pcmcia_device_id, prod_id_hash); 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci DEVID(of_device_id); 868c2ecf20Sopenharmony_ci DEVID_FIELD(of_device_id, name); 878c2ecf20Sopenharmony_ci DEVID_FIELD(of_device_id, type); 888c2ecf20Sopenharmony_ci DEVID_FIELD(of_device_id, compatible); 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci DEVID(vio_device_id); 918c2ecf20Sopenharmony_ci DEVID_FIELD(vio_device_id, type); 928c2ecf20Sopenharmony_ci DEVID_FIELD(vio_device_id, compat); 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci DEVID(input_device_id); 958c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, flags); 968c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, bustype); 978c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, vendor); 988c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, product); 998c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, version); 1008c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, evbit); 1018c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, keybit); 1028c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, relbit); 1038c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, absbit); 1048c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, mscbit); 1058c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, ledbit); 1068c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, sndbit); 1078c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, ffbit); 1088c2ecf20Sopenharmony_ci DEVID_FIELD(input_device_id, swbit); 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci DEVID(eisa_device_id); 1118c2ecf20Sopenharmony_ci DEVID_FIELD(eisa_device_id, sig); 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci DEVID(parisc_device_id); 1148c2ecf20Sopenharmony_ci DEVID_FIELD(parisc_device_id, hw_type); 1158c2ecf20Sopenharmony_ci DEVID_FIELD(parisc_device_id, hversion); 1168c2ecf20Sopenharmony_ci DEVID_FIELD(parisc_device_id, hversion_rev); 1178c2ecf20Sopenharmony_ci DEVID_FIELD(parisc_device_id, sversion); 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci DEVID(sdio_device_id); 1208c2ecf20Sopenharmony_ci DEVID_FIELD(sdio_device_id, class); 1218c2ecf20Sopenharmony_ci DEVID_FIELD(sdio_device_id, vendor); 1228c2ecf20Sopenharmony_ci DEVID_FIELD(sdio_device_id, device); 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci DEVID(ssb_device_id); 1258c2ecf20Sopenharmony_ci DEVID_FIELD(ssb_device_id, vendor); 1268c2ecf20Sopenharmony_ci DEVID_FIELD(ssb_device_id, coreid); 1278c2ecf20Sopenharmony_ci DEVID_FIELD(ssb_device_id, revision); 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ci DEVID(bcma_device_id); 1308c2ecf20Sopenharmony_ci DEVID_FIELD(bcma_device_id, manuf); 1318c2ecf20Sopenharmony_ci DEVID_FIELD(bcma_device_id, id); 1328c2ecf20Sopenharmony_ci DEVID_FIELD(bcma_device_id, rev); 1338c2ecf20Sopenharmony_ci DEVID_FIELD(bcma_device_id, class); 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci DEVID(virtio_device_id); 1368c2ecf20Sopenharmony_ci DEVID_FIELD(virtio_device_id, device); 1378c2ecf20Sopenharmony_ci DEVID_FIELD(virtio_device_id, vendor); 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_ci DEVID(hv_vmbus_device_id); 1408c2ecf20Sopenharmony_ci DEVID_FIELD(hv_vmbus_device_id, guid); 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci DEVID(rpmsg_device_id); 1438c2ecf20Sopenharmony_ci DEVID_FIELD(rpmsg_device_id, name); 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_ci DEVID(i2c_device_id); 1468c2ecf20Sopenharmony_ci DEVID_FIELD(i2c_device_id, name); 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ci DEVID(i3c_device_id); 1498c2ecf20Sopenharmony_ci DEVID_FIELD(i3c_device_id, match_flags); 1508c2ecf20Sopenharmony_ci DEVID_FIELD(i3c_device_id, dcr); 1518c2ecf20Sopenharmony_ci DEVID_FIELD(i3c_device_id, manuf_id); 1528c2ecf20Sopenharmony_ci DEVID_FIELD(i3c_device_id, part_id); 1538c2ecf20Sopenharmony_ci DEVID_FIELD(i3c_device_id, extra_info); 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ci DEVID(spi_device_id); 1568c2ecf20Sopenharmony_ci DEVID_FIELD(spi_device_id, name); 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci DEVID(dmi_system_id); 1598c2ecf20Sopenharmony_ci DEVID_FIELD(dmi_system_id, matches); 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci DEVID(platform_device_id); 1628c2ecf20Sopenharmony_ci DEVID_FIELD(platform_device_id, name); 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci DEVID(mdio_device_id); 1658c2ecf20Sopenharmony_ci DEVID_FIELD(mdio_device_id, phy_id); 1668c2ecf20Sopenharmony_ci DEVID_FIELD(mdio_device_id, phy_id_mask); 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci DEVID(zorro_device_id); 1698c2ecf20Sopenharmony_ci DEVID_FIELD(zorro_device_id, id); 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci DEVID(isapnp_device_id); 1728c2ecf20Sopenharmony_ci DEVID_FIELD(isapnp_device_id, vendor); 1738c2ecf20Sopenharmony_ci DEVID_FIELD(isapnp_device_id, function); 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ci DEVID(ipack_device_id); 1768c2ecf20Sopenharmony_ci DEVID_FIELD(ipack_device_id, format); 1778c2ecf20Sopenharmony_ci DEVID_FIELD(ipack_device_id, vendor); 1788c2ecf20Sopenharmony_ci DEVID_FIELD(ipack_device_id, device); 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ci DEVID(amba_id); 1818c2ecf20Sopenharmony_ci DEVID_FIELD(amba_id, id); 1828c2ecf20Sopenharmony_ci DEVID_FIELD(amba_id, mask); 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci DEVID(mips_cdmm_device_id); 1858c2ecf20Sopenharmony_ci DEVID_FIELD(mips_cdmm_device_id, type); 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ci DEVID(x86_cpu_id); 1888c2ecf20Sopenharmony_ci DEVID_FIELD(x86_cpu_id, feature); 1898c2ecf20Sopenharmony_ci DEVID_FIELD(x86_cpu_id, family); 1908c2ecf20Sopenharmony_ci DEVID_FIELD(x86_cpu_id, model); 1918c2ecf20Sopenharmony_ci DEVID_FIELD(x86_cpu_id, vendor); 1928c2ecf20Sopenharmony_ci 1938c2ecf20Sopenharmony_ci DEVID(cpu_feature); 1948c2ecf20Sopenharmony_ci DEVID_FIELD(cpu_feature, feature); 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ci DEVID(mei_cl_device_id); 1978c2ecf20Sopenharmony_ci DEVID_FIELD(mei_cl_device_id, name); 1988c2ecf20Sopenharmony_ci DEVID_FIELD(mei_cl_device_id, uuid); 1998c2ecf20Sopenharmony_ci DEVID_FIELD(mei_cl_device_id, version); 2008c2ecf20Sopenharmony_ci 2018c2ecf20Sopenharmony_ci DEVID(rio_device_id); 2028c2ecf20Sopenharmony_ci DEVID_FIELD(rio_device_id, did); 2038c2ecf20Sopenharmony_ci DEVID_FIELD(rio_device_id, vid); 2048c2ecf20Sopenharmony_ci DEVID_FIELD(rio_device_id, asm_did); 2058c2ecf20Sopenharmony_ci DEVID_FIELD(rio_device_id, asm_vid); 2068c2ecf20Sopenharmony_ci 2078c2ecf20Sopenharmony_ci DEVID(ulpi_device_id); 2088c2ecf20Sopenharmony_ci DEVID_FIELD(ulpi_device_id, vendor); 2098c2ecf20Sopenharmony_ci DEVID_FIELD(ulpi_device_id, product); 2108c2ecf20Sopenharmony_ci 2118c2ecf20Sopenharmony_ci DEVID(hda_device_id); 2128c2ecf20Sopenharmony_ci DEVID_FIELD(hda_device_id, vendor_id); 2138c2ecf20Sopenharmony_ci DEVID_FIELD(hda_device_id, rev_id); 2148c2ecf20Sopenharmony_ci DEVID_FIELD(hda_device_id, api_version); 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ci DEVID(sdw_device_id); 2178c2ecf20Sopenharmony_ci DEVID_FIELD(sdw_device_id, mfg_id); 2188c2ecf20Sopenharmony_ci DEVID_FIELD(sdw_device_id, part_id); 2198c2ecf20Sopenharmony_ci DEVID_FIELD(sdw_device_id, sdw_version); 2208c2ecf20Sopenharmony_ci DEVID_FIELD(sdw_device_id, class_id); 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ci DEVID(fsl_mc_device_id); 2238c2ecf20Sopenharmony_ci DEVID_FIELD(fsl_mc_device_id, vendor); 2248c2ecf20Sopenharmony_ci DEVID_FIELD(fsl_mc_device_id, obj_type); 2258c2ecf20Sopenharmony_ci 2268c2ecf20Sopenharmony_ci DEVID(tb_service_id); 2278c2ecf20Sopenharmony_ci DEVID_FIELD(tb_service_id, match_flags); 2288c2ecf20Sopenharmony_ci DEVID_FIELD(tb_service_id, protocol_key); 2298c2ecf20Sopenharmony_ci DEVID_FIELD(tb_service_id, protocol_id); 2308c2ecf20Sopenharmony_ci DEVID_FIELD(tb_service_id, protocol_version); 2318c2ecf20Sopenharmony_ci DEVID_FIELD(tb_service_id, protocol_revision); 2328c2ecf20Sopenharmony_ci 2338c2ecf20Sopenharmony_ci DEVID(typec_device_id); 2348c2ecf20Sopenharmony_ci DEVID_FIELD(typec_device_id, svid); 2358c2ecf20Sopenharmony_ci DEVID_FIELD(typec_device_id, mode); 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ci DEVID(tee_client_device_id); 2388c2ecf20Sopenharmony_ci DEVID_FIELD(tee_client_device_id, uuid); 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci DEVID(wmi_device_id); 2418c2ecf20Sopenharmony_ci DEVID_FIELD(wmi_device_id, guid_string); 2428c2ecf20Sopenharmony_ci 2438c2ecf20Sopenharmony_ci DEVID(mhi_device_id); 2448c2ecf20Sopenharmony_ci DEVID_FIELD(mhi_device_id, chan); 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ci return 0; 2478c2ecf20Sopenharmony_ci} 248