From a75ce960ac1b9d67af280e17e1e653b3b39def20 Mon Sep 17 00:00:00 2001
From: Mathias Kresin <dev@kresin.me>
Date: Fri, 23 Dec 2016 09:46:48 +0100
Subject: [PATCH] ramips: use different board names for variants

Use different names for flash size related board variants, to make sure
that only images for the actual flash size are considered as valid by
the image validation code.

Remove the flash size suffix from the string returned by
ramips_board_detect() to ensure that existing scripts relying on the
former used boardname are still working.

Signed-off-by: Mathias Kresin <dev@kresin.me>
---
 target/linux/ramips/base-files/lib/ramips.sh  | 30 +++++++++++++------
 .../ramips/base-files/sbin/fixup-mac-address  |  3 +-
 target/linux/ramips/dts/ASL26555-16M.dts      |  2 +-
 target/linux/ramips/dts/ASL26555-8M.dts       |  2 +-
 target/linux/ramips/dts/NIXCORE-16M.dts       |  4 +++
 target/linux/ramips/dts/NIXCORE-8M.dts        |  4 +++
 target/linux/ramips/dts/NIXCORE.dtsi          |  1 -
 target/linux/ramips/dts/VOCORE-16M.dts        |  4 +++
 target/linux/ramips/dts/VOCORE-8M.dts         |  4 +++
 target/linux/ramips/dts/VOCORE.dtsi           |  1 -
 target/linux/ramips/dts/WT3020-4M.dts         |  2 +-
 target/linux/ramips/dts/WT3020-8M.dts         |  2 +-
 target/linux/ramips/image/mt7620.mk           |  2 --
 target/linux/ramips/image/rt305x.mk           | 18 ++++-------
 14 files changed, 49 insertions(+), 30 deletions(-)

diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index bfb186ddf8..6b14d19feb 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -55,8 +55,11 @@ ramips_board_detect() {
 	*"AR725W")
 		name="ar725w"
 		;;
-	*"ASL26555")
-		name="asl26555"
+	*"ASL26555 (8M)")
+		name="asl26555-8M"
+		;;
+	*"ASL26555 (16M)")
+		name="asl26555-16M"
 		;;
 	*"ATP-52B")
 		name="atp-52b"
@@ -343,8 +346,11 @@ ramips_board_detect() {
 	*"NCS601W")
 		name="ncs601w"
 		;;
-	*"NixcoreX1")
-		name="nixcore-x1"
+	*"NixcoreX1 (8M)")
+		name="nixcore-x1-8M"
+		;;
+	*"NixcoreX1 (16M)")
+		name="nixcore-x1-16M"
 		;;
 	*"NW718")
 		name="nw718"
@@ -451,8 +457,11 @@ ramips_board_detect() {
 	*"V22RW-2X2")
 		name="v22rw-2x2"
 		;;
-	*"VoCore")
-		name="vocore"
+	*"VoCore (8M)")
+		name="vocore-8M"
+		;;
+	*"VoCore (16M)")
+		name="vocore-16M"
 		;;
 	*"VR500")
 		name="vr500"
@@ -556,8 +565,11 @@ ramips_board_detect() {
 	*"WT1520")
 		name="wt1520"
 		;;
-	*"WT3020")
-		name="wt3020"
+	*"WT3020 (4M)")
+		name="wt3020-4M"
+		;;
+	*"WT3020 (8M)")
+		name="wt3020-8M"
 		;;
 	*"WZR-AGL300NH")
 		name="wzr-agl300nh"
@@ -627,5 +639,5 @@ ramips_board_name() {
 	[ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
 	[ -z "$name" ] && name="unknown"
 
-	echo "$name"
+	echo "${name%-[0-9]*M}"
 }
diff --git a/target/linux/ramips/base-files/sbin/fixup-mac-address b/target/linux/ramips/base-files/sbin/fixup-mac-address
index 6e3bac4997..3fd8fcb97a 100755
--- a/target/linux/ramips/base-files/sbin/fixup-mac-address
+++ b/target/linux/ramips/base-files/sbin/fixup-mac-address
@@ -7,7 +7,8 @@ offset=""
 NEW_MAC=
 YES=
 
-case "$(cat /tmp/sysinfo/board_name)" in
+board=$(ramips_board_name)
+case $board in
 	witi)
 		partname=factory
 		offset=$((0xe000))
