mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 14:23:38 +00:00
update some packages to latest version (#2760)
This commit is contained in:
parent
5ff35a2dc8
commit
5e942cf804
@ -297,6 +297,7 @@ menu "Target Images"
|
|||||||
int "Kernel partition size (in MB)"
|
int "Kernel partition size (in MB)"
|
||||||
depends on GRUB_IMAGES || EFI_IMAGES || USES_BOOT_PART
|
depends on GRUB_IMAGES || EFI_IMAGES || USES_BOOT_PART
|
||||||
default 8 if TARGET_apm821xx_sata
|
default 8 if TARGET_apm821xx_sata
|
||||||
|
default 64 if TARGET_brcm2708
|
||||||
default 16
|
default 16
|
||||||
|
|
||||||
config TARGET_ROOTFS_PARTSIZE
|
config TARGET_ROOTFS_PARTSIZE
|
||||||
|
@ -44,7 +44,7 @@ define Package/kexec
|
|||||||
$(call Package/kexec-tools/Default)
|
$(call Package/kexec-tools/Default)
|
||||||
TITLE:=Kernel boots kernel
|
TITLE:=Kernel boots kernel
|
||||||
DEPENDS:=\
|
DEPENDS:=\
|
||||||
@armeb||@arm||@i386||@x86_64||@powerpc64||@mipsel||@mips \
|
@(armeb||arm||i386||x86_64||powerpc64||mipsel||mips) \
|
||||||
+KEXEC_ZLIB:zlib +KEXEC_LZMA:liblzma @KERNEL_KEXEC
|
+KEXEC_ZLIB:zlib +KEXEC_LZMA:liblzma @KERNEL_KEXEC
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ endef
|
|||||||
define Package/kdump
|
define Package/kdump
|
||||||
$(call Package/kexec-tools/Default)
|
$(call Package/kexec-tools/Default)
|
||||||
TITLE:=Kernel crash analysis
|
TITLE:=Kernel crash analysis
|
||||||
DEPENDS:=+kexec @i386||@x86_64||@arm @KERNEL_CRASH_DUMP
|
DEPENDS:=+kexec @(i386||x86_64||arm) @KERNEL_CRASH_DUMP
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/kdump/description
|
define Package/kdump/description
|
||||||
|
@ -9,8 +9,8 @@ include $(TOPDIR)/rules.mk
|
|||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
PKG_NAME:=brcm2708-gpu-fw
|
PKG_NAME:=brcm2708-gpu-fw
|
||||||
PKG_VERSION:=2019-07-09
|
PKG_VERSION:=2019-12-11
|
||||||
PKG_RELEASE:=025759b8634c2f8df35203be02c19a0633f1cec1
|
PKG_RELEASE:=0c01dbefba45a08c47f8538d5a071a0fba6b7e83
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)/rpi-firmware-$(PKG_RELEASE)
|
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)/rpi-firmware-$(PKG_RELEASE)
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ define Download/LICENCE_broadcom
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-LICENCE.broadcom
|
FILE:=$(RPI_FIRMWARE_FILE)-LICENCE.broadcom
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=LICENCE.broadcom
|
URL_FILE:=LICENCE.broadcom
|
||||||
HASH:=ba76edfc10a248166d965b8eaf320771c44f4f432d4fce2fd31fd272e7038add
|
HASH:=c7283ff51f863d93a275c66e3b4cb08021a5dd4d8c1e7acc47d872fbe52d3d6b
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,LICENCE_broadcom))
|
$(eval $(call Download,LICENCE_broadcom))
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ define Download/bootcode_bin
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-bootcode.bin
|
FILE:=$(RPI_FIRMWARE_FILE)-bootcode.bin
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=bootcode.bin
|
URL_FILE:=bootcode.bin
|
||||||
HASH:=6948c07f60f93489bbbc78747a1dc09ff0b1de42035c915fbd6453cdbd0e6475
|
HASH:=6505bbc8798698bd8f1dff30789b22289ebb865ccba7833b87705264525cbe46
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,bootcode_bin))
|
$(eval $(call Download,bootcode_bin))
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ define Download/fixup_dat
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-fixup.dat
|
FILE:=$(RPI_FIRMWARE_FILE)-fixup.dat
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=fixup.dat
|
URL_FILE:=fixup.dat
|
||||||
HASH:=d63bc6d3516dbb860091a34ec3ce584fafb4dc79740c11da9be87572849c2e02
|
HASH:=85a54bf460aa3ff0d04ee54bc606bf3af39a2c5194e519ab278cf74ecf75f7a8
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,fixup_dat))
|
$(eval $(call Download,fixup_dat))
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ define Download/fixup_cd_dat
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-fixup_cd.dat
|
FILE:=$(RPI_FIRMWARE_FILE)-fixup_cd.dat
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=fixup_cd.dat
|
URL_FILE:=fixup_cd.dat
|
||||||
HASH:=eba5b57f49d2e8c1b2261e59297256bdff4751aeb3c7a16e60044799bcfd6b68
|
HASH:=4d9ffff3719fff6b14f142cbb4b3f62df175e59be4ad382b0f39830dab18d760
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,fixup_cd_dat))
|
$(eval $(call Download,fixup_cd_dat))
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ define Download/fixup_x_dat
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-fixup_x.dat
|
FILE:=$(RPI_FIRMWARE_FILE)-fixup_x.dat
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=fixup_x.dat
|
URL_FILE:=fixup_x.dat
|
||||||
HASH:=74cc843d28f07940f7f9e618d2f5ff8c0ed245599bb45457bab1960e56cbf672
|
HASH:=81aae9581c120fbbf5020fa6b84b355ed342ead7185db0916cbce7a7849307eb
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,fixup_x_dat))
|
$(eval $(call Download,fixup_x_dat))
|
||||||
|
|
||||||
@ -65,7 +65,7 @@ define Download/fixup4_dat
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-fixup4.dat
|
FILE:=$(RPI_FIRMWARE_FILE)-fixup4.dat
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=fixup4.dat
|
URL_FILE:=fixup4.dat
|
||||||
HASH:=d8b44fd10c87ae51d4cce14a692f7f322574d63f7255f9776a61005c37183c5a
|
HASH:=611ea1ec1384931c785687e78a50369aae3a0a29e37bed354862cf5fe6d23ade
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,fixup4_dat))
|
$(eval $(call Download,fixup4_dat))
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ define Download/fixup4cd_dat
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-fixup4cd.dat
|
FILE:=$(RPI_FIRMWARE_FILE)-fixup4cd.dat
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=fixup4cd.dat
|
URL_FILE:=fixup4cd.dat
|
||||||
HASH:=efc3fa3cd5f94e08687824bf149ed8c9a11bbd3e8ebac034934246dbf502300c
|
HASH:=f82da018c2d9fe1ec54fcfe76514dbc3b9f27f53712bb5f5b90f0d38124370eb
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,fixup4cd_dat))
|
$(eval $(call Download,fixup4cd_dat))
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ define Download/fixup4x_dat
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-fixup4x.dat
|
FILE:=$(RPI_FIRMWARE_FILE)-fixup4x.dat
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=fixup4x.dat
|
URL_FILE:=fixup4x.dat
|
||||||
HASH:=866c11f0770246fba0756ee671cf118313ee23be88decae09114b123db2f26bd
|
HASH:=36c1cdb7b5ff8c39c1c0cd962ea1095f79c5c290fc11813869cbb662240386d7
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,fixup4x_dat))
|
$(eval $(call Download,fixup4x_dat))
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ define Download/start_elf
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-start.elf
|
FILE:=$(RPI_FIRMWARE_FILE)-start.elf
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=start.elf
|
URL_FILE:=start.elf
|
||||||
HASH:=c9f831786f4c03d58110baddef4da32f56387d1af191866f839dffb9b0671aab
|
HASH:=442919907e4b7d8f007b79df1aa1e12f98e09ab393da65b48cd2b2af04301b7d
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,start_elf))
|
$(eval $(call Download,start_elf))
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ define Download/start_cd_elf
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-start_cd.elf
|
FILE:=$(RPI_FIRMWARE_FILE)-start_cd.elf
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=start_cd.elf
|
URL_FILE:=start_cd.elf
|
||||||
HASH:=c7ba345f71b1e5fed2cbc9d16dbb1b658546c1365e92302828f4f75ccb693df5
|
HASH:=0942b6ab8eec7e6116a3fc366cb0d4a94b5869c429292da600f92a37e361ec8d
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,start_cd_elf))
|
$(eval $(call Download,start_cd_elf))
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ define Download/start_x_elf
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-start_x.elf
|
FILE:=$(RPI_FIRMWARE_FILE)-start_x.elf
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=start_x.elf
|
URL_FILE:=start_x.elf
|
||||||
HASH:=ab51744e7048a67758ac133ed20e3f482e40f81780915b88efb97647f838771e
|
HASH:=e83dc1fbb5a9cb29e1db5f9ca0f9bd847f5b57a1e421cc79e39640a865456fe6
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,start_x_elf))
|
$(eval $(call Download,start_x_elf))
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ define Download/start4_elf
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-start4.elf
|
FILE:=$(RPI_FIRMWARE_FILE)-start4.elf
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=start4.elf
|
URL_FILE:=start4.elf
|
||||||
HASH:=2691df2baa2d24dc08a7c7c99381555a819722a92c2b80731452724ddcd3e6d0
|
HASH:=550b55577075f4056a71b0faa2b1150290b2e8d61e5bc330a54452f28cc1b2d8
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,start4_elf))
|
$(eval $(call Download,start4_elf))
|
||||||
|
|
||||||
@ -121,7 +121,7 @@ define Download/start4cd_elf
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-start4cd.elf
|
FILE:=$(RPI_FIRMWARE_FILE)-start4cd.elf
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=start4cd.elf
|
URL_FILE:=start4cd.elf
|
||||||
HASH:=5e0d5e20b212daab99c2dd57a363ccd64ed27c8bbd0205efee07a731e6ae1a4e
|
HASH:=1c8206a854fba486b7996aa3735aaca8aaeee7bf20fdbf190acdea4516794f1c
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,start4cd_elf))
|
$(eval $(call Download,start4cd_elf))
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ define Download/start4x_elf
|
|||||||
FILE:=$(RPI_FIRMWARE_FILE)-start4x.elf
|
FILE:=$(RPI_FIRMWARE_FILE)-start4x.elf
|
||||||
URL:=$(RPI_FIRMWARE_URL)
|
URL:=$(RPI_FIRMWARE_URL)
|
||||||
URL_FILE:=start4x.elf
|
URL_FILE:=start4x.elf
|
||||||
HASH:=67a748bb67267cfea45597681e8400a1794956dd9b7906032991cb6ce2d8742b
|
HASH:=3ca2e259861fd31b77a536ccb33637e5305ec44b9e0c62e898e7e1d97e776f22
|
||||||
endef
|
endef
|
||||||
$(eval $(call Download,start4x_elf))
|
$(eval $(call Download,start4x_elf))
|
||||||
|
|
||||||
|
@ -32,15 +32,15 @@ include $(INCLUDE_DIR)/package.mk
|
|||||||
define Package/broadcom-wl/Default
|
define Package/broadcom-wl/Default
|
||||||
SECTION:=kernel
|
SECTION:=kernel
|
||||||
CATEGORY:=Kernel modules
|
CATEGORY:=Kernel modules
|
||||||
DEPENDS:=@PACKAGE_kmod-brcm-wl||PACKAGE_kmod-brcm-wl-mini
|
DEPENDS:=@(PACKAGE_kmod-brcm-wl||PACKAGE_kmod-brcm-wl-mini)
|
||||||
SUBMENU:=Proprietary BCM43xx WiFi driver
|
SUBMENU:=Proprietary BCM43xx WiFi driver
|
||||||
SUBMENUDEP:=@TARGET_brcm47xx||TARGET_brcm63xx
|
SUBMENUDEP:=(TARGET_brcm47xx||TARGET_brcm63xx)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define KernelPackage/brcm-wl/Default
|
define KernelPackage/brcm-wl/Default
|
||||||
$(call Package/broadcom-wl/Default)
|
$(call Package/broadcom-wl/Default)
|
||||||
SECTION:=kernel
|
SECTION:=kernel
|
||||||
DEPENDS:=@TARGET_brcm47xx||TARGET_brcm63xx +wireless-tools
|
DEPENDS:=@(TARGET_brcm47xx||TARGET_brcm63xx) +wireless-tools
|
||||||
TITLE:=Kernel driver for BCM43xx chipsets
|
TITLE:=Kernel driver for BCM43xx chipsets
|
||||||
FILES:=$(PKG_BUILD_DIR)/driver$(1)/wl.ko $(PKG_BUILD_DIR)/glue/wl_glue.ko
|
FILES:=$(PKG_BUILD_DIR)/driver$(1)/wl.ko $(PKG_BUILD_DIR)/glue/wl_glue.ko
|
||||||
AUTOLOAD:=$(call AutoProbe,wl)
|
AUTOLOAD:=$(call AutoProbe,wl)
|
||||||
|
@ -58,7 +58,7 @@ endef
|
|||||||
define Package/procd-seccomp
|
define Package/procd-seccomp
|
||||||
SECTION:=base
|
SECTION:=base
|
||||||
CATEGORY:=Base system
|
CATEGORY:=Base system
|
||||||
DEPENDS:=@arm||@armeb||@mips||@mipsel||@i386||@powerpc||@x86_64 @!TARGET_uml @KERNEL_SECCOMP +libubox +libblobmsg-json
|
DEPENDS:=@(arm||armeb||mips||mipsel||i386||powerpc||x86_64) @!TARGET_uml @KERNEL_SECCOMP +libubox +libblobmsg-json
|
||||||
TITLE:=OpenWrt process seccomp helper + utrace
|
TITLE:=OpenWrt process seccomp helper + utrace
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -8,12 +8,12 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=mdadm
|
PKG_NAME:=mdadm
|
||||||
PKG_VERSION:=4.0
|
PKG_VERSION:=4.1
|
||||||
PKG_RELEASE:=5
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm
|
PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm
|
||||||
PKG_HASH:=1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9
|
PKG_HASH:=ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a
|
||||||
|
|
||||||
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||||
PKG_CPE_ID:=cpe:/a:mdadm_project:mdadm
|
PKG_CPE_ID:=cpe:/a:mdadm_project:mdadm
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -86,7 +86,7 @@ DLM:=$(shell [ -f /usr/include/libdlm.h
|
@@ -97,7 +97,7 @@ DLM:=$(shell [ -f /usr/include/libdlm.h
|
||||||
DIRFLAGS = -DMAP_DIR=\"$(MAP_DIR)\" -DMAP_FILE=\"$(MAP_FILE)\"
|
DIRFLAGS = -DMAP_DIR=\"$(MAP_DIR)\" -DMAP_FILE=\"$(MAP_FILE)\"
|
||||||
DIRFLAGS += -DMDMON_DIR=\"$(MDMON_DIR)\"
|
DIRFLAGS += -DMDMON_DIR=\"$(MDMON_DIR)\"
|
||||||
DIRFLAGS += -DFAILED_SLOTS_DIR=\"$(FAILED_SLOTS_DIR)\"
|
DIRFLAGS += -DFAILED_SLOTS_DIR=\"$(FAILED_SLOTS_DIR)\"
|
||||||
-CFLAGS = $(CWFLAGS) $(CXFLAGS) -DSendmail=\""$(MAILCMD)"\" $(CONFFILEFLAGS) $(DIRFLAGS) $(COROSYNC) $(DLM)
|
-CFLAGS = $(CWFLAGS) $(CXFLAGS) -DSendmail=\""$(MAILCMD)"\" $(CONFFILEFLAGS) $(DIRFLAGS) $(COROSYNC) $(DLM)
|
||||||
+# CFLAGS = $(CWFLAGS) $(CXFLAGS) -DSendmail=\""$(MAILCMD)"\" $(CONFFILEFLAGS) $(DIRFLAGS) $(COROSYNC) $(DLM)
|
+#CFLAGS = $(CWFLAGS) $(CXFLAGS) -DSendmail=\""$(MAILCMD)"\" $(CONFFILEFLAGS) $(DIRFLAGS) $(COROSYNC) $(DLM)
|
||||||
|
|
||||||
VERSION = $(shell [ -d .git ] && git describe HEAD | sed 's/mdadm-//')
|
VERSION = $(shell [ -d .git ] && git describe HEAD | sed 's/mdadm-//')
|
||||||
VERS_DATE = $(shell [ -d .git ] && date --date="`git log -n1 --format=format:%cd --date=short`" '+%0dth %B %Y' | sed -e 's/1th/1st/' -e 's/2th/2nd/' -e 's/11st/11th/' -e 's/12nd/12th/')
|
VERS_DATE = $(shell [ -d .git ] && date --iso-8601 --date="`git log -n1 --format=format:%cd --date=iso --date=short`")
|
||||||
|
@ -22,7 +22,7 @@ Upstream-Status: Pending
|
|||||||
|
|
||||||
--- a/mdadm.h
|
--- a/mdadm.h
|
||||||
+++ b/mdadm.h
|
+++ b/mdadm.h
|
||||||
@@ -1595,11 +1595,13 @@ static inline char *to_subarray(struct m
|
@@ -1649,11 +1649,13 @@ static inline char *to_subarray(struct m
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
From 452dc4d13a012cdcb05088c0dbc699959c4d6c73 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Baruch Siach <baruch@tkos.co.il>
|
||||||
|
Date: Tue, 6 Aug 2019 16:05:23 +0300
|
||||||
|
Subject: mdadm.h: include sysmacros.h unconditionally
|
||||||
|
|
||||||
|
musl libc now also requires sys/sysmacros.h for the major/minor macros.
|
||||||
|
All supported libc implementations carry sys/sysmacros.h, including
|
||||||
|
diet-libc, klibc, and uclibc-ng.
|
||||||
|
|
||||||
|
Cc: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
|
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||||
|
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
|
||||||
|
---
|
||||||
|
mdadm.h | 2 --
|
||||||
|
1 file changed, 2 deletions(-)
|
||||||
|
|
||||||
|
--- a/mdadm.h
|
||||||
|
+++ b/mdadm.h
|
||||||
|
@@ -45,10 +45,8 @@ extern __off64_t lseek64 __P ((int __fd,
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <syslog.h>
|
||||||
|
-#ifdef __GLIBC__
|
||||||
|
/* Newer glibc requires sys/sysmacros.h directly for makedev() */
|
||||||
|
#include <sys/sysmacros.h>
|
||||||
|
-#endif
|
||||||
|
#ifdef __dietlibc__
|
||||||
|
#include <strings.h>
|
||||||
|
/* dietlibc has deprecated random and srandom!! */
|
@ -1,6 +1,6 @@
|
|||||||
--- a/Incremental.c
|
--- a/Incremental.c
|
||||||
+++ b/Incremental.c
|
+++ b/Incremental.c
|
||||||
@@ -1642,6 +1642,10 @@ static int Incremental_container(struct
|
@@ -1619,6 +1619,10 @@ static int Incremental_container(struct
|
||||||
if (ra_all == ra_blocked)
|
if (ra_all == ra_blocked)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -13,7 +13,7 @@
|
|||||||
memcpy(suuid, uuid_zero, sizeof(int[4]));
|
memcpy(suuid, uuid_zero, sizeof(int[4]));
|
||||||
--- a/util.c
|
--- a/util.c
|
||||||
+++ b/util.c
|
+++ b/util.c
|
||||||
@@ -1151,7 +1151,9 @@ void wait_for(char *dev, int fd)
|
@@ -1220,7 +1220,9 @@ void wait_for(char *dev, int fd)
|
||||||
struct superswitch *superlist[] =
|
struct superswitch *superlist[] =
|
||||||
{
|
{
|
||||||
&super0, &super1,
|
&super0, &super1,
|
||||||
@ -21,5 +21,5 @@
|
|||||||
&super_ddf, &super_imsm,
|
&super_ddf, &super_imsm,
|
||||||
+#endif
|
+#endif
|
||||||
&mbr, &gpt,
|
&mbr, &gpt,
|
||||||
NULL };
|
NULL
|
||||||
|
};
|
||||||
|
@ -21,7 +21,7 @@ define Package/nvram
|
|||||||
CATEGORY:=Base system
|
CATEGORY:=Base system
|
||||||
TITLE:=Userspace port of the Broadcom NVRAM manipulation tool
|
TITLE:=Userspace port of the Broadcom NVRAM manipulation tool
|
||||||
MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
|
MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
|
||||||
DEPENDS:=@TARGET_brcm47xx||@TARGET_bcm53xx||@TARGET_ar71xx||@TARGET_ath79
|
DEPENDS:=@(TARGET_brcm47xx||TARGET_bcm53xx||TARGET_ar71xx||TARGET_ath79)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/nvram/description
|
define Package/nvram/description
|
||||||
|
@ -19,7 +19,7 @@ define Package/otrx
|
|||||||
CATEGORY:=Base system
|
CATEGORY:=Base system
|
||||||
TITLE:=Utility for opening (analyzing) TRX firmware images
|
TITLE:=Utility for opening (analyzing) TRX firmware images
|
||||||
MAINTAINER:=Rafał Miłecki <zajec5@gmail.com>
|
MAINTAINER:=Rafał Miłecki <zajec5@gmail.com>
|
||||||
DEPENDS:=@TARGET_brcm47xx||@TARGET_bcm53xx
|
DEPENDS:=@(TARGET_brcm47xx||TARGET_bcm53xx)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/otrx/description
|
define Package/otrx/description
|
||||||
|
@ -32,62 +32,17 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
{
|
{
|
||||||
struct property *pp = of_find_property(np, name, NULL);
|
struct property *pp = of_find_property(np, name, NULL);
|
||||||
|
|
||||||
@@ -47,6 +48,133 @@ static const void *of_get_mac_addr(struc
|
@@ -47,6 +48,79 @@ static const void *of_get_mac_addr(struc
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
+typedef int(*mtd_mac_address_read)(struct mtd_info *mtd, loff_t from, u_char *buf);
|
|
||||||
+
|
|
||||||
+static int read_mtd_mac_address(struct mtd_info *mtd, loff_t from, u_char *mac)
|
|
||||||
+{
|
|
||||||
+ int retlen;
|
|
||||||
+
|
|
||||||
+ return mtd_read(mtd, from, 6, &retlen, mac);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int read_mtd_mac_address_ascii(struct mtd_info *mtd, loff_t from, u_char *mac)
|
|
||||||
+{
|
|
||||||
+ int retlen;
|
|
||||||
+ char buf[17];
|
|
||||||
+
|
|
||||||
+ if (mtd_read(mtd, from, 12, &retlen, buf)) {
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ if (sscanf(buf, "%2hhx%2hhx%2hhx%2hhx%2hhx%2hhx",
|
|
||||||
+ &mac[0], &mac[1], &mac[2], &mac[3],
|
|
||||||
+ &mac[4], &mac[5]) == 6) {
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ if (mtd_read(mtd, from+12, 5, &retlen, buf+12)) {
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ if (sscanf(buf, "%2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx",
|
|
||||||
+ &mac[0], &mac[1], &mac[2], &mac[3],
|
|
||||||
+ &mac[4], &mac[5]) == 6) {
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ return -1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static struct mtd_mac_address_property {
|
|
||||||
+ char *name;
|
|
||||||
+ mtd_mac_address_read read;
|
|
||||||
+} mtd_mac_address_properties[] = {
|
|
||||||
+ {
|
|
||||||
+ .name = "mtd-mac-address",
|
|
||||||
+ .read = read_mtd_mac_address,
|
|
||||||
+ }, {
|
|
||||||
+ .name = "mtd-mac-address-ascii",
|
|
||||||
+ .read = read_mtd_mac_address_ascii,
|
|
||||||
+ },
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+static const void *of_get_mac_address_mtd(struct device_node *np)
|
+static const void *of_get_mac_address_mtd(struct device_node *np)
|
||||||
+{
|
+{
|
||||||
+#ifdef CONFIG_MTD
|
+#ifdef CONFIG_MTD
|
||||||
+ struct device_node *mtd_np = NULL;
|
+ struct device_node *mtd_np = NULL;
|
||||||
+ struct property *prop;
|
+ struct property *prop;
|
||||||
+ int size, ret = -1;
|
+ size_t retlen;
|
||||||
|
+ int size, ret;
|
||||||
+ struct mtd_info *mtd;
|
+ struct mtd_info *mtd;
|
||||||
+ const char *part;
|
+ const char *part;
|
||||||
+ const __be32 *list;
|
+ const __be32 *list;
|
||||||
@ -96,37 +51,28 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+ u8 mac[ETH_ALEN];
|
+ u8 mac[ETH_ALEN];
|
||||||
+ void *addr;
|
+ void *addr;
|
||||||
+ u32 inc_idx;
|
+ u32 inc_idx;
|
||||||
+ int i;
|
|
||||||
+
|
+
|
||||||
+ for (i = 0; i < ARRAY_SIZE(mtd_mac_address_properties); i++) {
|
+ list = of_get_property(np, "mtd-mac-address", &size);
|
||||||
+ list = of_get_property(np, mtd_mac_address_properties[i].name, &size);
|
+ if (!list || (size != (2 * sizeof(*list))))
|
||||||
+ if (!list || (size != (2 * sizeof(*list))))
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ phandle = be32_to_cpup(list++);
|
|
||||||
+ if (phandle)
|
|
||||||
+ mtd_np = of_find_node_by_phandle(phandle);
|
|
||||||
+
|
|
||||||
+ if (!mtd_np)
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ part = of_get_property(mtd_np, "label", NULL);
|
|
||||||
+ if (!part)
|
|
||||||
+ part = mtd_np->name;
|
|
||||||
+
|
|
||||||
+ mtd = get_mtd_device_nm(part);
|
|
||||||
+ if (IS_ERR(mtd))
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ ret = mtd_mac_address_properties[i].read(mtd, be32_to_cpup(list), mac);
|
|
||||||
+ put_mtd_device(mtd);
|
|
||||||
+ if (!ret) {
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ if (ret) {
|
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
+ }
|
+
|
||||||
|
+ phandle = be32_to_cpup(list++);
|
||||||
|
+ if (phandle)
|
||||||
|
+ mtd_np = of_find_node_by_phandle(phandle);
|
||||||
|
+
|
||||||
|
+ if (!mtd_np)
|
||||||
|
+ return NULL;
|
||||||
|
+
|
||||||
|
+ part = of_get_property(mtd_np, "label", NULL);
|
||||||
|
+ if (!part)
|
||||||
|
+ part = mtd_np->name;
|
||||||
|
+
|
||||||
|
+ mtd = get_mtd_device_nm(part);
|
||||||
|
+ if (IS_ERR(mtd))
|
||||||
|
+ return NULL;
|
||||||
|
+
|
||||||
|
+ ret = mtd_read(mtd, be32_to_cpup(list), 6, &retlen, mac);
|
||||||
|
+ put_mtd_device(mtd);
|
||||||
+
|
+
|
||||||
+ if (of_property_read_u32(np, "mtd-mac-address-increment-byte", &inc_idx))
|
+ if (of_property_read_u32(np, "mtd-mac-address-increment-byte", &inc_idx))
|
||||||
+ inc_idx = 5;
|
+ inc_idx = 5;
|
||||||
@ -166,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
/**
|
/**
|
||||||
* Search the device tree for the best MAC address to use. 'mac-address' is
|
* Search the device tree for the best MAC address to use. 'mac-address' is
|
||||||
* checked first, because that is supposed to contain to "most recent" MAC
|
* checked first, because that is supposed to contain to "most recent" MAC
|
||||||
@@ -64,11 +192,18 @@ static const void *of_get_mac_addr(struc
|
@@ -64,11 +138,18 @@ static const void *of_get_mac_addr(struc
|
||||||
* addresses. Some older U-Boots only initialized 'local-mac-address'. In
|
* addresses. Some older U-Boots only initialized 'local-mac-address'. In
|
||||||
* this case, the real MAC is in 'local-mac-address', and 'mac-address' exists
|
* this case, the real MAC is in 'local-mac-address', and 'mac-address' exists
|
||||||
* but is all zeros.
|
* but is all zeros.
|
||||||
|
@ -32,62 +32,17 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
{
|
{
|
||||||
struct property *pp = of_find_property(np, name, NULL);
|
struct property *pp = of_find_property(np, name, NULL);
|
||||||
|
|
||||||
@@ -48,6 +49,133 @@ static const void *of_get_mac_addr(struc
|
@@ -48,6 +49,79 @@ static const void *of_get_mac_addr(struc
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
+typedef int(*mtd_mac_address_read)(struct mtd_info *mtd, loff_t from, u_char *buf);
|
|
||||||
+
|
|
||||||
+static int read_mtd_mac_address(struct mtd_info *mtd, loff_t from, u_char *mac)
|
|
||||||
+{
|
|
||||||
+ int retlen;
|
|
||||||
+
|
|
||||||
+ return mtd_read(mtd, from, 6, &retlen, mac);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int read_mtd_mac_address_ascii(struct mtd_info *mtd, loff_t from, u_char *mac)
|
|
||||||
+{
|
|
||||||
+ int retlen;
|
|
||||||
+ char buf[17];
|
|
||||||
+
|
|
||||||
+ if (mtd_read(mtd, from, 12, &retlen, buf)) {
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ if (sscanf(buf, "%2hhx%2hhx%2hhx%2hhx%2hhx%2hhx",
|
|
||||||
+ &mac[0], &mac[1], &mac[2], &mac[3],
|
|
||||||
+ &mac[4], &mac[5]) == 6) {
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ if (mtd_read(mtd, from+12, 5, &retlen, buf+12)) {
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ if (sscanf(buf, "%2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx",
|
|
||||||
+ &mac[0], &mac[1], &mac[2], &mac[3],
|
|
||||||
+ &mac[4], &mac[5]) == 6) {
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ return -1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static struct mtd_mac_address_property {
|
|
||||||
+ char *name;
|
|
||||||
+ mtd_mac_address_read read;
|
|
||||||
+} mtd_mac_address_properties[] = {
|
|
||||||
+ {
|
|
||||||
+ .name = "mtd-mac-address",
|
|
||||||
+ .read = read_mtd_mac_address,
|
|
||||||
+ }, {
|
|
||||||
+ .name = "mtd-mac-address-ascii",
|
|
||||||
+ .read = read_mtd_mac_address_ascii,
|
|
||||||
+ },
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+static const void *of_get_mac_address_mtd(struct device_node *np)
|
+static const void *of_get_mac_address_mtd(struct device_node *np)
|
||||||
+{
|
+{
|
||||||
+#ifdef CONFIG_MTD
|
+#ifdef CONFIG_MTD
|
||||||
+ struct device_node *mtd_np = NULL;
|
+ struct device_node *mtd_np = NULL;
|
||||||
+ struct property *prop;
|
+ struct property *prop;
|
||||||
+ int size, ret = -1;
|
+ size_t retlen;
|
||||||
|
+ int size, ret;
|
||||||
+ struct mtd_info *mtd;
|
+ struct mtd_info *mtd;
|
||||||
+ const char *part;
|
+ const char *part;
|
||||||
+ const __be32 *list;
|
+ const __be32 *list;
|
||||||
@ -96,37 +51,28 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+ u8 mac[ETH_ALEN];
|
+ u8 mac[ETH_ALEN];
|
||||||
+ void *addr;
|
+ void *addr;
|
||||||
+ u32 inc_idx;
|
+ u32 inc_idx;
|
||||||
+ int i;
|
|
||||||
+
|
+
|
||||||
+ for (i = 0; i < ARRAY_SIZE(mtd_mac_address_properties); i++) {
|
+ list = of_get_property(np, "mtd-mac-address", &size);
|
||||||
+ list = of_get_property(np, mtd_mac_address_properties[i].name, &size);
|
+ if (!list || (size != (2 * sizeof(*list))))
|
||||||
+ if (!list || (size != (2 * sizeof(*list))))
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ phandle = be32_to_cpup(list++);
|
|
||||||
+ if (phandle)
|
|
||||||
+ mtd_np = of_find_node_by_phandle(phandle);
|
|
||||||
+
|
|
||||||
+ if (!mtd_np)
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ part = of_get_property(mtd_np, "label", NULL);
|
|
||||||
+ if (!part)
|
|
||||||
+ part = mtd_np->name;
|
|
||||||
+
|
|
||||||
+ mtd = get_mtd_device_nm(part);
|
|
||||||
+ if (IS_ERR(mtd))
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ ret = mtd_mac_address_properties[i].read(mtd, be32_to_cpup(list), mac);
|
|
||||||
+ put_mtd_device(mtd);
|
|
||||||
+ if (!ret) {
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ if (ret) {
|
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
+ }
|
+
|
||||||
|
+ phandle = be32_to_cpup(list++);
|
||||||
|
+ if (phandle)
|
||||||
|
+ mtd_np = of_find_node_by_phandle(phandle);
|
||||||
|
+
|
||||||
|
+ if (!mtd_np)
|
||||||
|
+ return NULL;
|
||||||
|
+
|
||||||
|
+ part = of_get_property(mtd_np, "label", NULL);
|
||||||
|
+ if (!part)
|
||||||
|
+ part = mtd_np->name;
|
||||||
|
+
|
||||||
|
+ mtd = get_mtd_device_nm(part);
|
||||||
|
+ if (IS_ERR(mtd))
|
||||||
|
+ return NULL;
|
||||||
|
+
|
||||||
|
+ ret = mtd_read(mtd, be32_to_cpup(list), 6, &retlen, mac);
|
||||||
|
+ put_mtd_device(mtd);
|
||||||
+
|
+
|
||||||
+ if (of_property_read_u32(np, "mtd-mac-address-increment-byte", &inc_idx))
|
+ if (of_property_read_u32(np, "mtd-mac-address-increment-byte", &inc_idx))
|
||||||
+ inc_idx = 5;
|
+ inc_idx = 5;
|
||||||
@ -166,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
/**
|
/**
|
||||||
* Search the device tree for the best MAC address to use. 'mac-address' is
|
* Search the device tree for the best MAC address to use. 'mac-address' is
|
||||||
* checked first, because that is supposed to contain to "most recent" MAC
|
* checked first, because that is supposed to contain to "most recent" MAC
|
||||||
@@ -65,11 +193,18 @@ static const void *of_get_mac_addr(struc
|
@@ -65,11 +139,18 @@ static const void *of_get_mac_addr(struc
|
||||||
* addresses. Some older U-Boots only initialized 'local-mac-address'. In
|
* addresses. Some older U-Boots only initialized 'local-mac-address'. In
|
||||||
* this case, the real MAC is in 'local-mac-address', and 'mac-address' exists
|
* this case, the real MAC is in 'local-mac-address', and 'mac-address' exists
|
||||||
* but is all zeros.
|
* but is all zeros.
|
||||||
|
@ -32,62 +32,17 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
{
|
{
|
||||||
struct property *pp = of_find_property(np, name, NULL);
|
struct property *pp = of_find_property(np, name, NULL);
|
||||||
|
|
||||||
@@ -47,6 +48,133 @@ static const void *of_get_mac_addr(struc
|
@@ -47,6 +48,73 @@ static const void *of_get_mac_addr(struc
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
+typedef int(*mtd_mac_address_read)(struct mtd_info *mtd, loff_t from, u_char *buf);
|
|
||||||
+
|
|
||||||
+static int read_mtd_mac_address(struct mtd_info *mtd, loff_t from, u_char *mac)
|
|
||||||
+{
|
|
||||||
+ int retlen;
|
|
||||||
+
|
|
||||||
+ return mtd_read(mtd, from, 6, &retlen, mac);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int read_mtd_mac_address_ascii(struct mtd_info *mtd, loff_t from, u_char *mac)
|
|
||||||
+{
|
|
||||||
+ int retlen;
|
|
||||||
+ char buf[17];
|
|
||||||
+
|
|
||||||
+ if (mtd_read(mtd, from, 12, &retlen, buf)) {
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ if (sscanf(buf, "%2hhx%2hhx%2hhx%2hhx%2hhx%2hhx",
|
|
||||||
+ &mac[0], &mac[1], &mac[2], &mac[3],
|
|
||||||
+ &mac[4], &mac[5]) == 6) {
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ if (mtd_read(mtd, from+12, 5, &retlen, buf+12)) {
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+ if (sscanf(buf, "%2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx",
|
|
||||||
+ &mac[0], &mac[1], &mac[2], &mac[3],
|
|
||||||
+ &mac[4], &mac[5]) == 6) {
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ return -1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static struct mtd_mac_address_property {
|
|
||||||
+ char *name;
|
|
||||||
+ mtd_mac_address_read read;
|
|
||||||
+} mtd_mac_address_properties[] = {
|
|
||||||
+ {
|
|
||||||
+ .name = "mtd-mac-address",
|
|
||||||
+ .read = read_mtd_mac_address,
|
|
||||||
+ }, {
|
|
||||||
+ .name = "mtd-mac-address-ascii",
|
|
||||||
+ .read = read_mtd_mac_address_ascii,
|
|
||||||
+ },
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+static const void *of_get_mac_address_mtd(struct device_node *np)
|
+static const void *of_get_mac_address_mtd(struct device_node *np)
|
||||||
+{
|
+{
|
||||||
+#ifdef CONFIG_MTD
|
+#ifdef CONFIG_MTD
|
||||||
+ struct device_node *mtd_np = NULL;
|
+ struct device_node *mtd_np = NULL;
|
||||||
+ struct property *prop;
|
+ struct property *prop;
|
||||||
+ int size, ret = -1;
|
+ size_t retlen;
|
||||||
|
+ int size, ret;
|
||||||
+ struct mtd_info *mtd;
|
+ struct mtd_info *mtd;
|
||||||
+ const char *part;
|
+ const char *part;
|
||||||
+ const __be32 *list;
|
+ const __be32 *list;
|
||||||
@ -95,46 +50,31 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+ u32 mac_inc = 0;
|
+ u32 mac_inc = 0;
|
||||||
+ u8 mac[ETH_ALEN];
|
+ u8 mac[ETH_ALEN];
|
||||||
+ void *addr;
|
+ void *addr;
|
||||||
+ u32 inc_idx;
|
|
||||||
+ int i;
|
|
||||||
+
|
+
|
||||||
+ for (i = 0; i < ARRAY_SIZE(mtd_mac_address_properties); i++) {
|
+ list = of_get_property(np, "mtd-mac-address", &size);
|
||||||
+ list = of_get_property(np, mtd_mac_address_properties[i].name, &size);
|
+ if (!list || (size != (2 * sizeof(*list))))
|
||||||
+ if (!list || (size != (2 * sizeof(*list))))
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ phandle = be32_to_cpup(list++);
|
|
||||||
+ if (phandle)
|
|
||||||
+ mtd_np = of_find_node_by_phandle(phandle);
|
|
||||||
+
|
|
||||||
+ if (!mtd_np)
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ part = of_get_property(mtd_np, "label", NULL);
|
|
||||||
+ if (!part)
|
|
||||||
+ part = mtd_np->name;
|
|
||||||
+
|
|
||||||
+ mtd = get_mtd_device_nm(part);
|
|
||||||
+ if (IS_ERR(mtd))
|
|
||||||
+ continue;
|
|
||||||
+
|
|
||||||
+ ret = mtd_mac_address_properties[i].read(mtd, be32_to_cpup(list), mac);
|
|
||||||
+ put_mtd_device(mtd);
|
|
||||||
+ if (!ret) {
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ if (ret) {
|
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
+ if (of_property_read_u32(np, "mtd-mac-address-increment-byte", &inc_idx))
|
+ phandle = be32_to_cpup(list++);
|
||||||
+ inc_idx = 5;
|
+ if (phandle)
|
||||||
+ if (inc_idx > 5)
|
+ mtd_np = of_find_node_by_phandle(phandle);
|
||||||
|
+
|
||||||
|
+ if (!mtd_np)
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
+
|
+
|
||||||
|
+ part = of_get_property(mtd_np, "label", NULL);
|
||||||
|
+ if (!part)
|
||||||
|
+ part = mtd_np->name;
|
||||||
|
+
|
||||||
|
+ mtd = get_mtd_device_nm(part);
|
||||||
|
+ if (IS_ERR(mtd))
|
||||||
|
+ return NULL;
|
||||||
|
+
|
||||||
|
+ ret = mtd_read(mtd, be32_to_cpup(list), 6, &retlen, mac);
|
||||||
|
+ put_mtd_device(mtd);
|
||||||
|
+
|
||||||
+ if (!of_property_read_u32(np, "mtd-mac-address-increment", &mac_inc))
|
+ if (!of_property_read_u32(np, "mtd-mac-address-increment", &mac_inc))
|
||||||
+ mac[inc_idx] += mac_inc;
|
+ mac[5] += mac_inc;
|
||||||
+
|
+
|
||||||
+ if (!is_valid_ether_addr(mac))
|
+ if (!is_valid_ether_addr(mac))
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
@ -166,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
/**
|
/**
|
||||||
* Search the device tree for the best MAC address to use. 'mac-address' is
|
* Search the device tree for the best MAC address to use. 'mac-address' is
|
||||||
* checked first, because that is supposed to contain to "most recent" MAC
|
* checked first, because that is supposed to contain to "most recent" MAC
|
||||||
@@ -64,11 +192,18 @@ static const void *of_get_mac_addr(struc
|
@@ -64,11 +132,18 @@ static const void *of_get_mac_addr(struc
|
||||||
* addresses. Some older U-Boots only initialized 'local-mac-address'. In
|
* addresses. Some older U-Boots only initialized 'local-mac-address'. In
|
||||||
* this case, the real MAC is in 'local-mac-address', and 'mac-address' exists
|
* this case, the real MAC is in 'local-mac-address', and 'mac-address' exists
|
||||||
* but is all zeros.
|
* but is all zeros.
|
||||||
|
Loading…
Reference in New Issue
Block a user