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