From 9dbba974294a1171f776b05b50482926b9916aa4 Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" Date: Thu, 31 Dec 2009 19:06:35 +0100 Subject: [PATCH] --- yaml --- r: 178699 b: refs/heads/master c: 5b889bf237fca383b5807ad69fde3ad1e2287e42 h: refs/heads/master i: 178697: 181887272301ecbbee973dabbf1e0a2b82c7082e 178695: dde9629af40411d7447b44c1e0f127adb2b9b9d5 v: v3 --- [refs] | 2 +- trunk/drivers/pci/pci.c | 15 --------------- trunk/drivers/pci/pci.h | 2 +- trunk/drivers/pci/quirks.c | 19 ++++++++++++++++++- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/[refs] b/[refs] index e6f59efe26be..215e9290d5ce 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9de54606d3d55095e4426a81a79a41d8e5e5b6be +refs/heads/master: 5b889bf237fca383b5807ad69fde3ad1e2287e42 diff --git a/trunk/drivers/pci/pci.c b/trunk/drivers/pci/pci.c index 864e703cf737..0906599ebfde 100644 --- a/trunk/drivers/pci/pci.c +++ b/trunk/drivers/pci/pci.c @@ -2284,21 +2284,6 @@ static int pci_parent_bus_reset(struct pci_dev *dev, int probe) return 0; } -static int pci_dev_specific_reset(struct pci_dev *dev, int probe) -{ - struct pci_dev_reset_methods *i; - - for (i = pci_dev_reset_methods; i->reset; i++) { - if ((i->vendor == dev->vendor || - i->vendor == (u16)PCI_ANY_ID) && - (i->device == dev->device || - i->device == (u16)PCI_ANY_ID)) - return i->reset(dev, probe); - } - - return -ENOTTY; -} - static int pci_dev_reset(struct pci_dev *dev, int probe) { int rc; diff --git a/trunk/drivers/pci/pci.h b/trunk/drivers/pci/pci.h index 709eaa4fee51..fbd0e3adbca3 100644 --- a/trunk/drivers/pci/pci.h +++ b/trunk/drivers/pci/pci.h @@ -319,6 +319,6 @@ struct pci_dev_reset_methods { int (*reset)(struct pci_dev *dev, int probe); }; -extern struct pci_dev_reset_methods pci_dev_reset_methods[]; +extern int pci_dev_specific_reset(struct pci_dev *dev, int probe); #endif /* DRIVERS_PCI_H */ diff --git a/trunk/drivers/pci/quirks.c b/trunk/drivers/pci/quirks.c index 8726698866b1..5c449fc4db19 100644 --- a/trunk/drivers/pci/quirks.c +++ b/trunk/drivers/pci/quirks.c @@ -2684,14 +2684,31 @@ static int reset_intel_82599_sfp_virtfn(struct pci_dev *dev, int probe) #define PCI_DEVICE_ID_INTEL_82599_SFP_VF 0x10ed -struct pci_dev_reset_methods pci_dev_reset_methods[] = { +static const struct pci_dev_reset_methods pci_dev_reset_methods[] = { { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82599_SFP_VF, reset_intel_82599_sfp_virtfn }, { PCI_VENDOR_ID_INTEL, PCI_ANY_ID, reset_intel_generic_dev }, { 0 } }; + +int pci_dev_specific_reset(struct pci_dev *dev, int probe) +{ + struct pci_dev_reset_methods *i; + + for (i = pci_dev_reset_methods; i->reset; i++) { + if ((i->vendor == dev->vendor || + i->vendor == (u16)PCI_ANY_ID) && + (i->device == dev->device || + i->device == (u16)PCI_ANY_ID)) + return i->reset(dev, probe); + } + + return -ENOTTY; +} + #else void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev) {} +int pci_dev_specific_reset(struct pci_dev *dev, int probe) { return -ENOTTY; } #endif EXPORT_SYMBOL(pci_fixup_device);