Merge branch 'work.file' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[sfrench/cifs-2.6.git] / drivers / xen / xen-pciback / conf_space_quirks.h
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