diff --git a/target/linux/ramips/dts/ASL26555-16M.dts b/target/linux/ramips/dts/ASL26555-16M.dts
index 2887a6ef02..460fe05efa 100644
--- a/target/linux/ramips/dts/ASL26555-16M.dts
+++ b/target/linux/ramips/dts/ASL26555-16M.dts
@@ -6,7 +6,7 @@
 
 / {
 	compatible = "ASL26555", "ralink,rt3050-soc";
-	model = "Alpha ASL26555";
+	model = "Alpha ASL26555 (16M)";
 
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
diff --git a/target/linux/ramips/dts/ASL26555-8M.dts b/target/linux/ramips/dts/ASL26555-8M.dts
index 5ab65938a1..288f5552a8 100644
--- a/target/linux/ramips/dts/ASL26555-8M.dts
+++ b/target/linux/ramips/dts/ASL26555-8M.dts
@@ -6,7 +6,7 @@
 
 / {
 	compatible = "ASL26555", "ralink,rt3050-soc";
-	model = "Alpha ASL26555";
+	model = "Alpha ASL26555 (8M)";
 
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
diff --git a/target/linux/ramips/dts/NIXCORE-16M.dts b/target/linux/ramips/dts/NIXCORE-16M.dts
index 8f848f41af..b97c425364 100644
--- a/target/linux/ramips/dts/NIXCORE-16M.dts
+++ b/target/linux/ramips/dts/NIXCORE-16M.dts
@@ -2,6 +2,10 @@
 
 #include "NIXCORE.dtsi"
 
+/ {
+	model = "NixcoreX1 (16M)";
+};
+
 &spi0 {
 	status = "okay";
 
diff --git a/target/linux/ramips/dts/NIXCORE-8M.dts b/target/linux/ramips/dts/NIXCORE-8M.dts
index 66458676d3..55457d9dde 100644
--- a/target/linux/ramips/dts/NIXCORE-8M.dts
+++ b/target/linux/ramips/dts/NIXCORE-8M.dts
@@ -2,6 +2,10 @@
 
 #include "NIXCORE.dtsi"
 
+/ {
+	model = "NixcoreX1 (8M)";
+};
+
 &spi0 {
 	status = "okay";
 
diff --git a/target/linux/ramips/dts/NIXCORE.dtsi b/target/linux/ramips/dts/NIXCORE.dtsi
index 4c233d24ba..a827b31408 100644
--- a/target/linux/ramips/dts/NIXCORE.dtsi
+++ b/target/linux/ramips/dts/NIXCORE.dtsi
@@ -2,7 +2,6 @@
 
 / {
 	compatible = "Nixcore", "ralink,rt5350-soc";
-	model = "Nixcore";
 
 	chosen {
 		bootargs = "console=ttyS1,57600";
diff --git a/target/linux/ramips/dts/VOCORE-16M.dts b/target/linux/ramips/dts/VOCORE-16M.dts
index f51c4f5407..dd10784bf1 100644
--- a/target/linux/ramips/dts/VOCORE-16M.dts
+++ b/target/linux/ramips/dts/VOCORE-16M.dts
@@ -2,6 +2,10 @@
 
 #include "VOCORE.dtsi"
 
+/ {
+	model = "VoCore (16M)";
+};
+
 &spi0 {
 	status = "okay";
 
diff --git a/target/linux/ramips/dts/VOCORE-8M.dts b/target/linux/ramips/dts/VOCORE-8M.dts
index 1026c865c5..e3647244f9 100644
--- a/target/linux/ramips/dts/VOCORE-8M.dts
+++ b/target/linux/ramips/dts/VOCORE-8M.dts
@@ -2,6 +2,10 @@
 
 #include "VOCORE.dtsi"
 
+/ {
+	model = "VoCore (8M)";
+};
+
 &spi0 {
 	status = "okay";
 
diff --git a/target/linux/ramips/dts/VOCORE.dtsi b/target/linux/ramips/dts/VOCORE.dtsi
index bb8a458831..36f784a389 100644
--- a/target/linux/ramips/dts/VOCORE.dtsi
+++ b/target/linux/ramips/dts/VOCORE.dtsi
@@ -2,7 +2,6 @@
 
 / {
 	compatible = "VoCore", "ralink,rt5350-soc";
-	model = "VoCore";
 
 	gpio-export {
 		compatible = "gpio-export";
diff --git a/target/linux/ramips/dts/WT3020-4M.dts b/target/linux/ramips/dts/WT3020-4M.dts
index 368a24619c..6e40d5a869 100644
--- a/target/linux/ramips/dts/WT3020-4M.dts
+++ b/target/linux/ramips/dts/WT3020-4M.dts
@@ -6,7 +6,7 @@
 
 / {
 	compatible = "wt3020", "ralink,mt7620n-soc";
-	model = "Nexx WT3020";
+	model = "Nexx WT3020 (4M)";
 
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
diff --git a/target/linux/ramips/dts/WT3020-8M.dts b/target/linux/ramips/dts/WT3020-8M.dts
index 0e15d031f5..4ef48cb14e 100644
--- a/target/linux/ramips/dts/WT3020-8M.dts
+++ b/target/linux/ramips/dts/WT3020-8M.dts
@@ -6,7 +6,7 @@
 
 / {
 	compatible = "wt3020", "ralink,mt7620n-soc";
-	model = "Nexx WT3020";
+	model = "Nexx WT3020 (8M)";
 
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index a8c7f5c8c7..cfdda97907 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -89,7 +89,6 @@ define Device/wt3020-4M
   BLOCKSIZE := 4k
   IMAGE_SIZE := $(ralink_default_fw_size_4M)
   IMAGES += factory.bin
-  SUPPORTED_DEVICES := wt3020
   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
 	poray-header -B WT3020 -F 4M
   DEVICE_TITLE := Nexx WT3020 (4MB)
@@ -99,7 +98,6 @@ TARGET_DEVICES += wt3020-4M
 define Device/wt3020-8M
   DTS := WT3020-8M
   IMAGES += factory.bin
-  SUPPORTED_DEVICES := wt3020
   IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
 	poray-header -B WT3020 -F 8M
   DEVICE_TITLE := Nexx WT3020 (8MB)
diff --git a/target/linux/ramips/image/rt305x.mk b/target/linux/ramips/image/rt305x.mk
index ac31cfa9ac..06aaf43e8e 100644
--- a/target/linux/ramips/image/rt305x.mk
+++ b/target/linux/ramips/image/rt305x.mk
@@ -40,7 +40,6 @@ TARGET_DEVICES += all5003
 define Device/asl26555-8M
   DTS := ASL26555-8M
   IMAGE_SIZE := 7744k
-  SUPPORTED_DEVICES := asl26555
   DEVICE_TITLE := Alpha ASL26555 
   DEVICE_PACKAGES := kmod-usb-core kmod-usb-dwc2 kmod-usb-ledtrig-usbport
 endef
@@ -49,7 +48,6 @@ TARGET_DEVICES += asl26555-8M
 define Device/asl26555-16M
   DTS := ASL26555-16M
   IMAGE_SIZE := 15872k
-  SUPPORTED_DEVICES := asl26555
   DEVICE_TITLE := Alpha ASL26555 16M
   DEVICE_PACKAGES :=
 endef
@@ -270,20 +268,18 @@ define Device/ncs601w
 endef
 TARGET_DEVICES += ncs601w
 
-define Device/nixcore-8M
+define Device/nixcore-x1-8M
   DTS := NIXCORE-8M
   IMAGE_SIZE := 7872k
-  SUPPORTED_DEVICES := nixcore-x1
-  DEVICE_TITLE := NixcoreX1 8M
+  DEVICE_TITLE := NixcoreX1 (8M)
   DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-i2c-core kmod-i2c-ralink kmod-spi-dev
 endef
 TARGET_DEVICES += nixcore-8M
 
-define Device/nixcore-16M
+define Device/nixcore-x1-16M
   DTS := NIXCORE-16M
   IMAGE_SIZE := 16064k
-  SUPPORTED_DEVICES := nixcore-x1
-  DEVICE_TITLE := NixcoreX1 16M
+  DEVICE_TITLE := NixcoreX1 (16M)
   DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-i2c-core kmod-i2c-ralink kmod-spi-dev
 endef
 TARGET_DEVICES += nixcore-16M
@@ -391,8 +387,7 @@ TARGET_DEVICES += v22rw-2x2
 define Device/vocore-8M
   DTS := VOCORE-8M
   IMAGE_SIZE := 7872k
-  SUPPORTED_DEVICES := vocore
-  DEVICE_TITLE :=  VoCore 8M
+  DEVICE_TITLE := VoCore (8M)
   DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 \
 		kmod-i2c-core kmod-i2c-ralink \
 		kmod-spi-dev
@@ -402,8 +397,7 @@ TARGET_DEVICES += vocore-8M
 define Device/vocore-16M
   DTS := VOCORE-16M
   IMAGE_SIZE := 16064k
-  SUPPORTED_DEVICES := vocore
-  DEVICE_TITLE := VoCore 16M
+  DEVICE_TITLE := VoCore (16M)
   DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 \
 		kmod-i2c-core kmod-i2c-ralink \
 		kmod-spi-dev
-- 
GitLab