Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0 |
Andreas Schwab | 6543bec | 2013-01-20 17:58:47 +0100 | [diff] [blame] | 2 | #include <linux/kbuild.h> |
| 3 | #include <linux/mod_devicetable.h> |
| 4 | |
| 5 | #define DEVID(devid) DEFINE(SIZE_##devid, sizeof(struct devid)) |
| 6 | #define DEVID_FIELD(devid, field) \ |
| 7 | DEFINE(OFF_##devid##_##field, offsetof(struct devid, field)) |
| 8 | |
| 9 | int main(void) |
| 10 | { |
| 11 | DEVID(usb_device_id); |
| 12 | DEVID_FIELD(usb_device_id, match_flags); |
| 13 | DEVID_FIELD(usb_device_id, idVendor); |
| 14 | DEVID_FIELD(usb_device_id, idProduct); |
| 15 | DEVID_FIELD(usb_device_id, bcdDevice_lo); |
| 16 | DEVID_FIELD(usb_device_id, bcdDevice_hi); |
| 17 | DEVID_FIELD(usb_device_id, bDeviceClass); |
| 18 | DEVID_FIELD(usb_device_id, bDeviceSubClass); |
| 19 | DEVID_FIELD(usb_device_id, bDeviceProtocol); |
| 20 | DEVID_FIELD(usb_device_id, bInterfaceClass); |
| 21 | DEVID_FIELD(usb_device_id, bInterfaceSubClass); |
| 22 | DEVID_FIELD(usb_device_id, bInterfaceProtocol); |
| 23 | DEVID_FIELD(usb_device_id, bInterfaceNumber); |
| 24 | |
| 25 | DEVID(hid_device_id); |
| 26 | DEVID_FIELD(hid_device_id, bus); |
| 27 | DEVID_FIELD(hid_device_id, group); |
| 28 | DEVID_FIELD(hid_device_id, vendor); |
| 29 | DEVID_FIELD(hid_device_id, product); |
| 30 | |
| 31 | DEVID(ieee1394_device_id); |
| 32 | DEVID_FIELD(ieee1394_device_id, match_flags); |
| 33 | DEVID_FIELD(ieee1394_device_id, vendor_id); |
| 34 | DEVID_FIELD(ieee1394_device_id, model_id); |
| 35 | DEVID_FIELD(ieee1394_device_id, specifier_id); |
| 36 | DEVID_FIELD(ieee1394_device_id, version); |
| 37 | |
| 38 | DEVID(pci_device_id); |
| 39 | DEVID_FIELD(pci_device_id, vendor); |
| 40 | DEVID_FIELD(pci_device_id, device); |
| 41 | DEVID_FIELD(pci_device_id, subvendor); |
| 42 | DEVID_FIELD(pci_device_id, subdevice); |
| 43 | DEVID_FIELD(pci_device_id, class); |
| 44 | DEVID_FIELD(pci_device_id, class_mask); |
| 45 | |
| 46 | DEVID(ccw_device_id); |
| 47 | DEVID_FIELD(ccw_device_id, match_flags); |
| 48 | DEVID_FIELD(ccw_device_id, cu_type); |
| 49 | DEVID_FIELD(ccw_device_id, cu_model); |
| 50 | DEVID_FIELD(ccw_device_id, dev_type); |
| 51 | DEVID_FIELD(ccw_device_id, dev_model); |
| 52 | |
| 53 | DEVID(ap_device_id); |
| 54 | DEVID_FIELD(ap_device_id, dev_type); |
| 55 | |
| 56 | DEVID(css_device_id); |
| 57 | DEVID_FIELD(css_device_id, type); |
| 58 | |
| 59 | DEVID(serio_device_id); |
| 60 | DEVID_FIELD(serio_device_id, type); |
| 61 | DEVID_FIELD(serio_device_id, proto); |
| 62 | DEVID_FIELD(serio_device_id, id); |
| 63 | DEVID_FIELD(serio_device_id, extra); |
| 64 | |
| 65 | DEVID(acpi_device_id); |
| 66 | DEVID_FIELD(acpi_device_id, id); |
Suthikulpanit, Suravee | 26095a0 | 2015-07-07 01:55:20 +0200 | [diff] [blame] | 67 | DEVID_FIELD(acpi_device_id, cls); |
| 68 | DEVID_FIELD(acpi_device_id, cls_msk); |
Andreas Schwab | 6543bec | 2013-01-20 17:58:47 +0100 | [diff] [blame] | 69 | |
| 70 | DEVID(pnp_device_id); |
| 71 | DEVID_FIELD(pnp_device_id, id); |
| 72 | |
| 73 | DEVID(pnp_card_device_id); |
| 74 | DEVID_FIELD(pnp_card_device_id, devs); |
| 75 | |
| 76 | DEVID(pcmcia_device_id); |
| 77 | DEVID_FIELD(pcmcia_device_id, match_flags); |
| 78 | DEVID_FIELD(pcmcia_device_id, manf_id); |
| 79 | DEVID_FIELD(pcmcia_device_id, card_id); |
| 80 | DEVID_FIELD(pcmcia_device_id, func_id); |
| 81 | DEVID_FIELD(pcmcia_device_id, function); |
| 82 | DEVID_FIELD(pcmcia_device_id, device_no); |
| 83 | DEVID_FIELD(pcmcia_device_id, prod_id_hash); |
| 84 | |
| 85 | DEVID(of_device_id); |
| 86 | DEVID_FIELD(of_device_id, name); |
| 87 | DEVID_FIELD(of_device_id, type); |
| 88 | DEVID_FIELD(of_device_id, compatible); |
| 89 | |
| 90 | DEVID(vio_device_id); |
| 91 | DEVID_FIELD(vio_device_id, type); |
| 92 | DEVID_FIELD(vio_device_id, compat); |
| 93 | |
| 94 | DEVID(input_device_id); |
| 95 | DEVID_FIELD(input_device_id, flags); |
| 96 | DEVID_FIELD(input_device_id, bustype); |
| 97 | DEVID_FIELD(input_device_id, vendor); |
| 98 | DEVID_FIELD(input_device_id, product); |
| 99 | DEVID_FIELD(input_device_id, version); |
| 100 | DEVID_FIELD(input_device_id, evbit); |
| 101 | DEVID_FIELD(input_device_id, keybit); |
| 102 | DEVID_FIELD(input_device_id, relbit); |
| 103 | DEVID_FIELD(input_device_id, absbit); |
| 104 | DEVID_FIELD(input_device_id, mscbit); |
| 105 | DEVID_FIELD(input_device_id, ledbit); |
| 106 | DEVID_FIELD(input_device_id, sndbit); |
| 107 | DEVID_FIELD(input_device_id, ffbit); |
| 108 | DEVID_FIELD(input_device_id, swbit); |
| 109 | |
| 110 | DEVID(eisa_device_id); |
| 111 | DEVID_FIELD(eisa_device_id, sig); |
| 112 | |
| 113 | DEVID(parisc_device_id); |
| 114 | DEVID_FIELD(parisc_device_id, hw_type); |
| 115 | DEVID_FIELD(parisc_device_id, hversion); |
| 116 | DEVID_FIELD(parisc_device_id, hversion_rev); |
| 117 | DEVID_FIELD(parisc_device_id, sversion); |
| 118 | |
| 119 | DEVID(sdio_device_id); |
| 120 | DEVID_FIELD(sdio_device_id, class); |
| 121 | DEVID_FIELD(sdio_device_id, vendor); |
| 122 | DEVID_FIELD(sdio_device_id, device); |
| 123 | |
| 124 | DEVID(ssb_device_id); |
| 125 | DEVID_FIELD(ssb_device_id, vendor); |
| 126 | DEVID_FIELD(ssb_device_id, coreid); |
| 127 | DEVID_FIELD(ssb_device_id, revision); |
| 128 | |
| 129 | DEVID(bcma_device_id); |
| 130 | DEVID_FIELD(bcma_device_id, manuf); |
| 131 | DEVID_FIELD(bcma_device_id, id); |
| 132 | DEVID_FIELD(bcma_device_id, rev); |
| 133 | DEVID_FIELD(bcma_device_id, class); |
| 134 | |
| 135 | DEVID(virtio_device_id); |
| 136 | DEVID_FIELD(virtio_device_id, device); |
| 137 | DEVID_FIELD(virtio_device_id, vendor); |
| 138 | |
| 139 | DEVID(hv_vmbus_device_id); |
| 140 | DEVID_FIELD(hv_vmbus_device_id, guid); |
| 141 | |
Andrew F. Davis | 5b7d127 | 2018-04-21 18:55:29 -0500 | [diff] [blame] | 142 | DEVID(rpmsg_device_id); |
| 143 | DEVID_FIELD(rpmsg_device_id, name); |
| 144 | |
Andreas Schwab | 6543bec | 2013-01-20 17:58:47 +0100 | [diff] [blame] | 145 | DEVID(i2c_device_id); |
| 146 | DEVID_FIELD(i2c_device_id, name); |
| 147 | |
Boris Brezillon | 1ce589a | 2020-02-27 12:31:08 +0100 | [diff] [blame] | 148 | DEVID(i3c_device_id); |
| 149 | DEVID_FIELD(i3c_device_id, match_flags); |
| 150 | DEVID_FIELD(i3c_device_id, dcr); |
| 151 | DEVID_FIELD(i3c_device_id, manuf_id); |
| 152 | DEVID_FIELD(i3c_device_id, part_id); |
| 153 | DEVID_FIELD(i3c_device_id, extra_info); |
| 154 | |
Andreas Schwab | 6543bec | 2013-01-20 17:58:47 +0100 | [diff] [blame] | 155 | DEVID(spi_device_id); |
| 156 | DEVID_FIELD(spi_device_id, name); |
| 157 | |
| 158 | DEVID(dmi_system_id); |
| 159 | DEVID_FIELD(dmi_system_id, matches); |
| 160 | |
| 161 | DEVID(platform_device_id); |
| 162 | DEVID_FIELD(platform_device_id, name); |
| 163 | |
| 164 | DEVID(mdio_device_id); |
| 165 | DEVID_FIELD(mdio_device_id, phy_id); |
| 166 | DEVID_FIELD(mdio_device_id, phy_id_mask); |
| 167 | |
| 168 | DEVID(zorro_device_id); |
| 169 | DEVID_FIELD(zorro_device_id, id); |
| 170 | |
| 171 | DEVID(isapnp_device_id); |
| 172 | DEVID_FIELD(isapnp_device_id, vendor); |
| 173 | DEVID_FIELD(isapnp_device_id, function); |
| 174 | |
| 175 | DEVID(ipack_device_id); |
| 176 | DEVID_FIELD(ipack_device_id, format); |
| 177 | DEVID_FIELD(ipack_device_id, vendor); |
| 178 | DEVID_FIELD(ipack_device_id, device); |
| 179 | |
| 180 | DEVID(amba_id); |
| 181 | DEVID_FIELD(amba_id, id); |
| 182 | DEVID_FIELD(amba_id, mask); |
| 183 | |
James Hogan | 8286ae0 | 2015-03-25 15:39:50 +0000 | [diff] [blame] | 184 | DEVID(mips_cdmm_device_id); |
| 185 | DEVID_FIELD(mips_cdmm_device_id, type); |
| 186 | |
Andreas Schwab | 6543bec | 2013-01-20 17:58:47 +0100 | [diff] [blame] | 187 | DEVID(x86_cpu_id); |
| 188 | DEVID_FIELD(x86_cpu_id, feature); |
| 189 | DEVID_FIELD(x86_cpu_id, family); |
| 190 | DEVID_FIELD(x86_cpu_id, model); |
| 191 | DEVID_FIELD(x86_cpu_id, vendor); |
| 192 | |
Ard Biesheuvel | 67bad2f | 2014-02-08 13:34:09 +0100 | [diff] [blame] | 193 | DEVID(cpu_feature); |
| 194 | DEVID_FIELD(cpu_feature, feature); |
| 195 | |
Samuel Ortiz | e535410 | 2013-03-27 17:29:53 +0200 | [diff] [blame] | 196 | DEVID(mei_cl_device_id); |
| 197 | DEVID_FIELD(mei_cl_device_id, name); |
Tomas Winkler | c93b76b | 2015-05-07 15:54:02 +0300 | [diff] [blame] | 198 | DEVID_FIELD(mei_cl_device_id, uuid); |
Tomas Winkler | b26864c | 2015-09-10 10:18:01 +0300 | [diff] [blame] | 199 | DEVID_FIELD(mei_cl_device_id, version); |
Samuel Ortiz | e535410 | 2013-03-27 17:29:53 +0200 | [diff] [blame] | 200 | |
Alexandre Bounine | 3bdbb62 | 2013-07-03 15:08:58 -0700 | [diff] [blame] | 201 | DEVID(rio_device_id); |
| 202 | DEVID_FIELD(rio_device_id, did); |
| 203 | DEVID_FIELD(rio_device_id, vid); |
| 204 | DEVID_FIELD(rio_device_id, asm_did); |
| 205 | DEVID_FIELD(rio_device_id, asm_vid); |
| 206 | |
Heikki Krogerus | 289fcff | 2015-05-13 15:26:42 +0300 | [diff] [blame] | 207 | DEVID(ulpi_device_id); |
| 208 | DEVID_FIELD(ulpi_device_id, vendor); |
| 209 | DEVID_FIELD(ulpi_device_id, product); |
| 210 | |
Subhransu S. Prusty | da23ac1 | 2015-09-29 13:56:10 +0530 | [diff] [blame] | 211 | DEVID(hda_device_id); |
| 212 | DEVID_FIELD(hda_device_id, vendor_id); |
| 213 | DEVID_FIELD(hda_device_id, rev_id); |
| 214 | DEVID_FIELD(hda_device_id, api_version); |
| 215 | |
Vinod Koul | 9251345 | 2017-12-14 11:19:33 +0530 | [diff] [blame] | 216 | DEVID(sdw_device_id); |
| 217 | DEVID_FIELD(sdw_device_id, mfg_id); |
| 218 | DEVID_FIELD(sdw_device_id, part_id); |
Pierre-Louis Bossart | b592426 | 2020-06-09 04:54:35 +0800 | [diff] [blame] | 219 | DEVID_FIELD(sdw_device_id, sdw_version); |
| 220 | DEVID_FIELD(sdw_device_id, class_id); |
Vinod Koul | 9251345 | 2017-12-14 11:19:33 +0530 | [diff] [blame] | 221 | |
Stuart Yoder | 0afef45 | 2016-06-22 16:40:45 -0500 | [diff] [blame] | 222 | DEVID(fsl_mc_device_id); |
| 223 | DEVID_FIELD(fsl_mc_device_id, vendor); |
| 224 | DEVID_FIELD(fsl_mc_device_id, obj_type); |
| 225 | |
Mika Westerberg | d1ff702 | 2017-10-02 13:38:34 +0300 | [diff] [blame] | 226 | DEVID(tb_service_id); |
| 227 | DEVID_FIELD(tb_service_id, match_flags); |
| 228 | DEVID_FIELD(tb_service_id, protocol_key); |
| 229 | DEVID_FIELD(tb_service_id, protocol_id); |
| 230 | DEVID_FIELD(tb_service_id, protocol_version); |
| 231 | DEVID_FIELD(tb_service_id, protocol_revision); |
| 232 | |
Heikki Krogerus | 8a37d87 | 2018-06-27 18:19:50 +0300 | [diff] [blame] | 233 | DEVID(typec_device_id); |
| 234 | DEVID_FIELD(typec_device_id, svid); |
| 235 | DEVID_FIELD(typec_device_id, mode); |
| 236 | |
Sumit Garg | 0fc1db9 | 2019-01-29 11:19:35 +0530 | [diff] [blame] | 237 | DEVID(tee_client_device_id); |
| 238 | DEVID_FIELD(tee_client_device_id, uuid); |
| 239 | |
Mattias Jacobsson | 0bc44b2 | 2019-02-19 20:59:50 +0100 | [diff] [blame] | 240 | DEVID(wmi_device_id); |
| 241 | DEVID_FIELD(wmi_device_id, guid_string); |
| 242 | |
Manivannan Sadhasivam | e6b0de46 | 2020-02-20 15:28:50 +0530 | [diff] [blame] | 243 | DEVID(mhi_device_id); |
| 244 | DEVID_FIELD(mhi_device_id, chan); |
| 245 | |
Andreas Schwab | 6543bec | 2013-01-20 17:58:47 +0100 | [diff] [blame] | 246 | return 0; |
| 247 | } |