From f66fe68a968ec4be79e540388fb64a14589a7744 Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 24 Oct 2006 18:11:33 +0000 Subject: turn target runtime check of mtd into a compile-time check git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5285 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/mtd/Makefile | 9 ++++++++- package/mtd/src/mtd.c | 24 ++++++------------------ 2 files changed, 14 insertions(+), 19 deletions(-) (limited to 'package/mtd') diff --git a/package/mtd/Makefile b/package/mtd/Makefile index 00d347fad..b3edb7b1b 100644 --- a/package/mtd/Makefile +++ b/package/mtd/Makefile @@ -7,11 +7,12 @@ # $Id$ include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mtd PKG_RELEASE:=4 -PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) +PKG_BUILD_DIR := $(KERNEL_BUILD_DIR)/$(PKG_NAME) include $(INCLUDE_DIR)/package.mk @@ -30,6 +31,12 @@ define Build/Prepare $(CP) ./src/* $(PKG_BUILD_DIR)/ endef +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) -Dtarget_$(BOARD)=1" +endef + define Package/mtd/install install -d -m0755 $(1)/sbin install -m0755 $(PKG_BUILD_DIR)/mtd $(1)/sbin/ diff --git a/package/mtd/src/mtd.c b/package/mtd/src/mtd.c index 1e9d316e4..559b937f9 100644 --- a/package/mtd/src/mtd.c +++ b/package/mtd/src/mtd.c @@ -64,8 +64,9 @@ char buf[BUFSIZE]; int buflen; int quiet; +#ifdef target_brcm int -image_check_bcom(int imagefd, const char *mtd) +image_check_brcm(int imagefd, const char *mtd) { struct trx_header *trx = (struct trx_header *) buf; struct mtd_info_user mtdInfo; @@ -121,6 +122,7 @@ image_check_bcom(int imagefd, const char *mtd) close(fd); return 1; } +#endif /* target_brcm */ int image_check(int imagefd, const char *mtd) @@ -130,23 +132,9 @@ image_check(int imagefd, const char *mtd) char *c; FILE *f; - systype = SYSTYPE_UNKNOWN; - f = fopen("/proc/cpuinfo", "r"); - while (!feof(f) && (fgets(buf, BUFSIZE - 1, f) != NULL)) { - if ((strncmp(buf, "system type", 11) == 0) && (c = strchr(buf, ':'))) { - c += 2; - if (strncmp(c, "Broadcom BCM947XX", 17) == 0) - systype = SYSTYPE_BROADCOM; - } - } - fclose(f); - - switch(systype) { - case SYSTYPE_BROADCOM: - return image_check_bcom(imagefd, mtd); - default: - return 1; - } +#ifdef target_brcm + return image_check_brcm(imagefd, mtd); +#endif } int mtd_check(char *mtd) -- cgit v1.2.3