summaryrefslogtreecommitdiffstats
path: root/programmer.h
diff options
context:
space:
mode:
authorStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2013-01-04 22:24:58 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2013-01-04 22:24:58 +0000
commit5561955b1158e8bd29299735abef1e26a5a9cdbc (patch)
tree5284fff71cacd837b0bea9b80977dee26a08765a /programmer.h
parent30dfdbaf3ab30974a6d76e085525d52c033e4215 (diff)
downloadflashrom-5561955b1158e8bd29299735abef1e26a5a9cdbc.tar.gz
flashrom-5561955b1158e8bd29299735abef1e26a5a9cdbc.tar.bz2
flashrom-5561955b1158e8bd29299735abef1e26a5a9cdbc.zip
Unify PCI init and let pcidev clean itself up
Previously the internal programmer used its own code to initialize pcilib. This patch extracts the common code from the internal programmer and pcidev_init() into pcidev_init_common(). This fixes the non-existent PCI cleanup of the internal programmer and adds an additional safety by checking for an already existing PCI context. We got a nice shutdown function registration infrastructure, but did not use it very wisely. Instead we added shutdown functions to a myriad of programmers unnecessarily. In this patch we get rid of those that do only call pci_cleanup(pacc) by adding a shutdown function the pcidev.c itself that gets registered by pcidev_init(). Corresponding to flashrom svn r1642. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Diffstat (limited to 'programmer.h')
-rw-r--r--programmer.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/programmer.h b/programmer.h
index 8de42bcc0..4302809b9 100644
--- a/programmer.h
+++ b/programmer.h
@@ -238,6 +238,7 @@ void internal_delay(int usecs);
extern uint32_t io_base_addr;
extern struct pci_access *pacc;
extern struct pci_dev *pcidev_dev;
+int pci_init_common(void);
uintptr_t pcidev_readbar(struct pci_dev *dev, int bar);
uintptr_t pcidev_init(int bar, const struct dev_entry *devs);
/* rpci_write_* are reversible writes. The original PCI config space register