Michał Żygowski has uploaded this change for review.

View Change

pcidev: Move pci device functions out of internal programmer

PCI device helper functions implemented in internal programmer are
generic, not specific to this particular programmer. Move them to
the common pcidev.c file which is included in all programmers
requiring PCI and may be used not only for internal programmer.

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: Ice40783a05c01cc78b34eb2c4a575554e9d55f8e
---
M internal.c
M pcidev.c
2 files changed, 58 insertions(+), 58 deletions(-)

git pull ssh://review.coreboot.org:29418/flashrom refs/changes/48/55848/1
diff --git a/internal.c b/internal.c
index abd4637..005bd8d 100644
--- a/internal.c
+++ b/internal.c
@@ -30,64 +30,6 @@

enum chipbustype internal_buses_supported = BUS_NONE;

-struct pci_dev *pci_dev_find_vendorclass(uint16_t vendor, uint16_t devclass)
-{
- struct pci_dev *temp;
- struct pci_filter filter;
- uint16_t tmp2;
-
- pci_filter_init(NULL, &filter);
- filter.vendor = vendor;
-
- for (temp = pacc->devices; temp; temp = temp->next)
- if (pci_filter_match(&filter, temp)) {
- /* Read PCI class */
- tmp2 = pci_read_word(temp, 0x0a);
- if (tmp2 == devclass)
- return temp;
- }
-
- return NULL;
-}
-
-struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device)
-{
- struct pci_dev *temp;
- struct pci_filter filter;
-
- pci_filter_init(NULL, &filter);
- filter.vendor = vendor;
- filter.device = device;
-
- for (temp = pacc->devices; temp; temp = temp->next)
- if (pci_filter_match(&filter, temp))
- return temp;
-
- return NULL;
-}
-
-struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device,
- uint16_t card_vendor, uint16_t card_device)
-{
- struct pci_dev *temp;
- struct pci_filter filter;
-
- pci_filter_init(NULL, &filter);
- filter.vendor = vendor;
- filter.device = device;
-
- for (temp = pacc->devices; temp; temp = temp->next)
- if (pci_filter_match(&filter, temp)) {
- if ((card_vendor ==
- pci_read_word(temp, PCI_SUBSYSTEM_VENDOR_ID))
- && (card_device ==
- pci_read_word(temp, PCI_SUBSYSTEM_ID)))
- return temp;
- }
-
- return NULL;
-}
-
#if IS_X86
void probe_superio(void)
{
diff --git a/pcidev.c b/pcidev.c
index 9ffe05c..30bf981 100644
--- a/pcidev.c
+++ b/pcidev.c
@@ -333,3 +333,61 @@
register_undo_pci_write_long(dev, reg);
return pci_write_long(dev, reg, data);
}
+
+struct pci_dev *pci_dev_find_vendorclass(uint16_t vendor, uint16_t devclass)
+{
+ struct pci_dev *temp;
+ struct pci_filter filter;
+ uint16_t tmp2;
+
+ pci_filter_init(NULL, &filter);
+ filter.vendor = vendor;
+
+ for (temp = pacc->devices; temp; temp = temp->next)
+ if (pci_filter_match(&filter, temp)) {
+ /* Read PCI class */
+ tmp2 = pci_read_word(temp, 0x0a);
+ if (tmp2 == devclass)
+ return temp;
+ }
+
+ return NULL;
+}
+
+struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device)
+{
+ struct pci_dev *temp;
+ struct pci_filter filter;
+
+ pci_filter_init(NULL, &filter);
+ filter.vendor = vendor;
+ filter.device = device;
+
+ for (temp = pacc->devices; temp; temp = temp->next)
+ if (pci_filter_match(&filter, temp))
+ return temp;
+
+ return NULL;
+}
+
+struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device,
+ uint16_t card_vendor, uint16_t card_device)
+{
+ struct pci_dev *temp;
+ struct pci_filter filter;
+
+ pci_filter_init(NULL, &filter);
+ filter.vendor = vendor;
+ filter.device = device;
+
+ for (temp = pacc->devices; temp; temp = temp->next)
+ if (pci_filter_match(&filter, temp)) {
+ if ((card_vendor ==
+ pci_read_word(temp, PCI_SUBSYSTEM_VENDOR_ID))
+ && (card_device ==
+ pci_read_word(temp, PCI_SUBSYSTEM_ID)))
+ return temp;
+ }
+
+ return NULL;
+}

To view, visit change 55848. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: Ice40783a05c01cc78b34eb2c4a575554e9d55f8e
Gerrit-Change-Number: 55848
Gerrit-PatchSet: 1
Gerrit-Owner: Michał Żygowski <michal.zygowski@3mdeb.com>
Gerrit-MessageType: newchange