Hide hwaccess.h from public API

Move hwaccess.h #include from flash.h to individual drivers.
libflashrom users need flash.h, but they do not care about hwaccess.h
and should not see its definitions because they may conflict with
other hardware access functions and #defines used by the libflashrom
user.

Corresponding to flashrom svn r1549.

Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
diff --git a/atahpt.c b/atahpt.c
index 4234f6d..41a82cb 100644
--- a/atahpt.c
+++ b/atahpt.c
@@ -24,6 +24,7 @@
 #include <string.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define BIOS_ROM_ADDR		0x90
 #define BIOS_ROM_DATA		0x94
diff --git a/board_enable.c b/board_enable.c
index 98607aa..04cb557 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -27,6 +27,7 @@
 #include <string.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #if defined(__i386__) || defined(__x86_64__)
 /*
diff --git a/chipset_enable.c b/chipset_enable.c
index 5cfcd1b..bde2e12 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -34,6 +34,7 @@
 #include <errno.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define NOT_DONE_YET 1
 
diff --git a/drkaiser.c b/drkaiser.c
index 362db57..a3844b8 100644
--- a/drkaiser.c
+++ b/drkaiser.c
@@ -21,6 +21,7 @@
 #include <stdlib.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define PCI_VENDOR_ID_DRKAISER		0x1803
 
diff --git a/flash.h b/flash.h
index 60d52e1..d669512 100644
--- a/flash.h
+++ b/flash.h
@@ -26,7 +26,6 @@
 
 #include <stdint.h>
 #include <stddef.h>
-#include "hwaccess.h"
 #ifdef _WIN32
 #include <windows.h>
 #undef min
diff --git a/gfxnvidia.c b/gfxnvidia.c
index b8750b3..ddf82e7 100644
--- a/gfxnvidia.c
+++ b/gfxnvidia.c
@@ -22,6 +22,7 @@
 #include <string.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define PCI_VENDOR_ID_NVIDIA	0x10de
 
diff --git a/hwaccess.c b/hwaccess.c
index 571edd7..e182167 100644
--- a/hwaccess.c
+++ b/hwaccess.c
@@ -30,6 +30,7 @@
 #include <errno.h>
 #endif
 #include "flash.h"
+#include "hwaccess.h"
 
 #if defined(__i386__) || defined(__x86_64__)
 
diff --git a/ichspi.c b/ichspi.c
index 29c507a..792d35d 100644
--- a/ichspi.c
+++ b/ichspi.c
@@ -29,6 +29,7 @@
 #include <stdlib.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 #include "spi.h"
 #include "ich_descriptors.h"
 
diff --git a/internal.c b/internal.c
index 5b24577..c99ca1f 100644
--- a/internal.c
+++ b/internal.c
@@ -22,6 +22,7 @@
 #include <stdlib.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #if NEED_PCI == 1
 struct pci_dev *pci_dev_find_filter(struct pci_filter filter)
diff --git a/it85spi.c b/it85spi.c
index a5d5c2e..0b074eb 100644
--- a/it85spi.c
+++ b/it85spi.c
@@ -32,6 +32,7 @@
 #include "flash.h"
 #include "spi.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define MAX_TIMEOUT 100000
 #define MAX_TRY 5
diff --git a/it87spi.c b/it87spi.c
index c02f77b..c7bbb13 100644
--- a/it87spi.c
+++ b/it87spi.c
@@ -30,6 +30,7 @@
 #include "flash.h"
 #include "chipdrivers.h"
 #include "programmer.h"
+#include "hwaccess.h"
 #include "spi.h"
 
 #define ITE_SUPERIO_PORT1	0x2e
diff --git a/mcp6x_spi.c b/mcp6x_spi.c
index 23f39a5..ac40557 100644
--- a/mcp6x_spi.c
+++ b/mcp6x_spi.c
@@ -29,6 +29,7 @@
 #include <ctype.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 /* Bit positions for each pin. */
 
diff --git a/nic3com.c b/nic3com.c
index 473c7b1..a137c64 100644
--- a/nic3com.c
+++ b/nic3com.c
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define BIOS_ROM_ADDR		0x04
 #define BIOS_ROM_DATA		0x08
