aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-10-24 18:11:33 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-10-24 18:11:33 +0000
commita9cd57af9e7aeb91e8662eccb919a5db55f53475 (patch)
treed3f253655c5a51066e399a3e04a924951bb3eda1 /package
parentc37691ca2ab222706cb2190c85192f6cbace48f0 (diff)
downloadupstream-a9cd57af9e7aeb91e8662eccb919a5db55f53475.tar.gz
upstream-a9cd57af9e7aeb91e8662eccb919a5db55f53475.tar.bz2
upstream-a9cd57af9e7aeb91e8662eccb919a5db55f53475.zip
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
Diffstat (limited to 'package')
-rw-r--r--package/mtd/Makefile9
-rw-r--r--package/mtd/src/mtd.c24
2 files changed, 14 insertions, 19 deletions
diff --git a/package/mtd/Makefile b/package/mtd/Makefile
index 00d347fad5..b3edb7b1b8 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 1e9d316e4c..559b937f97 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)