summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2009-08-09 21:50:24 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2009-08-09 21:50:24 +0000
commitdb41c59e3ba625659e397675384b08b4ec967fe6 (patch)
treef46b32f2d22db4fcbec9f2d33a3566f71e7dbb07
parentbe726817f770572f4d950c7e572c308112a69e3b (diff)
downloadast2050-flashrom-db41c59e3ba625659e397675384b08b4ec967fe6.zip
ast2050-flashrom-db41c59e3ba625659e397675384b08b4ec967fe6.tar.gz
Releasing IO permissions was done by hand everywhere
Use a proper abstraction. Kill unneeded #include statements. Corresponding to flashrom svn r672. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Stefan Reinauer <stepan@coresystems.de>
-rw-r--r--flash.h1
-rw-r--r--internal.c11
-rw-r--r--nic3com.c7
-rw-r--r--satasii.c8
4 files changed, 11 insertions, 16 deletions
diff --git a/flash.h b/flash.h
index 8a80dc5..e4f60c4 100644
--- a/flash.h
+++ b/flash.h
@@ -308,6 +308,7 @@ struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device);
struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device,
uint16_t card_vendor, uint16_t card_device);
void get_io_perms(void);
+void release_io_perms(void);
int internal_init(void);
int internal_shutdown(void);
void internal_chip_writeb(uint8_t val, chipaddr addr);
diff --git a/internal.c b/internal.c
index 302c7a9..888c502 100644
--- a/internal.c
+++ b/internal.c
@@ -95,6 +95,13 @@ void get_io_perms(void)
}
}
+void release_io_perms(void)
+{
+#if defined(__FreeBSD__) || defined(__DragonFly__)
+ close(io_fd);
+#endif
+}
+
int internal_init(void)
{
int ret = 0;
@@ -128,9 +135,7 @@ int internal_init(void)
int internal_shutdown(void)
{
-#if defined(__FreeBSD__) || defined(__DragonFly__)
- close(io_fd);
-#endif
+ release_io_perms();
return 0;
}
diff --git a/nic3com.c b/nic3com.c
index 81b4f9e..bdf7db2 100644
--- a/nic3com.c
+++ b/nic3com.c
@@ -20,10 +20,7 @@
#include <stdlib.h>
#include <string.h>
-#include <fcntl.h>
#include <sys/types.h>
-#include <sys/stat.h>
-#include <errno.h>
#include "flash.h"
#define BIOS_ROM_ADDR 0x04
@@ -99,9 +96,7 @@ int nic3com_shutdown(void)
free(pcidev_bdf);
pci_cleanup(pacc);
-#if defined(__FreeBSD__) || defined(__DragonFly__)
- close(io_fd);
-#endif
+ release_io_perms();
return 0;
}
diff --git a/satasii.c b/satasii.c
index 03baa3e..b576749 100644
--- a/satasii.c
+++ b/satasii.c
@@ -22,10 +22,6 @@
#include <stdlib.h>
#include <string.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <errno.h>
#include "flash.h"
#define PCI_VENDOR_ID_SII 0x1095
@@ -77,9 +73,7 @@ int satasii_shutdown(void)
{
free(pcidev_bdf);
pci_cleanup(pacc);
-#if defined(__FreeBSD__) || defined(__DragonFly__)
- close(io_fd);
-#endif
+ release_io_perms();
return 0;
}
OpenPOWER on IntegriCloud