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