conf_space_quirks.h 880 B

1234567891011121314151617181920212223242526272829303132333435
  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. #ifndef __XEN_PCIBACK_CONF_SPACE_QUIRKS_H__
  9. #define __XEN_PCIBACK_CONF_SPACE_QUIRKS_H__
  10. #include <linux/pci.h>
  11. #include <linux/list.h>
  12. struct xen_pcibk_config_quirk {
  13. struct list_head quirks_list;
  14. struct pci_device_id devid;
  15. struct pci_dev *pdev;
  16. };
  17. int xen_pcibk_config_quirks_add_field(struct pci_dev *dev, struct config_field
  18. *field);
  19. int xen_pcibk_config_quirks_remove_field(struct pci_dev *dev, int reg);
  20. int xen_pcibk_config_quirks_init(struct pci_dev *dev);
  21. void xen_pcibk_config_field_free(struct config_field *field);
  22. int xen_pcibk_config_quirk_release(struct pci_dev *dev);
  23. int xen_pcibk_field_is_dup(struct pci_dev *dev, unsigned int reg);
  24. #endif