void            *fwnode;        /* IRQ domain for MSI assignment */
 #endif
 #if IS_ENABLED(CONFIG_VMD)
-       bool vmd_domain;                /* True if in Intel VMD domain */
+       struct pci_dev  *vmd_dev;       /* VMD Device if in Intel VMD domain */
 #endif
 };
 
 #if IS_ENABLED(CONFIG_VMD)
 static inline bool is_vmd(struct pci_bus *bus)
 {
-       return to_pci_sysdata(bus)->vmd_domain;
+       return to_pci_sysdata(bus)->vmd_dev != NULL;
 }
 #else
 #define is_vmd(bus)            false
 
                .parent = res,
        };
 
-       sd->vmd_domain = true;
+       sd->vmd_dev = vmd->dev;
        sd->domain = vmd_find_free_domain();
        if (sd->domain < 0)
                return sd->domain;