diff --git a/nicintel.c b/nicintel.c
index 49bdec2..813049c 100644
--- a/nicintel.c
+++ b/nicintel.c
@@ -22,6 +22,7 @@
 #include <stdlib.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 uint8_t *nicintel_bar;
 uint8_t *nicintel_control_bar;
diff --git a/nicintel_spi.c b/nicintel_spi.c
index 4ff8554..7a02cda 100644
--- a/nicintel_spi.c
+++ b/nicintel_spi.c
@@ -28,6 +28,7 @@
 #include <stdlib.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define PCI_VENDOR_ID_INTEL 0x8086
 
diff --git a/nicnatsemi.c b/nicnatsemi.c
index eb2a7f8..4646867 100644
--- a/nicnatsemi.c
+++ b/nicnatsemi.c
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define PCI_VENDOR_ID_NATSEMI	0x100b
 
diff --git a/nicrealtek.c b/nicrealtek.c
index 32aa434..61e07d8 100644
--- a/nicrealtek.c
+++ b/nicrealtek.c
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define PCI_VENDOR_ID_REALTEK	0x10ec
 #define PCI_VENDOR_ID_SMC1211	0x1113
diff --git a/ogp_spi.c b/ogp_spi.c
index 812420c..2966024 100644
--- a/ogp_spi.c
+++ b/ogp_spi.c
@@ -21,6 +21,7 @@
 #include <string.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define PCI_VENDOR_ID_OGP 0x1227
 
diff --git a/pcidev.c b/pcidev.c
index f490a68..c1b6d6a 100644
--- a/pcidev.c
+++ b/pcidev.c
@@ -23,6 +23,7 @@
 #include <string.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 uint32_t io_base_addr;
 struct pci_access *pacc;
diff --git a/physmap.c b/physmap.c
index e54dee4..eca6760 100644
--- a/physmap.c
+++ b/physmap.c
@@ -25,6 +25,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include "flash.h"
+#include "hwaccess.h"
 
 /* Do we need any file access or ioctl for physmap or MSR? */
 #if !defined(__DJGPP__) && !defined(__LIBPAYLOAD__)
diff --git a/programmer.h b/programmer.h
index 51d04fd..6f07dd0 100644
--- a/programmer.h
+++ b/programmer.h
@@ -144,6 +144,7 @@
 };
 
 #if CONFIG_INTERNAL == 1
+struct pci_dev;
 struct penable {
 	uint16_t vendor_id;
 	uint16_t device_id;
@@ -294,6 +295,7 @@
 #define SUPERIO_VENDOR_WINBOND	0x2
 #endif
 #if NEED_PCI == 1
+struct pci_filter;
 struct pci_dev *pci_dev_find_filter(struct pci_filter filter);
 struct pci_dev *pci_dev_find_vendorclass(uint16_t vendor, uint16_t devclass);
 struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device);
diff --git a/rayer_spi.c b/rayer_spi.c
index 0011bc0..584a6a0 100644
--- a/rayer_spi.c
+++ b/rayer_spi.c
@@ -34,6 +34,7 @@
 #include <string.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 enum rayer_type {
 	TYPE_RAYER,
diff --git a/satamv.c b/satamv.c
index e39385b..70deb06 100644
--- a/satamv.c
+++ b/satamv.c
@@ -24,6 +24,7 @@
 #include <stdlib.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 uint8_t *mv_bar;
 uint16_t mv_iobar;
diff --git a/satasii.c b/satasii.c
index 387c605..aae76f3 100644
--- a/satasii.c
+++ b/satasii.c
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 
 #define PCI_VENDOR_ID_SII	0x1095
 
diff --git a/sb600spi.c b/sb600spi.c
index e36ac96..fe60aa9 100644
--- a/sb600spi.c
+++ b/sb600spi.c
@@ -25,6 +25,7 @@
 
 #include "flash.h"
 #include "programmer.h"
+#include "hwaccess.h"
 #include "spi.h"
 
 /* This struct is unused, but helps visualize the SB600 SPI BAR layout.
diff --git a/wbsio_spi.c b/wbsio_spi.c
index 38ac2d8..7d4bb2a 100644
--- a/wbsio_spi.c
+++ b/wbsio_spi.c
@@ -23,6 +23,7 @@
 #include "flash.h"
 #include "chipdrivers.h"
 #include "programmer.h"
+#include "hwaccess.h"
 #include "spi.h"
 
 #define WBSIO_PORT1	0x2e