1 /* 2 * PCI Backend - Data structures for special overlays for broken devices. 3 * 4 * Ryan Wilson <hap9@epoch.ncsc.mil> 5 * Chris Bookholt <hap10@epoch.ncsc.mil> 6 */ 7 8 #ifndef __XEN_PCIBACK_CONF_SPACE_QUIRKS_H__ 9 #define __XEN_PCIBACK_CONF_SPACE_QUIRKS_H__ 10 11 #include <linux/pci.h> 12 #include <linux/list.h> 13 14 struct xen_pcibk_config_quirk { 15 struct list_head quirks_list; 16 struct pci_device_id devid; 17 struct pci_dev *pdev; 18 }; 19 20 int xen_pcibk_config_quirks_add_field(struct pci_dev *dev, struct config_field 21 *field); 22 23 int xen_pcibk_config_quirks_remove_field(struct pci_dev *dev, int reg); 24 25 int xen_pcibk_config_quirks_init(struct pci_dev *dev); 26 27 void xen_pcibk_config_field_free(struct config_field *field); 28 29 int xen_pcibk_config_quirk_release(struct pci_dev *dev); 30 31 int xen_pcibk_field_is_dup(struct pci_dev *dev, unsigned int reg); 32 33 #endif 34