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 | board_config_update | ||||||
|  |  | ||||||
| case $board in | case $board in | ||||||
| 	akitio) | 	"akitio,myloud") | ||||||
| 		ucidef_set_led_default "status" "status" "akitio:red:status" "0" | 		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_default "power" "power" "zyxel:blue:status" "1" | ||||||
| 		ucidef_set_led_usbdev "usb" "USB" "zyxel:orange:copy" "1-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" | 		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" | 		ucidef_set_led_default "power" "power" "pogoplug:blue:internal" "1" | ||||||
| 		;; | 		;; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -2,14 +2,37 @@ | |||||||
|  |  | ||||||
| . /lib/functions/uci-defaults.sh | . /lib/functions/uci-defaults.sh | ||||||
| . /lib/functions/system.sh | . /lib/functions/system.sh | ||||||
| . /lib/oxnas.sh |  | ||||||
|  |  | ||||||
| board_config_update | board_config_update | ||||||
|  |  | ||||||
| lan_mac="" | 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 | case "$(board_name)" in | ||||||
| 	kd20) | 	"shuttle,kd20") | ||||||
| 		lan_mac="$(legacy_boot_mac_adr)" | 		lan_mac="$(legacy_boot_mac_adr)" | ||||||
| 		;; | 		;; | ||||||
| esac | esac | ||||||
|   | |||||||
| @@ -6,16 +6,16 @@ | |||||||
|  |  | ||||||
| get_status_led() { | get_status_led() { | ||||||
| 	case $(board_name) in | 	case $(board_name) in | ||||||
| 	akitio) | 	"akitio,mycloud") | ||||||
| 		status_led="akitio:red:status" | 		status_led="akitio:red:status" | ||||||
| 		;; | 		;; | ||||||
| 	stg212) | 	"mitrastar,stg-212") | ||||||
| 		status_led="zyxel:blue:status" | 		status_led="zyxel:blue:status" | ||||||
| 		;; | 		;; | ||||||
| 	kd20) | 	"shuttle,kd20") | ||||||
| 		status_led="kd20:blue:status" | 		status_led="kd20:blue:status" | ||||||
| 		;; | 		;; | ||||||
| 	pogoplug-pro | pogoplug-v3) | 	"cloudengines,pogoplug"*) | ||||||
| 		status_led="pogoplug:blue:internal" | 		status_led="pogoplug:blue:internal" | ||||||
| 		;; | 		;; | ||||||
| 	esac | 	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