xen/pciback: xen pci backend driver.
[linux-2.6-block.git] / drivers / xen / xen-pciback / conf_space_quirks.h
CommitLineData
30edc14b
KRW
1/*
2 * PCI Backend - Data structures for special overlays for broken devices.
3 *
4 * Ryan Wilson <hap9@epoch.ncsc.mil>
5 * Chris Bookholt <hap10@epoch.ncsc.mil>
6 */
7
8#ifndef __XEN_PCIBACK_CONF_SPACE_QUIRKS_H__
9#define __XEN_PCIBACK_CONF_SPACE_QUIRKS_H__
10
11#include <linux/pci.h>
12#include <linux/list.h>
13
14struct pciback_config_quirk {
15 struct list_head quirks_list;
16 struct pci_device_id devid;
17 struct pci_dev *pdev;
18};
19
20struct pciback_config_quirk *pciback_find_quirk(struct pci_dev *dev);
21
22int pciback_config_quirks_add_field(struct pci_dev *dev, struct config_field
23 *field);
24
25int pciback_config_quirks_remove_field(struct pci_dev *dev, int reg);
26
27int pciback_config_quirks_init(struct pci_dev *dev);
28
29void pciback_config_field_free(struct config_field *field);
30
31int pciback_config_quirk_release(struct pci_dev *dev);
32
33int pciback_field_is_dup(struct pci_dev *dev, unsigned int reg);
34
35#endif