162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * PCI Backend - Data structures for special overlays for broken devices. 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Ryan Wilson <hap9@epoch.ncsc.mil> 662306a36Sopenharmony_ci * Chris Bookholt <hap10@epoch.ncsc.mil> 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#ifndef __XEN_PCIBACK_CONF_SPACE_QUIRKS_H__ 1062306a36Sopenharmony_ci#define __XEN_PCIBACK_CONF_SPACE_QUIRKS_H__ 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include <linux/pci.h> 1362306a36Sopenharmony_ci#include <linux/list.h> 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistruct xen_pcibk_config_quirk { 1662306a36Sopenharmony_ci struct list_head quirks_list; 1762306a36Sopenharmony_ci struct pci_device_id devid; 1862306a36Sopenharmony_ci struct pci_dev *pdev; 1962306a36Sopenharmony_ci}; 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciint xen_pcibk_config_quirks_add_field(struct pci_dev *dev, struct config_field 2262306a36Sopenharmony_ci *field); 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciint xen_pcibk_config_quirks_init(struct pci_dev *dev); 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_civoid xen_pcibk_config_field_free(struct config_field *field); 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciint xen_pcibk_config_quirk_release(struct pci_dev *dev); 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciint xen_pcibk_field_is_dup(struct pci_dev *dev, unsigned int reg); 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci#endif 33