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.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-programmer_internal_refactor_delay/flash.h =================================================================== --- flashrom-programmer_internal_refactor_delay/flash.h (Revision 821) +++ flashrom-programmer_internal_refactor_delay/flash.h (Arbeitskopie) @@ -277,6 +277,7 @@ /* 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 @@ 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); Index: flashrom-programmer_internal_refactor_delay/Makefile =================================================================== --- flashrom-programmer_internal_refactor_delay/Makefile (Revision 821) +++ flashrom-programmer_internal_refactor_delay/Makefile (Arbeitskopie) @@ -47,7 +47,7 @@ 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 @@
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) Index: flashrom-programmer_internal_refactor_delay/internal.c =================================================================== --- flashrom-programmer_internal_refactor_delay/internal.c (Revision 821) +++ flashrom-programmer_internal_refactor_delay/internal.c (Arbeitskopie) @@ -248,18 +248,6 @@ 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) { Index: flashrom-programmer_internal_refactor_delay/udelay.c =================================================================== --- flashrom-programmer_internal_refactor_delay/udelay.c (Revision 821) +++ flashrom-programmer_internal_refactor_delay/udelay.c (Arbeitskopie) @@ -63,3 +63,16 @@ (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); + } +} +
2009/12/24 Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
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.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-programmer_internal_refactor_delay/flash.h
--- flashrom-programmer_internal_refactor_delay/flash.h (Revision 821) +++ flashrom-programmer_internal_refactor_delay/flash.h (Arbeitskopie) @@ -277,6 +277,7 @@ /* 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 @@ 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); Index: flashrom-programmer_internal_refactor_delay/Makefile =================================================================== --- flashrom-programmer_internal_refactor_delay/Makefile (Revision 821) +++ flashrom-programmer_internal_refactor_delay/Makefile (Arbeitskopie) @@ -47,7 +47,7 @@ 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 @@
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) Index: flashrom-programmer_internal_refactor_delay/internal.c =================================================================== --- flashrom-programmer_internal_refactor_delay/internal.c (Revision 821) +++ flashrom-programmer_internal_refactor_delay/internal.c (Arbeitskopie) @@ -248,18 +248,6 @@ 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) { Index: flashrom-programmer_internal_refactor_delay/udelay.c =================================================================== --- flashrom-programmer_internal_refactor_delay/udelay.c (Revision 821) +++ flashrom-programmer_internal_refactor_delay/udelay.c (Arbeitskopie) @@ -63,3 +63,16 @@ (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);
}
+}
-- Developer quote of the year: "We are juggling too many chainsaws and flaming arrows and tigers."
flashrom mailing list flashrom@flashrom.org http://www.flashrom.org/mailman/listinfo/flashrom
Acked-by: Idwer Vollering <vidwer@gmail.com audiohacked@gmail.com>
On 24.12.2009 03:57, Idwer Vollering wrote:
Acked-by: Idwer Vollering vidwer@gmail.com
Thanks, r822.
Regards, Carl-Daniel
On 24.12.2009 04:12, Carl-Daniel Hailfinger wrote:
On 24.12.2009 03:57, Idwer Vollering wrote:
Acked-by: Idwer Vollering vidwer@gmail.com
Thanks, r822.
Just for the record: This broke make CONFIG_INTERNAL=no CONFIG_NIC3COM=no CONFIG_SATASII=no CONFIG_DRKAISER=no CONFIG_SERPROG=yes CONFIG_FT2232SPI=no CONFIG_BUSPIRATESPI=no
The correct fix is to move fallback_*() and noop_*() to a separate file which is compiled unconditionally. Will fix tomorrow.
Regards, Carl-Daniel