Browse Source

turn target runtime check of mtd into a compile-time check

SVN-Revision: 5285
Felix Fietkau 19 years ago
parent
commit
426ecdecef
2 changed files with 14 additions and 19 deletions
  1. 8 1
      package/mtd/Makefile
  2. 6 18
      package/mtd/src/mtd.c

+ 8 - 1
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/

+ 6 - 18
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)