oxnas: switch to generic board detect
remove /lib/oxnas.sh platform-specific board-detection and use generic which is based on device-tree compatible node instead. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
		| @@ -6,17 +6,17 @@ board=$(board_name) | ||||
| board_config_update | ||||
|  | ||||
| case $board in | ||||
| 	akitio) | ||||
| 	"akitio,myloud") | ||||
| 		ucidef_set_led_default "status" "status" "akitio:red:status" "0" | ||||
| 		;; | ||||
| 	stg212) | ||||
| 	"mitrastar,stg-212") | ||||
| 		ucidef_set_led_default "power" "power" "zyxel:blue:status" "1" | ||||
| 		ucidef_set_led_usbdev "usb" "USB" "zyxel:orange:copy" "1-1" | ||||
| 		;; | ||||
| 	kd20) | ||||
| 	"shuttle,kd20") | ||||
| 		ucidef_set_led_default "power" "power" "kd20:blue:status" "1" | ||||
| 		;; | ||||
| 	pogoplug-pro | pogoplug-v3) | ||||
| 	"cloudengines,pogoplug"*) | ||||
| 		ucidef_set_led_default "power" "power" "pogoplug:blue:internal" "1" | ||||
| 		;; | ||||
|  | ||||
|   | ||||
| @@ -2,14 +2,37 @@ | ||||
|  | ||||
| . /lib/functions/uci-defaults.sh | ||||
| . /lib/functions/system.sh | ||||
| . /lib/oxnas.sh | ||||
|  | ||||
| board_config_update | ||||
|  | ||||
| lan_mac="" | ||||
|  | ||||
| bootloader_cmdline_var() { | ||||
| 	local param | ||||
| 	local pval | ||||
| 	for arg in $(cat /proc/device-tree/chosen/bootloader-args); do | ||||
| 		param="$(echo $arg | cut -d'=' -f 1)" | ||||
| 		pval="$(echo $arg | cut -d'=' -f 2-)" | ||||
|  | ||||
| 		if [ "$param" = "$1" ]; then | ||||
| 			echo "$pval" | ||||
| 		fi | ||||
| 	done | ||||
| } | ||||
|  | ||||
| legacy_boot_mac_adr() { | ||||
| 	local macstr | ||||
| 	local oIFS | ||||
| 	macstr="$(bootloader_cmdline_var mac_adr)" | ||||
| 	oIFS="$IFS" | ||||
| 	IFS="," | ||||
| 	set -- $macstr | ||||
| 	printf "%02x:%02x:%02x:%02x:%02x:%02x" $1 $2 $3 $4 $5 $6 | ||||
| 	IFS="$oIFS" | ||||
| } | ||||
|  | ||||
| case "$(board_name)" in | ||||
| 	kd20) | ||||
| 	"shuttle,kd20") | ||||
| 		lan_mac="$(legacy_boot_mac_adr)" | ||||
| 		;; | ||||
| esac | ||||
|   | ||||
| @@ -6,16 +6,16 @@ | ||||
|  | ||||
| get_status_led() { | ||||
| 	case $(board_name) in | ||||
| 	akitio) | ||||
| 	"akitio,mycloud") | ||||
| 		status_led="akitio:red:status" | ||||
| 		;; | ||||
| 	stg212) | ||||
| 	"mitrastar,stg-212") | ||||
| 		status_led="zyxel:blue:status" | ||||
| 		;; | ||||
| 	kd20) | ||||
| 	"shuttle,kd20") | ||||
| 		status_led="kd20:blue:status" | ||||
| 		;; | ||||
| 	pogoplug-pro | pogoplug-v3) | ||||
| 	"cloudengines,pogoplug"*) | ||||
| 		status_led="pogoplug:blue:internal" | ||||
| 		;; | ||||
| 	esac | ||||
|   | ||||
| @@ -1,66 +0,0 @@ | ||||
| #!/bin/sh | ||||
| # | ||||
| # Copyright (C) 2013 OpenWrt.org | ||||
| # | ||||
|  | ||||
| OXNAS_BOARD_NAME= | ||||
| OXNAS_MODEL= | ||||
|  | ||||
| bootloader_cmdline_var() { | ||||
| 	local param | ||||
| 	local pval | ||||
| 	for arg in $(cat /proc/device-tree/chosen/bootloader-args); do | ||||
| 		param="$(echo $arg | cut -d'=' -f 1)" | ||||
| 		pval="$(echo $arg | cut -d'=' -f 2-)" | ||||
|  | ||||
| 		if [ "$param" = "$1" ]; then | ||||
| 			echo "$pval" | ||||
| 		fi | ||||
| 	done | ||||
| } | ||||
|  | ||||
| legacy_boot_mac_adr() { | ||||
| 	local macstr | ||||
| 	local oIFS | ||||
| 	macstr="$(bootloader_cmdline_var mac_adr)" | ||||
| 	oIFS="$IFS" | ||||
| 	IFS="," | ||||
| 	set -- $macstr | ||||
| 	printf "%02x:%02x:%02x:%02x:%02x:%02x" $1 $2 $3 $4 $5 $6 | ||||
| 	IFS="$oIFS" | ||||
| } | ||||
|  | ||||
| oxnas_board_detect() { | ||||
| 	local machine | ||||
| 	local name | ||||
|  | ||||
| 	machine=$(cat /proc/device-tree/model) | ||||
|  | ||||
| 	case "$machine" in | ||||
| 	*"Akitio MyCloud mini"*) | ||||
| 		name="akitio" | ||||
| 		;; | ||||
| 	*"MitraStar Technology Corp. STG-212"*) | ||||
| 		name="stg212" | ||||
| 		;; | ||||
| 	*"Shuttle KD20"*) | ||||
| 		name="kd20" | ||||
| 		;; | ||||
| 	*"Pogoplug Pro"*) | ||||
| 		name="pogoplug-pro" | ||||
| 		;; | ||||
| 	*"Pogoplug V3"*) | ||||
| 		name="pogoplug-v3" | ||||
| 		;; | ||||
| 	esac | ||||
|  | ||||
| 	[ -z "$name" ] && name="unknown" | ||||
|  | ||||
| 	[ -z "$OXNAS_BOARD_NAME" ] && OXNAS_BOARD_NAME="$name" | ||||
| 	[ -z "$OXNAS_MODEL" ] && OXNAS_MODEL="$machine" | ||||
|  | ||||
| 	[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" | ||||
|  | ||||
| 	echo "$OXNAS_BOARD_NAME" > /tmp/sysinfo/board_name | ||||
| 	echo "$OXNAS_MODEL" > /tmp/sysinfo/model | ||||
| } | ||||
| @@ -1,9 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| do_oxnas() { | ||||
| 	. /lib/oxnas.sh | ||||
|  | ||||
| 	oxnas_board_detect | ||||
| } | ||||
|  | ||||
| boot_hook_add preinit_main do_oxnas | ||||
		Reference in New Issue
	
	Block a user
	 Daniel Golle
					Daniel Golle