#ifndef _I915_PCIIDS_H
 #define _I915_PCIIDS_H
 
-/*
- * A pci_device_id struct {
- *     __u32 vendor, device;
- *      __u32 subvendor, subdevice;
- *     __u32 class, class_mask;
- *     kernel_ulong_t driver_data;
- * };
- * Don't use C99 here because "class" is reserved and we want to
- * give userspace flexibility.
- */
-#define INTEL_VGA_DEVICE(id, info) { \
-       0x8086, id, \
-       ~0, ~0, \
-       0x030000, 0xff0000, \
-       (unsigned long) info }
-
-#define INTEL_QUANTA_VGA_DEVICE(info) { \
-       0x8086, 0x16a, \
-       0x152d, 0x8990, \
-       0x030000, 0xff0000, \
-       (unsigned long) info }
+#ifdef __KERNEL__
+#define INTEL_VGA_DEVICE(_id, _info) { \
+       PCI_DEVICE(PCI_VENDOR_ID_INTEL, (_id)), \
+       .class = PCI_BASE_CLASS_DISPLAY << 16, .class_mask = 0xff << 16, \
+       .driver_data = (kernel_ulong_t)(_info), \
+}
+
+#define INTEL_QUANTA_VGA_DEVICE(_info) { \
+       .vendor = PCI_VENDOR_ID_INTEL, .device = 0x16a, \
+       .subvendor = 0x152d, .subdevice = 0x8990, \
+       .class = PCI_BASE_CLASS_DISPLAY << 16, .class_mask = 0xff << 16, \
+       .driver_data = (kernel_ulong_t)(_info), \
+}
+#endif
 
 #define INTEL_I810_IDS(MACRO__, ...) \
        MACRO__(0x7121, ## __VA_ARGS__), /* I810 */ \