summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2009-12-24 03:11:55 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2009-12-24 03:11:55 +0000
commit36cc1c8144db8c0a84d7b79dd3011fb2a0398cfb (patch)
tree0522bdd685b608f066795f75bb905b31c3b56b43
parent552420b0d677bfb8d3b0b487255b244964c948e9 (diff)
downloadflashrom-36cc1c8144db8c0a84d7b79dd3011fb2a0398cfb.tar.gz
flashrom-36cc1c8144db8c0a84d7b79dd3011fb2a0398cfb.tar.bz2
flashrom-36cc1c8144db8c0a84d7b79dd3011fb2a0398cfb.zip
Internal.c was always compiled in because it hosted the function internal_delay()
Move that function to udelay.c and compile internal.c only if really needed. physmap.c is only needed if the programmer is internal or a PCI card. Make its compilation conditional. Corresponding to flashrom svn r822. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Idwer Vollering <vidwer@gmail.com>
-rw-r--r--Makefile4
-rw-r--r--flash.h2
-rw-r--r--internal.c12
-rw-r--r--udelay.c13
4 files changed, 16 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index 77731edbe..20c9bab03 100644
--- a/Makefile
+++ b/Makefile
@@ -47,7 +47,7 @@ OBJS = jedec.o stm50flw0x0x.o w39v080fa.o sharplhf00l04.o w29ee011.o \
sst28sf040.o am29f040b.o mx29f002.o m29f400bt.o pm29f002.o w39v040c.o \
w49f002u.o 82802ab.o pm49fl00x.o sst49lf040.o en29f002a.o m29f002.o \
sst49lfxxxc.o sst_fwhub.o flashchips.o layout.o spi.o \
- flashrom.o print.o physmap.o internal.o udelay.o
+ flashrom.o print.o udelay.o
all: pciutils features dep $(PROGRAM)
@@ -168,7 +168,7 @@ endif
ifeq ($(NEED_PCI), yes)
FEATURE_CFLAGS += -D'NEED_PCI=1'
-OBJS += pcidev.o
+OBJS += pcidev.o physmap.o internal.o
endif
ifeq ($(CONFIG_PRINT_WIKI), yes)
diff --git a/flash.h b/flash.h
index fc3dff8f0..feac98e9f 100644
--- a/flash.h
+++ b/flash.h
@@ -277,6 +277,7 @@ extern const struct board_info laptops_bad[];
/* udelay.c */
void myusec_delay(int usecs);
void myusec_calibrate_delay(void);
+void internal_delay(int usecs);
#if NEED_PCI == 1
/* pcidev.c */
@@ -365,7 +366,6 @@ void mmio_writel(uint32_t val, void *addr);
uint8_t mmio_readb(void *addr);
uint16_t mmio_readw(void *addr);
uint32_t mmio_readl(void *addr);
-void internal_delay(int usecs);
int noop_shutdown(void);
void *fallback_map(const char *descr, unsigned long phys_addr, size_t len);
void fallback_unmap(void *virt_addr, size_t len);
diff --git a/internal.c b/internal.c
index 69624a0d4..98a846399 100644
--- a/internal.c
+++ b/internal.c
@@ -248,18 +248,6 @@ uint32_t mmio_readl(void *addr)
return *(volatile uint32_t *) addr;
}
-void internal_delay(int usecs)
-{
- /* If the delay is >1 s, use usleep because timing does not need to
- * be so precise.
- */
- if (usecs > 1000000) {
- usleep(usecs);
- } else {
- myusec_delay(usecs);
- }
-}
-
/* No-op shutdown() for programmers which don't need special handling */
int noop_shutdown(void)
{
diff --git a/udelay.c b/udelay.c
index 9a0ab365b..f61d793c6 100644
--- a/udelay.c
+++ b/udelay.c
@@ -63,3 +63,16 @@ void myusec_calibrate_delay(void)
(unsigned long)micro, timeusec);
printf("OK.\n");
}
+
+void internal_delay(int usecs)
+{
+ /* If the delay is >1 s, use usleep because timing does not need to
+ * be so precise.
+ */
+ if (usecs > 1000000) {
+ usleep(usecs);
+ } else {
+ myusec_delay(usecs);
+ }
+}
+