1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-28 07:23:43 +02:00

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>
This commit is contained in:
Carl-Daniel Hailfinger 2009-12-24 03:11:55 +00:00
parent 552420b0d6
commit 36cc1c8144
4 changed files with 16 additions and 15 deletions

View File

@ -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 \ sst28sf040.o am29f040b.o mx29f002.o m29f400bt.o pm29f002.o w39v040c.o \
w49f002u.o 82802ab.o pm49fl00x.o sst49lf040.o en29f002a.o m29f002.o \ w49f002u.o 82802ab.o pm49fl00x.o sst49lf040.o en29f002a.o m29f002.o \
sst49lfxxxc.o sst_fwhub.o flashchips.o layout.o spi.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) all: pciutils features dep $(PROGRAM)
@ -168,7 +168,7 @@ endif
ifeq ($(NEED_PCI), yes) ifeq ($(NEED_PCI), yes)
FEATURE_CFLAGS += -D'NEED_PCI=1' FEATURE_CFLAGS += -D'NEED_PCI=1'
OBJS += pcidev.o OBJS += pcidev.o physmap.o internal.o
endif endif
ifeq ($(CONFIG_PRINT_WIKI), yes) ifeq ($(CONFIG_PRINT_WIKI), yes)

View File

@ -277,6 +277,7 @@ extern const struct board_info laptops_bad[];
/* udelay.c */ /* udelay.c */
void myusec_delay(int usecs); void myusec_delay(int usecs);
void myusec_calibrate_delay(void); void myusec_calibrate_delay(void);
void internal_delay(int usecs);
#if NEED_PCI == 1 #if NEED_PCI == 1
/* pcidev.c */ /* pcidev.c */
@ -365,7 +366,6 @@ void mmio_writel(uint32_t val, void *addr);
uint8_t mmio_readb(void *addr); uint8_t mmio_readb(void *addr);
uint16_t mmio_readw(void *addr); uint16_t mmio_readw(void *addr);
uint32_t mmio_readl(void *addr); uint32_t mmio_readl(void *addr);
void internal_delay(int usecs);
int noop_shutdown(void); int noop_shutdown(void);
void *fallback_map(const char *descr, unsigned long phys_addr, size_t len); void *fallback_map(const char *descr, unsigned long phys_addr, size_t len);
void fallback_unmap(void *virt_addr, size_t len); void fallback_unmap(void *virt_addr, size_t len);

View File

@ -248,18 +248,6 @@ uint32_t mmio_readl(void *addr)
return *(volatile uint32_t *) 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 */ /* No-op shutdown() for programmers which don't need special handling */
int noop_shutdown(void) int noop_shutdown(void)
{ {

View File

@ -63,3 +63,16 @@ void myusec_calibrate_delay(void)
(unsigned long)micro, timeusec); (unsigned long)micro, timeusec);
printf("OK.\n"); 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);
}
}