Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Konrad Rzeszutek Wilk | 30edc14 | 2009-10-13 17:22:20 -0400 | [diff] [blame] | 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 | |
Konrad Rzeszutek Wilk | a92336a | 2011-07-19 19:40:51 -0400 | [diff] [blame] | 15 | struct xen_pcibk_config_quirk { |
Konrad Rzeszutek Wilk | 30edc14 | 2009-10-13 17:22:20 -0400 | [diff] [blame] | 16 | struct list_head quirks_list; |
| 17 | struct pci_device_id devid; |
| 18 | struct pci_dev *pdev; |
| 19 | }; |
| 20 | |
Konrad Rzeszutek Wilk | a92336a | 2011-07-19 19:40:51 -0400 | [diff] [blame] | 21 | int xen_pcibk_config_quirks_add_field(struct pci_dev *dev, struct config_field |
Konrad Rzeszutek Wilk | 30edc14 | 2009-10-13 17:22:20 -0400 | [diff] [blame] | 22 | *field); |
| 23 | |
Konrad Rzeszutek Wilk | a92336a | 2011-07-19 19:40:51 -0400 | [diff] [blame] | 24 | int xen_pcibk_config_quirks_remove_field(struct pci_dev *dev, int reg); |
Konrad Rzeszutek Wilk | 30edc14 | 2009-10-13 17:22:20 -0400 | [diff] [blame] | 25 | |
Konrad Rzeszutek Wilk | a92336a | 2011-07-19 19:40:51 -0400 | [diff] [blame] | 26 | int xen_pcibk_config_quirks_init(struct pci_dev *dev); |
Konrad Rzeszutek Wilk | 30edc14 | 2009-10-13 17:22:20 -0400 | [diff] [blame] | 27 | |
Konrad Rzeszutek Wilk | a92336a | 2011-07-19 19:40:51 -0400 | [diff] [blame] | 28 | void xen_pcibk_config_field_free(struct config_field *field); |
Konrad Rzeszutek Wilk | 30edc14 | 2009-10-13 17:22:20 -0400 | [diff] [blame] | 29 | |
Konrad Rzeszutek Wilk | a92336a | 2011-07-19 19:40:51 -0400 | [diff] [blame] | 30 | int xen_pcibk_config_quirk_release(struct pci_dev *dev); |
Konrad Rzeszutek Wilk | 30edc14 | 2009-10-13 17:22:20 -0400 | [diff] [blame] | 31 | |
Konrad Rzeszutek Wilk | a92336a | 2011-07-19 19:40:51 -0400 | [diff] [blame] | 32 | int xen_pcibk_field_is_dup(struct pci_dev *dev, unsigned int reg); |
Konrad Rzeszutek Wilk | 30edc14 | 2009-10-13 17:22:20 -0400 | [diff] [blame] | 33 | |
| 34 | #endif |