diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2019-06-11 23:06:54 +0200 |
---|---|---|
committer | Christian Lamparter <chunkeey@gmail.com> | 2019-06-15 19:55:31 +0200 |
commit | 38d85d2c9fd9a3fd061fb56823821834dd720516 (patch) | |
tree | fa5333b4b56d34076f415c6f197e7ebabadabdd7 /target/linux | |
parent | cd6c3535cd2c7779a8d65f792c36082ee3822c11 (diff) | |
download | upstream-38d85d2c9fd9a3fd061fb56823821834dd720516.tar.gz upstream-38d85d2c9fd9a3fd061fb56823821834dd720516.tar.bz2 upstream-38d85d2c9fd9a3fd061fb56823821834dd720516.zip |
gemini: Make a per-board case for ethernet MAC
The DNS-313 isn't the only special board so let's bite the
bullet and create a case ladder in preparation for DIR-685.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [refreshed]
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/gemini/base-files/lib/preinit/05_set_ether_mac_gemini | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/target/linux/gemini/base-files/lib/preinit/05_set_ether_mac_gemini b/target/linux/gemini/base-files/lib/preinit/05_set_ether_mac_gemini index fed76a3e22..f63a6f1d39 100644 --- a/target/linux/gemini/base-files/lib/preinit/05_set_ether_mac_gemini +++ b/target/linux/gemini/base-files/lib/preinit/05_set_ether_mac_gemini @@ -9,6 +9,22 @@ set_ether_mac() { local MAC1 local MAC2 + case "$(board_name)" in + dlink,dns-313) + # The DNS-313 has a special field in its RedBoot + # binary that we need to check + part="$(find_mtd_part RedBoot)" + if [ -n "$part" ]; then + DEVID="$(dd if=$part bs=1 skip=119508 count=7 2>/dev/null)" + if [ "$DEVID" = "dns-313" ]; then + MAC1="$(mtd_get_mac_binary RedBoot 119540)" + ip link set eth0 address "$MAC1" 2>/dev/null + return 0 + fi + fi + ;; + esac + # Most devices have a standard "VCTL" partition part="$(find_mtd_part VCTL)" if [ -n "$part" ]; then @@ -19,18 +35,6 @@ set_ether_mac() { ip link set eth1 address "$MAC2" 2>/dev/null return 0 fi - - # The DNS-313 has a special field in its RedBoot - # binary that we need to check - part="$(find_mtd_part RedBoot)" - if [ -n "$part" ]; then - DEVID="$(dd if=$part bs=1 skip=119508 count=7 2>/dev/null)" - if [ "$DEVID" = "dns-313" ]; then - MAC1="$(mtd_get_mac_binary RedBoot 119540)" - ip link set eth0 address "$MAC1" 2>/dev/null - return 0 - fi - fi } boot_hook_add preinit_main set_ether_mac |