mirror of
https://github.com/VIKINGYFY/immortalwrt.git
synced 2025-12-16 17:15:26 +00:00
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
11b23eaaa5
@ -15,6 +15,10 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/kexec
|
||||
PKG_HASH:=d2f0ef872f39e2fe4b1b01feb62b0001383207239b9f8041f98a95564161d053
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
PKG_CPE_ID:=cpe:/a:kernel:kexec-tools
|
||||
|
||||
PKG_CONFIG_DEPENDS := CONFIG_KEXEC_ZLIB CONFIG_KEXEC_LZMA
|
||||
|
||||
PKG_BUILD_FLAGS:=gc-sections
|
||||
|
||||
@ -12,7 +12,7 @@ PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/riscv/opensbi
|
||||
PKG_SOURCE_DATE:=2024-12-24
|
||||
PKG_SOURCE_VERSION:=bd613dd92113f683052acfb23d9dc8ba60029e0a
|
||||
PKG_MIRROR_HASH:=247bbb751635d9414cf47cce417185fd3323e98c524eafa825dc91b76cc5c054
|
||||
PKG_MIRROR_HASH:=19593a340e4346ed953f17664a15744f9efdc68340a89ec6831c5e0e4dc5656d
|
||||
|
||||
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
|
||||
@ -315,7 +315,7 @@
|
||||
+
|
||||
--- /dev/null
|
||||
+++ b/defenvs/zyxel_ex5601-t0_env
|
||||
@@ -0,0 +1,55 @@
|
||||
@@ -0,0 +1,57 @@
|
||||
+ethaddr_factory=mtd read Factory 0x40080000 0x0 0x20000 && env readmem -b ethaddr 0x4008002A 0x6 ; setenv ethaddr_factory
|
||||
+ipaddr=192.168.1.1
|
||||
+serverip=192.168.1.254
|
||||
@ -336,14 +336,15 @@
|
||||
+bootmenu_0=Initialize environment.=run _firstboot
|
||||
+bootmenu_0d=Run default boot command.=run boot_default
|
||||
+bootmenu_1=Boot system via TFTP.=run boot_tftp ; run bootmenu_confirm_return
|
||||
+bootmenu_2=Boot production system from NAND.=run boot_production ; run bootmenu_confirm_return
|
||||
+bootmenu_3=Boot recovery system from NAND.=run boot_recovery ; run bootmenu_confirm_return
|
||||
+bootmenu_4=Load production system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_production ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
|
||||
+bootmenu_5=Load recovery system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_recovery ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
|
||||
+bootmenu_6=[31mLoad BL31+U-Boot FIP via TFTP then write to NAND.[0m=run boot_tftp_write_fip ; run bootmenu_confirm_return
|
||||
+bootmenu_7=[31mLoad BL2 preloader via TFTP then write to NAND.[0m=run boot_tftp_write_bl2 ; run bootmenu_confirm_return
|
||||
+bootmenu_8=Reboot.=reset
|
||||
+bootmenu_9=Reset all settings to factory defaults.=run reset_factory ; reset
|
||||
+bootmenu_2=Boot system from USB.=run boot_usb ; run bootmenu_confirm_return
|
||||
+bootmenu_3=Boot production system from NAND.=run boot_production ; run bootmenu_confirm_return
|
||||
+bootmenu_4=Boot recovery system from NAND.=run boot_recovery ; run bootmenu_confirm_return
|
||||
+bootmenu_5=Load production system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_production ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
|
||||
+bootmenu_6=Load recovery system via TFTP then write to NAND.=setenv noboot 1 ; setenv replacevol 1 ; run boot_tftp_recovery ; setenv noboot ; setenv replacevol ; run bootmenu_confirm_return
|
||||
+bootmenu_7=[31mLoad BL31+U-Boot FIP via TFTP then write to NAND.[0m=run boot_tftp_write_fip ; run bootmenu_confirm_return
|
||||
+bootmenu_8=[31mLoad BL2 preloader via TFTP then write to NAND.[0m=run boot_tftp_write_bl2 ; run bootmenu_confirm_return
|
||||
+bootmenu_9=Reboot.=reset
|
||||
+bootmenu_10=Reset all settings to factory defaults.=run reset_factory ; reset
|
||||
+boot_first=if button reset ; then run boot_tftp_recovery ; setenv flag_recover 1 ; run boot_default ; fi ; bootmenu
|
||||
+boot_default=if env exists flag_recover ; then else run bootcmd ; fi ; run boot_recovery ; setenv replacevol 1 ; run boot_tftp_forever
|
||||
+boot_production=run ubi_read_production && bootm $loadaddr#$bootconf
|
||||
@ -355,6 +356,7 @@
|
||||
+boot_tftp=tftpboot $loadaddr $bootfile && bootm $loadaddr#$bootconf
|
||||
+boot_tftp_write_fip=tftpboot $loadaddr $bootfile_fip && run mtd_write_fip && run reset_factory
|
||||
+boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run mtd_write_bl2
|
||||
+boot_usb=usb start && usbboot $loadaddr 0 && bootm $loadaddr#$bootconf
|
||||
+part_fit=fit
|
||||
+reset_factory=ubi part ubi ; mw $loadaddr 0x0 0x800 ; ubi write $loadaddr ubootenv 0x800 ; ubi write $loadaddr ubootenv2 0x800
|
||||
+mtd_write_fip=mtd erase fip && mtd write fip $loadaddr
|
||||
|
||||
@ -6,10 +6,10 @@
|
||||
#
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_VERSION := 2024.04
|
||||
PKG_VERSION := 2025.04
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_HASH := 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a
|
||||
PKG_HASH := 439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718
|
||||
|
||||
PKG_MAINTAINER := Tomasz Maciej Nowak <tmn505@gmail.com>
|
||||
|
||||
@ -34,6 +34,8 @@ endef
|
||||
|
||||
UBOOT_TARGETS := trimslice
|
||||
|
||||
UBOOT_CUSTOMIZE_CONFIG := --disable TOOLS_MKEFICAPSULE
|
||||
|
||||
define Build/bct-image
|
||||
$(CP) $(PKG_BUILD_DIR)/u-boot-dtb-tegra.bin $(PKG_BUILD_DIR)/u-boot.bin
|
||||
$(foreach bct,$(basename $(UBOOT_IMAGE)), \
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_DISTNAME:=u-boot
|
||||
PKG_VERSION:=2025.01
|
||||
PKG_RELEASE:=3
|
||||
PKG_VERSION:=2025.07
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_DISTNAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:= \
|
||||
@ -10,7 +10,7 @@ PKG_SOURCE_URL:= \
|
||||
https://mirror.cyberbits.eu/u-boot \
|
||||
ftp://ftp.denx.de/pub/u-boot
|
||||
PKG_URL:=http://www.denx.de/wiki/U-Boot
|
||||
PKG_HASH:=cdef7d507c93f1bbd9f015ea9bc21fa074268481405501945abc6f854d5b686f
|
||||
PKG_HASH:=0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7
|
||||
PKG_SOURCE_SUBDIR:=$(PKG_DISTNAME)-$(PKG_VERSION)
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_DISTNAME)-$(PKG_VERSION)
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ Signed-off-by: Scott Mercer <TheRootEd24@gmail.com>
|
||||
# Enable all the config-independent tools
|
||||
ifneq ($(HOST_TOOLS_ALL),)
|
||||
CONFIG_ARCH_KIRKWOOD = y
|
||||
@@ -244,15 +264,10 @@ hostprogs-$(CONFIG_MIPS) += mips-relocs
|
||||
@@ -261,15 +281,10 @@ hostprogs-$(CONFIG_MIPS) += mips-relocs
|
||||
hostprogs-$(CONFIG_ASN1_COMPILER) += asn1_compiler
|
||||
HOSTCFLAGS_asn1_compiler.o = -idirafter $(srctree)/include
|
||||
|
||||
@ -66,7 +66,7 @@ Signed-off-by: Scott Mercer <TheRootEd24@gmail.com>
|
||||
|
||||
mkfwumdata-objs := mkfwumdata.o generated/lib/crc32.o
|
||||
HOSTLDLIBS_mkfwumdata += -luuid
|
||||
@@ -313,10 +328,9 @@ HOST_EXTRACFLAGS += -include $(srctree)/
|
||||
@@ -330,10 +345,9 @@ HOST_EXTRACFLAGS += -include $(srctree)/
|
||||
-I$(srctree)/scripts/dtc/libfdt \
|
||||
-I$(srctree)/tools \
|
||||
-DUSE_HOSTCC \
|
||||
|
||||
@ -1,69 +0,0 @@
|
||||
From patchwork Sat Mar 29 03:12:50 2025
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Daniel Golle <daniel@makrotopia.org>
|
||||
X-Patchwork-Id: 2066664
|
||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
||||
Date: Sat, 29 Mar 2025 03:12:50 +0000
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
To: Tom Rini <trini@konsulko.com>, Simon Glass <sjg@chromium.org>,
|
||||
Chia-Wei Wang <chiawei_wang@aspeedtech.com>, u-boot@lists.denx.de
|
||||
Cc: Thomas =?iso-8859-1?q?H=FChn?= <thomas.huehn@hs-nordhausen.de>
|
||||
Subject: [PATCH 1/2] image-fit-sig: skip in tools build if key is missing
|
||||
Message-ID:
|
||||
<bf6a90e864b713db41bf788797554649eeaa0732.1743217745.git.daniel@makrotopia.org>
|
||||
MIME-Version: 1.0
|
||||
Content-Disposition: inline
|
||||
X-BeenThere: u-boot@lists.denx.de
|
||||
X-Mailman-Version: 2.1.39
|
||||
Precedence: list
|
||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||||
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||||
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
||||
List-Post: <mailto:u-boot@lists.denx.de>
|
||||
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||||
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||||
Errors-To: u-boot-bounces@lists.denx.de
|
||||
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||||
|
||||
Skip signature verification in case no public key was given in order to
|
||||
allow using fit_check_sign also to validate uImage.FIT images without
|
||||
signatures. Guarded by USE_HOSTCC macro the behavior on target is
|
||||
unchanged.
|
||||
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
boot/image-fit-sig.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
--- a/boot/image-fit-sig.c
|
||||
+++ b/boot/image-fit-sig.c
|
||||
@@ -191,6 +191,11 @@ int fit_image_verify_required_sigs(const
|
||||
int noffset;
|
||||
int key_node;
|
||||
|
||||
+#ifdef USE_HOSTCC
|
||||
+ if (!key_blob)
|
||||
+ return 0;
|
||||
+#endif
|
||||
+
|
||||
/* Work out what we need to verify */
|
||||
*no_sigsp = 1;
|
||||
key_node = fdt_subnode_offset(key_blob, 0, FIT_SIG_NODENAME);
|
||||
@@ -477,6 +482,11 @@ static int fit_config_verify_required_ke
|
||||
bool reqd_policy_all = true;
|
||||
const char *reqd_mode;
|
||||
|
||||
+#ifdef USE_HOSTCC
|
||||
+ if (!key_blob)
|
||||
+ return 0;
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* We don't support this since libfdt considers names with the
|
||||
* name root but different @ suffix to be equal
|
||||
@ -1,92 +0,0 @@
|
||||
From patchwork Sat Mar 29 03:13:01 2025
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Daniel Golle <daniel@makrotopia.org>
|
||||
X-Patchwork-Id: 2066665
|
||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@legolas.ozlabs.org
|
||||
Date: Sat, 29 Mar 2025 03:13:01 +0000
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
To: Tom Rini <trini@konsulko.com>, Simon Glass <sjg@chromium.org>,
|
||||
Chia-Wei Wang <chiawei_wang@aspeedtech.com>,
|
||||
Daniel Golle <daniel@makrotopia.org>, u-boot@lists.denx.de
|
||||
Cc: Thomas =?iso-8859-1?q?H=FChn?= <thomas.huehn@hs-nordhausen.de>
|
||||
Subject: [PATCH 2/2] tools/fit_check_sign: make key optional
|
||||
Message-ID:
|
||||
<1f0c5a1f7e84f638f921278284ff6245d78e730d.1743217745.git.daniel@makrotopia.org>
|
||||
References:
|
||||
<bf6a90e864b713db41bf788797554649eeaa0732.1743217745.git.daniel@makrotopia.org>
|
||||
MIME-Version: 1.0
|
||||
Content-Disposition: inline
|
||||
In-Reply-To:
|
||||
<bf6a90e864b713db41bf788797554649eeaa0732.1743217745.git.daniel@makrotopia.org>
|
||||
X-BeenThere: u-boot@lists.denx.de
|
||||
X-Mailman-Version: 2.1.39
|
||||
Precedence: list
|
||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||||
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
|
||||
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
|
||||
List-Post: <mailto:u-boot@lists.denx.de>
|
||||
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
|
||||
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
|
||||
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
|
||||
Errors-To: u-boot-bounces@lists.denx.de
|
||||
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
|
||||
|
||||
Allow invoking fit_check_sig without the key parameter, allowing to
|
||||
validate only checksums and hashes for unsigned images.
|
||||
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
tools/fit_check_sign.c | 15 ++++++---------
|
||||
1 file changed, 6 insertions(+), 9 deletions(-)
|
||||
|
||||
--- a/tools/fit_check_sign.c
|
||||
+++ b/tools/fit_check_sign.c
|
||||
@@ -45,7 +45,7 @@ int main(int argc, char **argv)
|
||||
char *config_name = NULL;
|
||||
char cmdname[256];
|
||||
int ret;
|
||||
- void *key_blob;
|
||||
+ void *key_blob = NULL;
|
||||
int c;
|
||||
|
||||
strncpy(cmdname, *argv, sizeof(cmdname) - 1);
|
||||
@@ -70,18 +70,15 @@ int main(int argc, char **argv)
|
||||
fprintf(stderr, "%s: Missing fdt file\n", *argv);
|
||||
usage(*argv);
|
||||
}
|
||||
- if (!keyfile) {
|
||||
- fprintf(stderr, "%s: Missing key file\n", *argv);
|
||||
- usage(*argv);
|
||||
- }
|
||||
|
||||
ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false, true);
|
||||
if (ffd < 0)
|
||||
return EXIT_FAILURE;
|
||||
- kfd = mmap_fdt(cmdname, keyfile, 0, &key_blob, &ksbuf, false, true);
|
||||
- if (kfd < 0)
|
||||
- return EXIT_FAILURE;
|
||||
-
|
||||
+ if (keyfile) {
|
||||
+ kfd = mmap_fdt(cmdname, keyfile, 0, &key_blob, &ksbuf, false, true);
|
||||
+ if (kfd < 0)
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
image_set_host_blob(key_blob);
|
||||
ret = fit_check_sign(fit_blob, key_blob, config_name);
|
||||
if (!ret) {
|
||||
@@ -93,7 +90,9 @@ int main(int argc, char **argv)
|
||||
}
|
||||
|
||||
(void) munmap((void *)fit_blob, fsbuf.st_size);
|
||||
- (void) munmap((void *)key_blob, ksbuf.st_size);
|
||||
+
|
||||
+ if (keyfile)
|
||||
+ (void) munmap((void *)key_blob, ksbuf.st_size);
|
||||
|
||||
close(ffd);
|
||||
close(kfd);
|
||||
@ -1,13 +0,0 @@
|
||||
--- a/tools/Makefile
|
||||
+++ b/tools/Makefile
|
||||
@@ -83,8 +83,8 @@ HOSTCFLAGS_img2srec.o := -pedantic
|
||||
hostprogs-y += mkenvimage
|
||||
mkenvimage-objs := mkenvimage.o os_support.o generated/lib/crc32.o
|
||||
|
||||
-hostprogs-y += dumpimage mkimage
|
||||
-hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += fit_info fit_check_sign
|
||||
+hostprogs-y += dumpimage mkimage fit_check_sign
|
||||
+hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += fit_info
|
||||
hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += fdt_add_pubkey
|
||||
|
||||
ifneq ($(CONFIG_CMD_BOOTEFI_SELFTEST)$(CONFIG_FWU_MDATA_GPT_BLK),)
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/boot/bootm.c
|
||||
+++ b/boot/bootm.c
|
||||
@@ -1229,20 +1229,18 @@ static int bootm_host_load_image(const v
|
||||
@@ -1232,20 +1232,18 @@ static int bootm_host_load_image(const v
|
||||
|
||||
int bootm_host_load_images(const void *fit, int cfg_noffset)
|
||||
{
|
||||
@ -28,18 +28,19 @@
|
||||
/* Return the first error we found */
|
||||
--- a/boot/image-fit.c
|
||||
+++ b/boot/image-fit.c
|
||||
@@ -2072,7 +2072,9 @@ int fit_image_load(struct bootm_headers
|
||||
@@ -2079,8 +2079,10 @@ int fit_image_load(struct bootm_headers
|
||||
fit_uname_config = fit_uname_configp ? *fit_uname_configp : NULL;
|
||||
fit_base_uname_config = NULL;
|
||||
prop_name = fit_get_image_type_property(image_type);
|
||||
prop_name = fit_get_image_type_property(ph_type);
|
||||
+#ifndef USE_HOSTCC
|
||||
printf("## Loading %s from FIT Image at %08lx ...\n", prop_name, addr);
|
||||
printf("## Loading %s (%s) from FIT Image at %08lx ...\n",
|
||||
prop_name, genimg_get_phase_name(image_ph_phase(ph_type)), addr);
|
||||
+#endif
|
||||
|
||||
bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT);
|
||||
ret = fit_check_format(fit, IMAGE_SIZE_INVAL);
|
||||
@@ -2108,7 +2110,9 @@ int fit_image_load(struct bootm_headers
|
||||
}
|
||||
@@ -2117,7 +2119,9 @@ int fit_image_load(struct bootm_headers
|
||||
cfg_noffset = ret;
|
||||
|
||||
fit_base_uname_config = fdt_get_name(fit, cfg_noffset, NULL);
|
||||
+#ifndef USE_HOSTCC
|
||||
@ -48,7 +49,7 @@
|
||||
/* Remember this config */
|
||||
if (image_type == IH_TYPE_KERNEL)
|
||||
images->fit_uname_cfg = fit_base_uname_config;
|
||||
@@ -2131,7 +2135,9 @@ int fit_image_load(struct bootm_headers
|
||||
@@ -2140,7 +2144,9 @@ int fit_image_load(struct bootm_headers
|
||||
fit_uname = fit_get_name(fit, noffset, NULL);
|
||||
}
|
||||
if (noffset < 0) {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/boot/bootm.c
|
||||
+++ b/boot/bootm.c
|
||||
@@ -1188,10 +1188,6 @@ static int bootm_host_load_image(const v
|
||||
@@ -1191,10 +1191,6 @@ static int bootm_host_load_image(const v
|
||||
ulong data, len;
|
||||
struct bootm_headers images;
|
||||
int noffset;
|
||||
@ -11,7 +11,7 @@
|
||||
int ret;
|
||||
|
||||
fit_uname_config = fdt_get_name(fit, cfg_noffset, NULL);
|
||||
@@ -1203,26 +1199,6 @@ static int bootm_host_load_image(const v
|
||||
@@ -1206,26 +1202,6 @@ static int bootm_host_load_image(const v
|
||||
FIT_LOAD_IGNORED, &data, &len);
|
||||
if (noffset < 0)
|
||||
return noffset;
|
||||
|
||||
@ -112,7 +112,8 @@ buffalo,wzr-hp-g300nh-s|\
|
||||
linksys,ea4500-v3)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
|
||||
;;
|
||||
dell,apl26-0ae)
|
||||
dell,apl26-0ae|\
|
||||
dell,apl27-0b1)
|
||||
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x10000"
|
||||
;;
|
||||
domywifi,dw33d)
|
||||
|
||||
21
package/boot/uboot-tools/uboot-envtools/files/imx_cortexa53
Normal file
21
package/boot/uboot-tools/uboot-envtools/files/imx_cortexa53
Normal file
@ -0,0 +1,21 @@
|
||||
[ -e /etc/config/ubootenv ] && exit 0
|
||||
|
||||
touch /etc/config/ubootenv
|
||||
|
||||
. /lib/uboot-envtools.sh
|
||||
. /lib/functions.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$board" in
|
||||
gw,imx8m*|\
|
||||
gateworks,imx8m*)
|
||||
# board boots from emmc boot0 hardware partition
|
||||
ubootenv_add_uci_config /dev/mmcblk2boot0 0x3f0000 0x8000
|
||||
ubootenv_add_uci_config /dev/mmcblk2boot0 0x3f8000 0x8000
|
||||
esac
|
||||
|
||||
config_load ubootenv
|
||||
config_foreach ubootenv_add_app_config ubootenv
|
||||
|
||||
exit 0
|
||||
@ -7,15 +7,9 @@ touch /etc/config/ubootenv
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
ubootenv_add_mmc() {
|
||||
local mmcpart="$(find_mmc_part "${1}")"
|
||||
[ -n "$mmcpart" ] && \
|
||||
ubootenv_add_uci_config "$mmcpart" "${2}" "${3}" "${4}"
|
||||
}
|
||||
|
||||
case "$board" in
|
||||
8devices,kiwi-dvk)
|
||||
ubootenv_add_mmc "0:APPSBLENV" "0x0" "0x40000" "0x40000"
|
||||
ubootenv_add_mmc "0:APPSBLENV" "" "0x0" "0x40000" "0x40000"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@ -566,8 +566,6 @@ define KernelPackage/serial-8250
|
||||
DEPENDS:=@!TARGET_uml
|
||||
KCONFIG:= CONFIG_SERIAL_8250 \
|
||||
CONFIG_SERIAL_8250_PCI \
|
||||
CONFIG_SERIAL_8250_NR_UARTS=16 \
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
|
||||
CONFIG_SERIAL_8250_EXTENDED=y \
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y \
|
||||
CONFIG_SERIAL_8250_SHARE_IRQ=y \
|
||||
@ -585,6 +583,31 @@ define KernelPackage/serial-8250/description
|
||||
Kernel module for 8250 UART based serial ports
|
||||
endef
|
||||
|
||||
define KernelPackage/serial-8250/config
|
||||
menu "Configuration"
|
||||
depends on PACKAGE_kmod-serial-8250
|
||||
|
||||
config KERNEL_SERIAL_8250_NR_UARTS
|
||||
int "Maximum number of 8250/16550 serial ports"
|
||||
default "16"
|
||||
help
|
||||
Set this to the number of serial ports you want the driver
|
||||
to support. This includes any ports discovered via ACPI or
|
||||
PCI enumeration and any ports that may be added at run-time
|
||||
via hot-plug, or any ISA multi-port serial cards.
|
||||
|
||||
config KERNEL_SERIAL_8250_RUNTIME_UARTS
|
||||
int "Number of 8250/16550 serial ports to register at runtime"
|
||||
range 0 KERNEL_SERIAL_8250_NR_UARTS
|
||||
default "16"
|
||||
help
|
||||
Set this to the maximum number of serial ports you want
|
||||
the kernel to register at boot time. This can be overridden
|
||||
with the module parameter "nr_uarts", or boot-time parameter
|
||||
8250.nr_uarts
|
||||
endmenu
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,serial-8250))
|
||||
|
||||
|
||||
@ -1063,3 +1086,20 @@ define KernelPackage/mhi-pci-generic/description
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,mhi-pci-generic))
|
||||
|
||||
|
||||
define KernelPackage/regulator-userspace-consumer
|
||||
SUBMENU:=$(OTHER_MENU)
|
||||
TITLE:=Userspace regulator consumer support
|
||||
KCONFIG:=CONFIG_REGULATOR_USERSPACE_CONSUMER
|
||||
FILES:=$(LINUX_DIR)/drivers/regulator/userspace-consumer.ko
|
||||
AUTOLOAD:=$(call AutoLoad,10,userspace-consumer,1)
|
||||
endef
|
||||
|
||||
define KernelPackage/regulator-userspace-consumer/description
|
||||
There are some classes of devices that are controlled entirely
|
||||
from user space. Userspace consumer driver provides ability to
|
||||
control power supplies for such devices.
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,regulator-userspace-consumer))
|
||||
|
||||
@ -54,7 +54,7 @@ define Package/rpcapd
|
||||
CATEGORY:=Network
|
||||
TITLE:=Capture daemon to be controlled by a remote libpcap application
|
||||
URL:=http://www.tcpdump.org/
|
||||
DEPENDS+= +libpcap
|
||||
DEPENDS+= +USE_GLIBC:libcrypt-compat +libpcap
|
||||
endef
|
||||
|
||||
ifdef CONFIG_PACKAGE_rpcapd
|
||||
|
||||
@ -17,7 +17,9 @@ PKG_SOURCE_URL:=@GNU/nettle
|
||||
PKG_HASH:=b0fcdd7fc0cdea6e80dcf1dd85ba794af0d5b4a57e26397eee3bc193272d9132
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-or-later
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
PKG_LICENSE_FILES:= COPYING.LESSERv3 \
|
||||
COPYINGv2 \
|
||||
COPYINGv3
|
||||
PKG_CPE_ID:=cpe:/a:nettle_project:nettle
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
|
||||
@ -555,7 +555,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
|
||||
$(CP) \
|
||||
$(TOOLCHAIN_DIR)/lib/ld*.so.* \
|
||||
$(1)/lib/
|
||||
for file in libanl libc libcidn libcrypt libdl libm libnsl libnss_dns libnss_files libresolv libutil; do \
|
||||
for file in libanl libc libcidn libdl libm libnsl libnss_dns libnss_files libresolv libutil; do \
|
||||
for file in $(TOOLCHAIN_DIR)/lib/$$$$file.so.*; do \
|
||||
if [ -e "$$$$file" ]; then \
|
||||
$(CP) $$$$file $(1)/lib/; \
|
||||
@ -700,6 +700,12 @@ else
|
||||
define Package/libc/install
|
||||
echo $(LIBC_VERSION)-r$(PKG_RELEASE) > $(TMP_DIR)/libc.version; \
|
||||
for file in $(call qstrip,$(CONFIG_LIBC_FILE_SPEC)); do \
|
||||
if [ '$(CONFIG_USE_GLIBC)' != '' ] ; then \
|
||||
case "$${file}" in \
|
||||
libcrypt.* | libcrypt-* | */libcrypt.* | */libcrypt-* ) \
|
||||
continue ;; \
|
||||
esac ; \
|
||||
fi ; \
|
||||
$(INSTALL_DIR) $(1)/lib ; \
|
||||
$(CP) $(call qstrip,$(CONFIG_LIBC_ROOT_DIR))/$$$$file $(1)/lib/ ; \
|
||||
done ; \
|
||||
|
||||
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=dsl_cpe_control_danube
|
||||
PKG_VERSION:=3.24.4.4
|
||||
PKG_RELEASE:=14
|
||||
PKG_RELEASE:=15
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/dsl_cpe_control-$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=@OPENWRT
|
||||
|
||||
@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=ltq-vdsl-vr11-app
|
||||
PKG_VERSION:=4.23.1
|
||||
PKG_RELEASE:=6
|
||||
PKG_RELEASE:=7
|
||||
PKG_BASE_NAME:=dsl_cpe_control
|
||||
|
||||
UGW_VERSION=8.5.2.10
|
||||
|
||||
@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=ltq-vdsl-vr9-app
|
||||
PKG_VERSION:=4.17.18.6
|
||||
PKG_RELEASE:=7
|
||||
PKG_RELEASE:=8
|
||||
PKG_BASE_NAME:=dsl_cpe_control
|
||||
PKG_SOURCE:=$(PKG_BASE_NAME)_vrx-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@OPENWRT
|
||||
|
||||
@ -447,7 +447,7 @@ static void pilot_tones_status(int fd) {
|
||||
}
|
||||
|
||||
static void band_border_status(int fd, DSL_AccessDir_t direction) {
|
||||
IOCTL(DSL_BandBorderStatus_t, DSL_FIO_BAND_BORDER_STATUS_GET);
|
||||
IOCTL_DIR(DSL_BandBorderStatus_t, DSL_FIO_BAND_BORDER_STATUS_GET, direction);
|
||||
|
||||
void *c, *c2;
|
||||
|
||||
|
||||
@ -62,7 +62,7 @@ define Package/dropbear
|
||||
CATEGORY:=Base system
|
||||
TITLE:=Small SSH2 client/server
|
||||
MENU:=1
|
||||
DEPENDS:= +DROPBEAR_ZLIB:zlib
|
||||
DEPENDS:= +USE_GLIBC:libcrypt-compat +DROPBEAR_ZLIB:zlib
|
||||
ALTERNATIVES:=100:/usr/bin/ssh-keygen:/usr/sbin/dropbear
|
||||
$(if $(CONFIG_DROPBEAR_SCP),ALTERNATIVES+= \
|
||||
100:/usr/bin/scp:/usr/sbin/dropbear,)
|
||||
|
||||
@ -55,14 +55,14 @@ endef
|
||||
|
||||
define Package/ppp
|
||||
$(call Package/ppp/Default)
|
||||
DEPENDS:=+kmod-ppp +libpthread +shellsync +kmod-mppe
|
||||
DEPENDS:= +USE_GLIBC:libcrypt-compat +kmod-ppp +shellsync +kmod-mppe
|
||||
TITLE:=PPP daemon
|
||||
VARIANT:=default
|
||||
endef
|
||||
|
||||
define Package/ppp-multilink
|
||||
$(call Package/ppp/Default)
|
||||
DEPENDS:=+kmod-ppp
|
||||
DEPENDS:= +USE_GLIBC:libcrypt-compat +kmod-ppp
|
||||
TITLE:=PPP daemon (with multilink support)
|
||||
VARIANT:=multilink
|
||||
endef
|
||||
|
||||
@ -34,7 +34,7 @@ endef
|
||||
|
||||
define Package/uhttpd
|
||||
$(Package/uhttpd/default)
|
||||
DEPENDS:=+libubox +libblobmsg-json +libjson-script +libjson-c
|
||||
DEPENDS:= +USE_GLIBC:libcrypt-compat +libubox +libblobmsg-json +libjson-script +libjson-c
|
||||
endef
|
||||
|
||||
define Package/uhttpd/description
|
||||
|
||||
@ -39,7 +39,7 @@ endef
|
||||
|
||||
define Package/rpcd
|
||||
$(Package/rpcd/default)
|
||||
DEPENDS+= +libuci +libblobmsg-json +libjson-c
|
||||
DEPENDS+= +USE_GLIBC:libcrypt-compat +libuci +libblobmsg-json +libjson-c
|
||||
endef
|
||||
|
||||
define Package/rpcd/description
|
||||
|
||||
@ -48,7 +48,7 @@ define Package/busybox/Default
|
||||
MAINTAINER:=Felix Fietkau <nbd@nbd.name>
|
||||
TITLE:=Core utilities for embedded Linux
|
||||
URL:=http://busybox.net/
|
||||
DEPENDS:=+BUSYBOX_CONFIG_PAM:libpam +BUSYBOX_CONFIG_NTPD:jsonfilter +(USE_GLIBC&&BUSYBOX_CONFIG_FEATURE_MOUNT_NFS)||(USE_GLIBC&&BUSYBOX_CONFIG_FEATURE_INETD_RPC):libtirpc
|
||||
DEPENDS:= +USE_GLIBC:libcrypt-compat +BUSYBOX_CONFIG_PAM:libpam +BUSYBOX_CONFIG_NTPD:jsonfilter +(USE_GLIBC&&BUSYBOX_CONFIG_FEATURE_MOUNT_NFS)||(USE_GLIBC&&BUSYBOX_CONFIG_FEATURE_INETD_RPC):libtirpc
|
||||
USERID:=ntp=123:ntp=123
|
||||
endef
|
||||
|
||||
|
||||
@ -75,11 +75,11 @@ ALTS_setfiles:=300:/sbin/restorecon:/sbin/policycoreutils-setfiles 300:/sbin/set
|
||||
|
||||
DEPENDS_genhomedircon:=+libsemanage $(INTL_DEPENDS)
|
||||
DEPENDS_load_policy:=+libselinux $(INTL_DEPENDS)
|
||||
DEPENDS_newrole:=+libselinux +libaudit +BUSYBOX_CONFIG_PAM:libpam $(INTL_DEPENDS)
|
||||
DEPENDS_newrole:= +USE_GLIBC:libcrypt-compat +libselinux +libaudit +BUSYBOX_CONFIG_PAM:libpam $(INTL_DEPENDS)
|
||||
DEPENDS_open_init_pty:=$(INTL_DEPENDS)
|
||||
DEPENDS_pp:=+libsepol $(INTL_DEPENDS)
|
||||
DEPENDS_restorecon_xattr:=+libselinux +libsepol +libaudit $(INTL_DEPENDS)
|
||||
DEPENDS_run_init:=+libselinux +libaudit +BUSYBOX_CONFIG_PAM:libpam $(INTL_DEPENDS)
|
||||
DEPENDS_run_init:= +USE_GLIBC:libcrypt-compat +libselinux +libaudit +BUSYBOX_CONFIG_PAM:libpam $(INTL_DEPENDS)
|
||||
DEPENDS_secon:=+libselinux $(INTL_DEPENDS)
|
||||
DEPENDS_semanage:=+libsemanage
|
||||
DEPENDS_semodule:=+libsemanage $(INTL_DEPENDS)
|
||||
|
||||
@ -14,6 +14,8 @@ PKG_RELEASE:=1
|
||||
PKG_BUILD_DIR:=$(LINUX_DIR)/tools/spi-$(TARGET_DIR_NAME)
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/spidev-test
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ucode
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
|
||||
|
||||
@ -15,20 +15,20 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
void __attribute__((format(printf, 3, 0)))
|
||||
uc_vm_raise_exception(uc_vm_t *vm, uc_exception_type_t type, const char *fmt, ...);
|
||||
+uc_value_t *uc_vm_exception_value(uc_vm_t *vm);
|
||||
+uc_value_t *uc_vm_exception_object(uc_vm_t *vm);
|
||||
|
||||
uc_vm_status_t uc_vm_execute(uc_vm_t *vm, uc_program_t *fn, uc_value_t **retval);
|
||||
uc_value_t *uc_vm_invoke(uc_vm_t *vm, const char *fname, size_t nargs, ...);
|
||||
--- a/vm.c
|
||||
+++ b/vm.c
|
||||
@@ -814,9 +814,12 @@ uc_vm_exception_tostring(uc_vm_t *vm, si
|
||||
@@ -813,9 +813,12 @@ uc_vm_exception_tostring(uc_vm_t *vm, si
|
||||
return message ? ucv_get(message) : ucv_string_new("Exception");
|
||||
}
|
||||
|
||||
-static uc_value_t *
|
||||
-uc_vm_exception_new(uc_vm_t *vm, uc_exception_type_t type, const char *message, uc_value_t *stacktrace)
|
||||
+uc_value_t *
|
||||
+uc_vm_exception_value(uc_vm_t *vm)
|
||||
+uc_vm_exception_object(uc_vm_t *vm)
|
||||
{
|
||||
+ uc_exception_type_t type = vm->exception.type;
|
||||
+ const char *message = vm->exception.message;
|
||||
@ -36,12 +36,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
uc_value_t *exception_prototype = uc_vm_registry_get(vm, "vm.exception.proto");
|
||||
uc_value_t *exo;
|
||||
|
||||
@@ -881,7 +884,7 @@ uc_vm_handle_exception(uc_vm_t *vm)
|
||||
@@ -880,7 +883,7 @@ uc_vm_handle_exception(uc_vm_t *vm)
|
||||
ucv_put(uc_vm_stack_pop(vm));
|
||||
|
||||
/* prepare exception object and expose it to user handler code */
|
||||
- exo = uc_vm_exception_new(vm, vm->exception.type, vm->exception.message, vm->exception.stacktrace);
|
||||
+ exo = uc_vm_exception_value(vm);
|
||||
+ exo = uc_vm_exception_object(vm);
|
||||
|
||||
uc_vm_stack_push(vm, exo);
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Wed, 11 Jun 2025 18:31:39 +0200
|
||||
Subject: [PATCH] uloop: add exception_handler_set function
|
||||
Subject: [PATCH] uloop: add guard() function
|
||||
|
||||
This allows calling the provided handler on exceptions, avoiding the
|
||||
existing behavior of calling uloop_end().
|
||||
@ -25,9 +25,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ if (!ucv_is_callable(exh))
|
||||
+ goto error;
|
||||
+
|
||||
+ val = uc_vm_exception_value(vm);
|
||||
+ val = uc_vm_exception_object(vm);
|
||||
+ uc_vm_stack_push(vm, ucv_get(exh));
|
||||
+ uc_vm_stack_push(vm, ucv_get(val));
|
||||
+ uc_vm_stack_push(vm, val);
|
||||
+
|
||||
+ if (uc_vm_call(vm, false, 1) != EXCEPTION_NONE)
|
||||
+ goto error;
|
||||
@ -109,15 +109,18 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
res = uc_vm_stack_pop(vm);
|
||||
uc_uloop_pipe_send_common(vm, res, tpipe->output);
|
||||
ucv_put(res);
|
||||
@@ -2167,6 +2181,19 @@ uc_uloop_signal(uc_vm_t *vm, size_t narg
|
||||
@@ -2167,6 +2181,22 @@ uc_uloop_signal(uc_vm_t *vm, size_t narg
|
||||
}
|
||||
#endif
|
||||
|
||||
+static uc_value_t *
|
||||
+uc_uloop_exception_handler_set(uc_vm_t *vm, size_t nargs)
|
||||
+uc_uloop_guard(uc_vm_t *vm, size_t nargs)
|
||||
+{
|
||||
+ uc_value_t *arg = uc_fn_arg(0);
|
||||
+
|
||||
+ if (!nargs)
|
||||
+ return ucv_get(uc_vm_registry_get(vm, "uloop.ex_handler"));
|
||||
+
|
||||
+ if (arg && !ucv_is_callable(arg))
|
||||
+ return NULL;
|
||||
+
|
||||
@ -129,11 +132,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
static const uc_function_list_t timer_fns[] = {
|
||||
{ "set", uc_uloop_timer_set },
|
||||
@@ -2233,6 +2260,7 @@ static const uc_function_list_t global_f
|
||||
@@ -2233,6 +2263,7 @@ static const uc_function_list_t global_f
|
||||
#ifdef HAVE_ULOOP_SIGNAL
|
||||
{ "signal", uc_uloop_signal },
|
||||
#endif
|
||||
+ { "exception_handler_set", uc_uloop_exception_handler_set },
|
||||
+ { "guard", uc_uloop_guard },
|
||||
};
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Wed, 11 Jun 2025 18:40:10 +0200
|
||||
Subject: [PATCH] ubus: add exception_handler_set function
|
||||
Subject: [PATCH] ubus: add guard() function
|
||||
|
||||
This allows calling the provided handler on exceptions, avoiding the
|
||||
existing behavior of calling uloop_end().
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/lib/ubus.c
|
||||
+++ b/lib/ubus.c
|
||||
@@ -573,6 +573,40 @@ uc_ubus_call_cb(struct ubus_request *req
|
||||
@@ -575,6 +575,40 @@ uc_ubus_call_cb(struct ubus_request *req
|
||||
}
|
||||
|
||||
static void
|
||||
@ -22,9 +22,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+ if (!ucv_is_callable(exh))
|
||||
+ goto error;
|
||||
+
|
||||
+ val = uc_vm_exception_value(vm);
|
||||
+ val = uc_vm_exception_object(vm);
|
||||
+ uc_vm_stack_push(vm, ucv_get(exh));
|
||||
+ uc_vm_stack_push(vm, ucv_get(val));
|
||||
+ uc_vm_stack_push(vm, val);
|
||||
+
|
||||
+ if (uc_vm_call(vm, false, 1) != EXCEPTION_NONE)
|
||||
+ goto error;
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
uc_ubus_call_user_cb(uc_ubus_deferred_t *defer, int ret, uc_value_t *reply)
|
||||
{
|
||||
uc_value_t *this = ucv_get(defer->res);
|
||||
@@ -623,10 +657,8 @@ uc_ubus_call_data_user_cb(struct ubus_re
|
||||
@@ -625,10 +659,8 @@ uc_ubus_call_data_user_cb(struct ubus_re
|
||||
uc_vm_stack_push(vm, ucv_get(func));
|
||||
uc_vm_stack_push(vm, ucv_get(reply));
|
||||
|
||||
@ -63,7 +63,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -645,10 +677,8 @@ uc_ubus_call_fd_cb(struct ubus_request *
|
||||
@@ -647,10 +679,8 @@ uc_ubus_call_fd_cb(struct ubus_request *
|
||||
uc_vm_stack_push(vm, ucv_get(func));
|
||||
uc_vm_stack_push(vm, ucv_int64_new(fd));
|
||||
|
||||
@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -927,10 +957,8 @@ uc_ubus_defer_common(uc_vm_t *vm, uc_ubu
|
||||
@@ -929,10 +959,8 @@ uc_ubus_defer_common(uc_vm_t *vm, uc_ubu
|
||||
uc_vm_stack_push(vm, ucv_get(replycb));
|
||||
uc_vm_stack_push(vm, ucv_int64_new(rv));
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
ucv_put(res->res);
|
||||
}
|
||||
@@ -1199,10 +1227,8 @@ uc_ubus_object_notify_data_cb(struct ubu
|
||||
@@ -1201,10 +1229,8 @@ uc_ubus_object_notify_data_cb(struct ubu
|
||||
uc_vm_stack_push(vm, ucv_int64_new(type));
|
||||
uc_vm_stack_push(vm, blob_array_to_ucv(vm, blob_data(msg), blob_len(msg), true));
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1222,10 +1248,8 @@ uc_ubus_object_notify_status_cb(struct u
|
||||
@@ -1224,10 +1250,8 @@ uc_ubus_object_notify_status_cb(struct u
|
||||
uc_vm_stack_push(vm, ucv_int64_new(idx));
|
||||
uc_vm_stack_push(vm, ucv_int64_new(ret));
|
||||
|
||||
@ -111,7 +111,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1245,10 +1269,8 @@ uc_ubus_object_notify_complete_cb(struct
|
||||
@@ -1247,10 +1271,8 @@ uc_ubus_object_notify_complete_cb(struct
|
||||
uc_vm_stack_push(vm, ucv_int64_new(idx));
|
||||
uc_vm_stack_push(vm, ucv_int64_new(ret));
|
||||
|
||||
@ -123,7 +123,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
notifyctx->complete = true;
|
||||
@@ -1579,7 +1601,7 @@ uc_ubus_handle_reply_common(struct ubus_
|
||||
@@ -1581,7 +1603,7 @@ uc_ubus_handle_reply_common(struct ubus_
|
||||
/* treat other exceptions as fatal and halt uloop */
|
||||
default:
|
||||
uc_ubus_request_finish_common(callctx, UBUS_STATUS_UNKNOWN_ERROR);
|
||||
@ -132,7 +132,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1638,10 +1660,8 @@ uc_ubus_object_subscribe_cb(struct ubus_
|
||||
@@ -1640,10 +1662,8 @@ uc_ubus_object_subscribe_cb(struct ubus_
|
||||
uc_vm_stack_push(uuobj->vm, ucv_get(uuobj->res));
|
||||
uc_vm_stack_push(uuobj->vm, ucv_get(func));
|
||||
|
||||
@ -144,7 +144,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
static bool
|
||||
@@ -1917,10 +1937,8 @@ uc_ubus_listener_cb(struct ubus_context
|
||||
@@ -1919,10 +1939,8 @@ uc_ubus_listener_cb(struct ubus_context
|
||||
uc_vm_stack_push(vm, ucv_string_new(type));
|
||||
uc_vm_stack_push(vm, blob_array_to_ucv(vm, blob_data(msg), blob_len(msg), true));
|
||||
|
||||
@ -156,7 +156,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
static uc_value_t *
|
||||
@@ -2040,10 +2058,8 @@ uc_ubus_subscriber_remove_cb(struct ubus
|
||||
@@ -2042,10 +2060,8 @@ uc_ubus_subscriber_remove_cb(struct ubus
|
||||
uc_vm_stack_push(vm, ucv_get(func));
|
||||
uc_vm_stack_push(vm, ucv_uint64_new(id));
|
||||
|
||||
@ -168,7 +168,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
static uc_value_t *
|
||||
@@ -2334,10 +2350,8 @@ uc_ubus_channel_disconnect_cb(struct ubu
|
||||
@@ -2370,10 +2386,8 @@ uc_ubus_channel_disconnect_cb(struct ubu
|
||||
uc_vm_stack_push(c->vm, ucv_get(c->res));
|
||||
uc_vm_stack_push(c->vm, ucv_get(func));
|
||||
|
||||
@ -180,15 +180,18 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
blob_buf_free(&c->buf);
|
||||
@@ -2438,10 +2452,25 @@ uc_ubus_channel_connect(uc_vm_t *vm, siz
|
||||
@@ -2474,10 +2488,28 @@ uc_ubus_channel_connect(uc_vm_t *vm, siz
|
||||
}
|
||||
|
||||
|
||||
+static uc_value_t *
|
||||
+uc_ubus_exception_handler_set(uc_vm_t *vm, size_t nargs)
|
||||
+uc_ubus_guard(uc_vm_t *vm, size_t nargs)
|
||||
+{
|
||||
+ uc_value_t *arg = uc_fn_arg(0);
|
||||
+
|
||||
+ if (!nargs)
|
||||
+ return ucv_get(uc_vm_registry_get(vm, "ubus.ex_handler"));
|
||||
+
|
||||
+ if (arg && !ucv_is_callable(arg))
|
||||
+ return NULL;
|
||||
+
|
||||
@ -202,7 +205,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
{ "error", uc_ubus_error },
|
||||
{ "connect", uc_ubus_connect },
|
||||
{ "open_channel", uc_ubus_channel_connect },
|
||||
+ { "exception_handler_set", uc_ubus_exception_handler_set },
|
||||
+ { "guard", uc_ubus_guard },
|
||||
};
|
||||
|
||||
static const uc_function_list_t conn_fns[] = {
|
||||
@ -16,14 +16,6 @@ PKG_SOURCE_URL:=@KERNEL/linux/utils/$(PKG_NAME)/v2.41
|
||||
PKG_HASH:=be9ad9a276f4305ab7dd2f5225c8be1ff54352f565ff4dede9628c1aaa7dec57
|
||||
PKG_CPE_ID:=cpe:/a:kernel:util-linux
|
||||
|
||||
PKG_LICENSE:=GPL-2.0-only
|
||||
PKG_LICENSE_FILES:= COPYING \
|
||||
libblkid/COPYING \
|
||||
libmount/COPYING \
|
||||
Documentation/licenses/COPYING.GPLv2 \
|
||||
Documentation/licenses/COPYING.LGPLv2.1 \
|
||||
libuuid/COPYING \
|
||||
Documentation/licenses/COPYING.BSD-3
|
||||
|
||||
PKG_INSTALL:=1
|
||||
|
||||
@ -44,6 +36,8 @@ $(call Package/util-linux/Default)
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
ABI_VERSION:=1
|
||||
LICENSE:=LGPL-2.1-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.LGPL-2.1-or-later
|
||||
endef
|
||||
|
||||
define Package/libblkid/description
|
||||
@ -60,6 +54,8 @@ $(call Package/util-linux/Default)
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
ABI_VERSION:=1
|
||||
LICENSE:=LGPL-2.1-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.LGPL-2.1-or-later
|
||||
endef
|
||||
|
||||
define Package/libfdisk/description
|
||||
@ -73,6 +69,8 @@ $(call Package/util-linux/Default)
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
ABI_VERSION:=1
|
||||
LICENSE:=LGPL-2.1-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.LGPL-2.1-or-later
|
||||
endef
|
||||
|
||||
define Package/libmount/description
|
||||
@ -86,6 +84,8 @@ $(call Package/util-linux/Default)
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
ABI_VERSION:=1
|
||||
LICENSE:=BSD-3-Clause
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.BSD-3-Clause
|
||||
endef
|
||||
|
||||
define Package/libuuid/description
|
||||
@ -101,6 +101,8 @@ $(call Package/util-linux/Default)
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
ABI_VERSION:=1
|
||||
LICENSE:=LGPL-2.1-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.LGPL-2.1-or-later
|
||||
endef
|
||||
|
||||
define Package/libsmartcols/description
|
||||
@ -111,6 +113,7 @@ define Package/agetty
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=alternative Linux getty
|
||||
SUBMENU=Terminal
|
||||
LICENSE:=Public-Domain
|
||||
endef
|
||||
|
||||
define Package/agetty/description
|
||||
@ -123,6 +126,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=discard sectors on a device
|
||||
SUBMENU=Disc
|
||||
DEPENDS:=libblkid
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/blkdiscard/description
|
||||
@ -136,6 +141,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=locate and print block device attributes
|
||||
DEPENDS:= +libblkid +libuuid
|
||||
SUBMENU=Disc
|
||||
LICENSE:=LGPL-2.1-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.LGPL-2.1-or-later
|
||||
endef
|
||||
|
||||
define Package/blkid/description
|
||||
@ -147,6 +154,8 @@ define Package/blockdev
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=call block device ioctls from the command line
|
||||
SUBMENU=Disc
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/blockdev/description
|
||||
@ -157,6 +166,8 @@ define Package/cal
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=display a calendar
|
||||
DEPENDS:= +libncurses
|
||||
LICENSE=BSD-4-Clause-UC
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.BSD-4-Clause-UC
|
||||
endef
|
||||
|
||||
define Package/cal/description
|
||||
@ -168,6 +179,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=display or manipulate disk partition table
|
||||
DEPENDS:= +libblkid +libncurses +libsmartcols +libfdisk +libmount
|
||||
SUBMENU:=Disc
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/cfdisk/description
|
||||
@ -178,6 +191,8 @@ define Package/colrm
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=colrm removes selected columns from a file
|
||||
DEPENDS:=
|
||||
LICENSE=BSD-4-Clause-UC
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.BSD-4-Clause-UC
|
||||
endef
|
||||
|
||||
define Package/colrm/description
|
||||
@ -189,6 +204,8 @@ define Package/dmesg
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=print or control the kernel ring buffer
|
||||
DEPENDS:= +libncursesw
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/dmesg/description
|
||||
@ -200,6 +217,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=eject removable media
|
||||
DEPENDS:= +libblkid +libmount +libuuid
|
||||
SUBMENU=Disc
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/eject/description
|
||||
@ -212,6 +231,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=manipulate disk partition table
|
||||
DEPENDS:= +libblkid +libsmartcols +libfdisk +libncursesw
|
||||
SUBMENU=Disc
|
||||
LICENSE:=GPL-1.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-1.0-or-later
|
||||
endef
|
||||
|
||||
define Package/fdisk/description
|
||||
@ -223,6 +244,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=find a filesystem by label or UUID
|
||||
DEPENDS:= +libblkid
|
||||
SUBMENU=Disc
|
||||
LICENSE:=GPL-1.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-1.0-or-later
|
||||
endef
|
||||
|
||||
define Package/findfs/description
|
||||
@ -234,6 +257,8 @@ define Package/flock
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=manage locks from shell scripts
|
||||
ALTERNATIVES:=200:/usr/bin/flock:/usr/bin/util-linux-flock
|
||||
LICENSE:=MIT
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.MIT
|
||||
endef
|
||||
|
||||
define Package/flock/description
|
||||
@ -245,6 +270,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=discard unused blocks on a mounted filesystem
|
||||
DEPENDS:= +libblkid +libuuid +libsmartcols +libmount
|
||||
SUBMENU=Filesystem
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/fstrim/description
|
||||
@ -256,6 +283,8 @@ endef
|
||||
define Package/getopt
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=parse command options (enhanced)
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/getopt/description
|
||||
@ -266,6 +295,8 @@ endef
|
||||
define Package/hwclock
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=query or set the hardware clock
|
||||
LICENSE:=GPL-3.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-3.0-or-later
|
||||
endef
|
||||
|
||||
define Package/hwclock/description
|
||||
@ -275,6 +306,8 @@ endef
|
||||
define Package/ipcs
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=show information on IPC facilities
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/ipcs/description
|
||||
@ -288,6 +321,8 @@ define Package/logger
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=a shell command interface to the syslog system log module
|
||||
ALTERNATIVES:=200:/usr/bin/logger:/usr/bin/util-linux-logger
|
||||
LICENSE=BSD-4-Clause-UC
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.BSD-4-Clause-UC
|
||||
endef
|
||||
|
||||
define Package/logger/description
|
||||
@ -298,6 +333,8 @@ endef
|
||||
define Package/look
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=display lines beginning with a given string
|
||||
LICENSE=BSD-4-Clause-UC
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.BSD-4-Clause-UC
|
||||
endef
|
||||
|
||||
define Package/look/description
|
||||
@ -308,6 +345,8 @@ define Package/losetup
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=set up and control loop devices
|
||||
DEPENDS:= +libsmartcols
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/losetup/description
|
||||
@ -320,6 +359,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=list block devices
|
||||
DEPENDS:= +libblkid +libmount +libsmartcols +libncurses
|
||||
SUBMENU=Disc
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/lsblk/description
|
||||
@ -330,6 +371,8 @@ define Package/lscpu
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=display information about the CPU architecture
|
||||
DEPENDS:= +libsmartcols
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/lscpu/description
|
||||
@ -340,6 +383,8 @@ define Package/lslocks
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=list local system locks
|
||||
DEPENDS:= +libmount +libsmartcols
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/lslocks/description
|
||||
@ -350,6 +395,8 @@ define Package/lsns
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=list system namespaces
|
||||
DEPENDS:= +libblkid +libmount +libsmartcols
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/lsns/description
|
||||
@ -360,6 +407,7 @@ define Package/more
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=filter for paging through text one screenful at a time
|
||||
DEPENDS:= +libncurses
|
||||
LICENSE:=BSD-4.3TAHOE
|
||||
endef
|
||||
|
||||
define Package/more/description
|
||||
@ -369,6 +417,7 @@ endef
|
||||
define Package/mcookie
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=generate magic cookies for xauth
|
||||
LICENSE:=Public-Domain
|
||||
endef
|
||||
|
||||
define Package/mcookie/description
|
||||
@ -380,6 +429,8 @@ define Package/mount-utils
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=related (u)mount utilities
|
||||
DEPENDS+= +libmount +libsmartcols
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/mount-utils/description
|
||||
@ -389,6 +440,8 @@ endef
|
||||
define Package/namei
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=follow a pathname until a terminal point is found
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/namei/description
|
||||
@ -399,6 +452,8 @@ endef
|
||||
define Package/nsenter
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=enter a namespace
|
||||
LICENSE:=GPL-2.0-only
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-only
|
||||
endef
|
||||
|
||||
define Package/nsenter/description
|
||||
@ -409,6 +464,8 @@ define Package/prlimit
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=get and set process resource limits
|
||||
DEPENDS:= +libsmartcols
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/prlimit/description
|
||||
@ -419,6 +476,8 @@ endef
|
||||
define Package/rename
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=rename files
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/rename/description
|
||||
@ -429,6 +488,8 @@ endef
|
||||
define Package/rev
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=Reverse lines characterwise
|
||||
LICENSE=BSD-4-Clause-UC
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.BSD-4-Clause-UC
|
||||
endef
|
||||
|
||||
define Package/rev/description
|
||||
@ -442,6 +503,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=inform kernel about the presence and numbering of on-disk partitions
|
||||
DEPENDS:= +libblkid +libsmartcols
|
||||
SUBMENU=Disc
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/partx-utils/description
|
||||
@ -452,6 +515,8 @@ define Package/script-utils
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=make and replay typescript of terminal session
|
||||
SUBMENU=Terminal
|
||||
LICENSE=BSD-4-Clause-UC
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.BSD-4-Clause-UC
|
||||
endef
|
||||
|
||||
define Package/script-utils/description
|
||||
@ -463,6 +528,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=set terminal attributes
|
||||
DEPENDS:= +libncurses
|
||||
SUBMENU:=Terminal
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/setterm/description
|
||||
@ -475,6 +542,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=partition table manipulator for Linux
|
||||
SUBMENU=Disc
|
||||
DEPENDS:= +libblkid +libfdisk +libsmartcols +libncursesw
|
||||
LICENSE:=GPL-1.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-1.0-or-later
|
||||
endef
|
||||
|
||||
define Package/sfdisk/description
|
||||
@ -487,6 +556,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=swap space management utilities
|
||||
DEPENDS+= +libblkid
|
||||
SUBMENU:=Filesystem
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/swap-utils/description
|
||||
@ -497,6 +568,8 @@ define Package/taskset
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=set or retrieve a process's CPU affinity
|
||||
ALTERNATIVES:=200:/usr/bin/taskset:/usr/bin/util-linux-taskset
|
||||
LICENSE:=GPL-2.0-only
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-only
|
||||
endef
|
||||
|
||||
define Package/taskset/description
|
||||
@ -506,6 +579,8 @@ endef
|
||||
define Package/unshare
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=unshare userspace tool
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/unshare/description
|
||||
@ -516,6 +591,8 @@ define Package/uuidd
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=UUID generation daemon
|
||||
DEPENDS:= +libuuid
|
||||
LICENSE:=GPL-1.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-1.0-or-later
|
||||
endef
|
||||
|
||||
define Package/uuidd/description
|
||||
@ -529,6 +606,8 @@ define Package/uuidgen
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=create a new UUID value
|
||||
DEPENDS:= +libuuid
|
||||
LICENSE:=GPL-1.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-1.0-or-later
|
||||
endef
|
||||
|
||||
define Package/uuidgen/description
|
||||
@ -542,6 +621,8 @@ define Package/wall
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=send a message to everybody's terminal
|
||||
SUBMENU=Terminal
|
||||
LICENSE=BSD-4-Clause-UC
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.BSD-4-Clause-UC
|
||||
endef
|
||||
|
||||
define Package/wall/description
|
||||
@ -553,6 +634,8 @@ define Package/wdctl
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=show hardware watchdog status
|
||||
DEPENDS:= +libsmartcols
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/wdctl/description
|
||||
@ -567,6 +650,8 @@ endef
|
||||
define Package/whereis
|
||||
$(call Package/util-linux/Default)
|
||||
TITLE:=locate the binary, source, and manual page files for a command
|
||||
LICENSE=BSD-4-Clause-UC
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.BSD-4-Clause-UC
|
||||
endef
|
||||
|
||||
define Package/whereis/description
|
||||
@ -578,6 +663,8 @@ $(call Package/util-linux/Default)
|
||||
TITLE:=wipe a signature from a device
|
||||
DEPENDS:= +libblkid +libsmartcols
|
||||
SUBMENU:=Disc
|
||||
LICENSE:=GPL-2.0-or-later
|
||||
LICENSE_FILES:=Documentation/licenses/COPYING.GPL-2.0-or-later
|
||||
endef
|
||||
|
||||
define Package/wipefs/description
|
||||
|
||||
@ -154,6 +154,11 @@ test_feature() {
|
||||
find_libs() {
|
||||
local spec="$(echo "$LIB_SPECS" | sed -ne "s#^[[:space:]]*$1:##ip")"
|
||||
|
||||
# glibc doesn't have libcrypt since 2.39
|
||||
if [ "$LIBC_TYPE" = "glibc" ]; then
|
||||
spec=$(printf '%s' "${spec}" | sed 's/,crypt,//')
|
||||
fi
|
||||
|
||||
if [ -n "$spec" ] && probe_cpp; then
|
||||
local libdir libdirs
|
||||
for libdir in $(
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2585,6 +2585,11 @@ mt7531_setup_common(struct dsa_switch *d
|
||||
@@ -2588,6 +2588,11 @@ mt7531_setup_common(struct dsa_switch *d
|
||||
/* Allow mirroring frames received on the local port (monitor port). */
|
||||
mt7530_set(priv, MT753X_AGC, LOCAL_EN);
|
||||
|
||||
|
||||
@ -85,7 +85,6 @@ CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
# CONFIG_COMPAT_32BIT_TIME is not set
|
||||
# CONFIG_COMPRESSED_INSTALL is not set
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_CPU_IDLE_GOV_LADDER=y
|
||||
|
||||
@ -1,29 +1,14 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
#include "qca955x.dtsi"
|
||||
#include "qca9550_dell_apl2x.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Dell SonicPoint ACe (APL26-0AE)";
|
||||
compatible = "dell,apl26-0ae", "qca,qca9550", "qca,qca9558";
|
||||
|
||||
aliases {
|
||||
label-mac-device = ð0;
|
||||
led-boot = &led_wrench;
|
||||
led-failsafe = &led_wrench;
|
||||
led-upgrade = &led_wrench;
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
button-reset {
|
||||
label = "reset";
|
||||
gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
|
||||
/* Accessible only after disassembling the casing */
|
||||
@ -35,109 +20,38 @@
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&jtag_disable_pins>;
|
||||
|
||||
led-lan1-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan1-green {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan2-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan2-green {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-wlan2g {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
linux,default-trigger = "phy1tpt";
|
||||
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-wlan5g {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_wrench: led-wrench {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
led-wrench {
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_sysinfo_50 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
phy-handle = <&phy0>;
|
||||
pll-data = <0xa6000000 0x00000101 0x00001616>;
|
||||
};
|
||||
|
||||
ð1 {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_sysinfo_50 1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
pll-data = <0x03000101 0x00000101 0x00001616>;
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
|
||||
qca,ar8327-initvals = <
|
||||
0x04 0x07680000 /* PORT0 PAD MODE CTRL */
|
||||
0x0c 0x00000080 /* PORT6 PAD MODE CTRL */
|
||||
0x10 0x40000000 /* POWER_ON_STRAP */
|
||||
0x50 0xffb7c405 /* LED0 CTRL */
|
||||
0x54 0xffb7c305 /* LED1 CTRL */
|
||||
0x58 0xffb7c033 /* LED2 CTRL */
|
||||
0x5c 0x03ffff00 /* LED3 CTRL */
|
||||
0x7c 0x0000007e /* PORT0_STATUS */
|
||||
0x94 0x0000007e /* PORT6_STATUS */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
wifi@0,0 {
|
||||
compatible = "qcom,ath10k";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
|
||||
/* OEM overwrites EEPROM stored adress and so do we */
|
||||
nvmem-cells = <&macaddr_sysinfo_50 2>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
@ -145,84 +59,7 @@
|
||||
};
|
||||
|
||||
&spi {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <25000000>;
|
||||
broken-flash-reset;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0000000 0x0080000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0x0080000 0x0040000>;
|
||||
};
|
||||
|
||||
partition@c0000 {
|
||||
label = "sysinfo";
|
||||
reg = <0x00c0000 0x0040000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_sysinfo_50: macaddr@50 {
|
||||
compatible = "mac-base";
|
||||
reg = <0x50 0x6>;
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "art";
|
||||
reg = <0x0100000 0x0010000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
cal_art_1000: calibration@1000 {
|
||||
reg = <0x1000 0x440>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@110000 {
|
||||
label = "firmware";
|
||||
reg = <0x0110000 0x1ef0000>;
|
||||
compatible = "denx,uimage";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usb_phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wmac {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_sysinfo_50 10>, <&cal_art_1000>;
|
||||
nvmem-cell-names = "mac-address", "calibration";
|
||||
};
|
||||
|
||||
78
target/linux/ath79/dts/qca9550_dell_apl27-0b1.dts
Normal file
78
target/linux/ath79/dts/qca9550_dell_apl27-0b1.dts
Normal file
@ -0,0 +1,78 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include "qca9550_dell_apl2x.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Dell SonicPoint ACi (APL27-0B1)";
|
||||
compatible = "dell,apl27-0b1", "qca,qca9550", "qca,qca9558";
|
||||
|
||||
keys {
|
||||
button-reset {
|
||||
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
led-lan1-amber {
|
||||
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan1-green {
|
||||
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan2-amber {
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan2-green {
|
||||
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-wlan2g {
|
||||
gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-wlan5g {
|
||||
gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-wrench {
|
||||
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
reg_usb_vbus: regulator-usb-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
output-usb-vbus {
|
||||
compatible = "regulator-output";
|
||||
vout-supply = <®_usb_vbus>;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
wifi@0,0 {
|
||||
nvmem-cells = <&macaddr_sysinfo_50 2>, <&cal_art_5000>;
|
||||
nvmem-cell-names = "mac-address", "calibration";
|
||||
};
|
||||
};
|
||||
|
||||
&spi {
|
||||
flash@0 {
|
||||
partitions {
|
||||
partition@100000 {
|
||||
nvmem-layout {
|
||||
cal_art_5000: calibration@5000 {
|
||||
reg = <0x5000 0x844>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
207
target/linux/ath79/dts/qca9550_dell_apl2x.dtsi
Normal file
207
target/linux/ath79/dts/qca9550_dell_apl2x.dtsi
Normal file
@ -0,0 +1,207 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
#include "qca955x.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
label-mac-device = ð0;
|
||||
led-boot = &led_wrench;
|
||||
led-failsafe = &led_wrench;
|
||||
led-upgrade = &led_wrench;
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
button-reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&jtag_disable_pins>;
|
||||
|
||||
led-lan1-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
};
|
||||
|
||||
led-lan1-green {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
};
|
||||
|
||||
led-lan2-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
};
|
||||
|
||||
led-lan2-green {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
};
|
||||
|
||||
led-wlan2g {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
linux,default-trigger = "phy1tpt";
|
||||
};
|
||||
|
||||
led-wlan5g {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_5GHZ;
|
||||
linux,default-trigger = "phy0tpt";
|
||||
};
|
||||
|
||||
led_wrench: led-wrench {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_sysinfo_50 0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
phy-handle = <&phy0>;
|
||||
pll-data = <0xa6000000 0x00000101 0x00001616>;
|
||||
};
|
||||
|
||||
ð1 {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_sysinfo_50 1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
pll-data = <0x03000101 0x00000101 0x00001616>;
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
|
||||
qca,ar8327-initvals = <
|
||||
0x04 0x07680000 /* PORT0 PAD MODE CTRL */
|
||||
0x0c 0x00000080 /* PORT6 PAD MODE CTRL */
|
||||
0x10 0x40000000 /* POWER_ON_STRAP */
|
||||
0x50 0xffb7c405 /* LED0 CTRL */
|
||||
0x54 0xffb7c305 /* LED1 CTRL */
|
||||
0x58 0xffb7c033 /* LED2 CTRL */
|
||||
0x5c 0x03ffff00 /* LED3 CTRL */
|
||||
0x7c 0x0000007e /* PORT0_STATUS */
|
||||
0x94 0x0000007e /* PORT6_STATUS */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
|
||||
wifi@0,0 {
|
||||
compatible = "qcom,ath10k";
|
||||
reg = <0x0000 0 0 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&spi {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <25000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0000000 0x0080000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0x0080000 0x0040000>;
|
||||
};
|
||||
|
||||
partition@c0000 {
|
||||
label = "sysinfo";
|
||||
reg = <0x00c0000 0x0040000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_sysinfo_50: macaddr@50 {
|
||||
compatible = "mac-base";
|
||||
reg = <0x50 0x6>;
|
||||
#nvmem-cell-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "art";
|
||||
reg = <0x0100000 0x0010000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
cal_art_1000: calibration@1000 {
|
||||
reg = <0x1000 0x440>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@110000 {
|
||||
label = "firmware";
|
||||
reg = <0x0110000 0x1ef0000>;
|
||||
compatible = "denx,uimage";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usb_phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wmac {
|
||||
status = "okay";
|
||||
|
||||
nvmem-cells = <&macaddr_sysinfo_50 10>, <&cal_art_1000>;
|
||||
nvmem-cell-names = "mac-address", "calibration";
|
||||
};
|
||||
@ -192,6 +192,14 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_phy1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -234,7 +234,8 @@ compex,wpj531-16m)
|
||||
ucidef_set_led_rssi "sig3" "SIG3" "green:sig3" "wlan0" "65" "100"
|
||||
ucidef_set_led_rssi "sig4" "SIG4" "green:sig4" "wlan0" "50" "100"
|
||||
;;
|
||||
dell,apl26-0ae)
|
||||
dell,apl26-0ae|\
|
||||
dell,apl27-0b1)
|
||||
ucidef_set_led_switch "lan1" "LAN1" "amber:lan-1" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "amber:lan-2" "switch0" "0x08"
|
||||
;;
|
||||
|
||||
@ -298,7 +298,8 @@ ath79_setup_interfaces()
|
||||
ucidef_add_switch "switch0" \
|
||||
"1:wan" "5:lan" "6@eth0"
|
||||
;;
|
||||
dell,apl26-0ae)
|
||||
dell,apl26-0ae|\
|
||||
dell,apl27-0b1)
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan:1" "3:lan:2" "6@eth1"
|
||||
;;
|
||||
|
||||
@ -979,22 +979,34 @@ define Device/compex_wpj563
|
||||
endef
|
||||
TARGET_DEVICES += compex_wpj563
|
||||
|
||||
define Device/dell_apl26-0ae
|
||||
define Device/dell_apl2x
|
||||
SOC := qca9550
|
||||
DEVICE_VENDOR := Dell
|
||||
DEVICE_MODEL := SonicPoint
|
||||
DEVICE_VARIANT := ACe (APL26-0AE)
|
||||
DEVICE_ALT0_VENDOR := SonicWall
|
||||
DEVICE_ALT0_MODEL := SonicPoint
|
||||
DEVICE_ALT0_VARIANT := ACe (APL26-0AE)
|
||||
DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
|
||||
KERNEL_SIZE := 5952k
|
||||
IMAGE_SIZE := 31680k
|
||||
IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
|
||||
append-rootfs | pad-rootfs | check-size | append-metadata
|
||||
endef
|
||||
|
||||
define Device/dell_apl26-0ae
|
||||
$(Device/dell_apl2x)
|
||||
DEVICE_VARIANT := ACe (APL26-0AE)
|
||||
DEVICE_ALT0_VARIANT := ACe (APL26-0AE)
|
||||
endef
|
||||
TARGET_DEVICES += dell_apl26-0ae
|
||||
|
||||
define Device/dell_apl27-0b1
|
||||
$(Device/dell_apl2x)
|
||||
DEVICE_VARIANT := ACi (APL27-0B1)
|
||||
DEVICE_ALT0_VARIANT := ACi (APL27-0B1)
|
||||
DEVICE_PACKAGES += kmod-regulator-userspace-consumer
|
||||
endef
|
||||
TARGET_DEVICES += dell_apl27-0b1
|
||||
|
||||
define Device/devolo_dlan-pro-1200plus-ac
|
||||
SOC := ar9344
|
||||
DEVICE_VENDOR := devolo
|
||||
|
||||
@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -429,6 +429,7 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -454,6 +454,7 @@ static void xhci_pci_quirks(struct devic
|
||||
if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == PCI_DEVICE_ID_VIA_VL805) {
|
||||
xhci->quirks |= XHCI_LPM_SUPPORT;
|
||||
xhci->quirks |= XHCI_TRB_OVERFETCH;
|
||||
@ -41,7 +41,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -638,8 +638,11 @@ static int xhci_move_dequeue_past_td(str
|
||||
@@ -637,8 +637,11 @@ static int xhci_move_dequeue_past_td(str
|
||||
struct xhci_ring *ep_ring;
|
||||
struct xhci_command *cmd;
|
||||
struct xhci_segment *new_seg;
|
||||
@ -53,7 +53,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
dma_addr_t addr;
|
||||
u64 hw_dequeue;
|
||||
bool cycle_found = false;
|
||||
@@ -658,7 +661,25 @@ static int xhci_move_dequeue_past_td(str
|
||||
@@ -657,7 +660,25 @@ static int xhci_move_dequeue_past_td(str
|
||||
hw_dequeue = xhci_get_hw_deq(xhci, dev, ep_index, stream_id);
|
||||
new_seg = ep_ring->deq_seg;
|
||||
new_deq = ep_ring->dequeue;
|
||||
|
||||
@ -1248,7 +1248,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
}
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5754,7 +5754,7 @@ static void port_event(struct usb_hub *h
|
||||
@@ -5757,7 +5757,7 @@ static void port_event(struct usb_hub *h
|
||||
port_dev->over_current_count++;
|
||||
port_over_current_notify(port_dev);
|
||||
|
||||
|
||||
@ -344,7 +344,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
}
|
||||
--- a/drivers/mmc/core/quirks.h
|
||||
+++ b/drivers/mmc/core/quirks.h
|
||||
@@ -153,6 +153,14 @@ static const struct mmc_fixup __maybe_un
|
||||
@@ -50,6 +50,14 @@ static const struct mmc_fixup __maybe_un
|
||||
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
|
||||
MMC_QUIRK_BROKEN_SD_DISCARD),
|
||||
|
||||
@ -1991,7 +1991,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
#define MAX_TUNING_LOOP 40
|
||||
|
||||
@@ -3199,7 +3199,7 @@ static void sdhci_timeout_timer(struct t
|
||||
@@ -3194,7 +3194,7 @@ static void sdhci_timeout_timer(struct t
|
||||
spin_lock_irqsave(&host->lock, flags);
|
||||
|
||||
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
|
||||
@ -2000,7 +2000,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
mmc_hostname(host->mmc));
|
||||
sdhci_err_stats_inc(host, REQ_TIMEOUT);
|
||||
sdhci_dumpregs(host);
|
||||
@@ -3222,7 +3222,7 @@ static void sdhci_timeout_data_timer(str
|
||||
@@ -3217,7 +3217,7 @@ static void sdhci_timeout_data_timer(str
|
||||
|
||||
if (host->data || host->data_cmd ||
|
||||
(host->cmd && sdhci_data_line_cmd(host->cmd))) {
|
||||
|
||||
@ -18626,7 +18626,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
|
||||
* For devices with more than one control interface, we assume the
|
||||
--- a/sound/usb/quirks.c
|
||||
+++ b/sound/usb/quirks.c
|
||||
@@ -2358,6 +2358,8 @@ static const struct usb_audio_quirk_flag
|
||||
@@ -2360,6 +2360,8 @@ static const struct usb_audio_quirk_flag
|
||||
QUIRK_FLAG_ALIGN_TRANSFER),
|
||||
DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
|
||||
QUIRK_FLAG_ALIGN_TRANSFER),
|
||||
|
||||
@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447
|
||||
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
|
||||
{
|
||||
u32 *buf;
|
||||
@@ -4430,7 +4435,13 @@ static int lan78xx_probe(struct usb_inte
|
||||
@@ -4428,7 +4433,13 @@ static int lan78xx_probe(struct usb_inte
|
||||
if (ret < 0)
|
||||
goto out4;
|
||||
|
||||
|
||||
@ -70,7 +70,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
* @dev: the device whose endpoint is being disabled
|
||||
--- a/include/linux/usb.h
|
||||
+++ b/include/linux/usb.h
|
||||
@@ -1873,6 +1873,8 @@ extern int usb_clear_halt(struct usb_dev
|
||||
@@ -1875,6 +1875,8 @@ extern int usb_clear_halt(struct usb_dev
|
||||
extern int usb_reset_configuration(struct usb_device *dev);
|
||||
extern int usb_set_interface(struct usb_device *dev, int ifnum, int alternate);
|
||||
extern void usb_reset_endpoint(struct usb_device *dev, unsigned int epaddr);
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1538,6 +1538,109 @@ static int xhci_check_ep0_maxpacket(stru
|
||||
@@ -1517,6 +1517,109 @@ static int xhci_check_ep0_maxpacket(stru
|
||||
}
|
||||
|
||||
/*
|
||||
@ -124,7 +124,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
* non-error returns are a promise to giveback() the urb later
|
||||
* we drop ownership so next owner (or urb unlink) can get it
|
||||
*/
|
||||
@@ -5402,6 +5505,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5381,6 +5484,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.endpoint_reset = xhci_endpoint_reset,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -720,9 +720,9 @@ static int xhci_move_dequeue_past_td(str
|
||||
@@ -719,9 +719,9 @@ static int xhci_move_dequeue_past_td(str
|
||||
}
|
||||
|
||||
if ((ep->ep_state & SET_DEQ_PENDING)) {
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1627,7 +1627,7 @@ static void xhci_fixup_endpoint(struct u
|
||||
@@ -1606,7 +1606,7 @@ static void xhci_fixup_endpoint(struct u
|
||||
return;
|
||||
}
|
||||
ctrl_ctx->add_flags = xhci_get_endpoint_flag_from_index(ep_index);
|
||||
|
||||
@ -70,7 +70,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||
|
||||
--- a/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
@@ -113,6 +113,12 @@ struct v3d_dev {
|
||||
@@ -121,6 +121,12 @@ struct v3d_dev {
|
||||
void __iomem *bridge_regs;
|
||||
void __iomem *gca_regs;
|
||||
struct clk *clk;
|
||||
@ -83,7 +83,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||
struct reset_control *reset;
|
||||
|
||||
/* Virtual and DMA addresses of the single shared page table. */
|
||||
@@ -589,3 +595,4 @@ int v3d_perfmon_get_counter_ioctl(struct
|
||||
@@ -597,3 +603,4 @@ int v3d_perfmon_get_counter_ioctl(struct
|
||||
/* v3d_sysfs.c */
|
||||
int v3d_sysfs_init(struct device *dev);
|
||||
void v3d_sysfs_destroy(struct device *dev);
|
||||
@ -98,7 +98,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||
#include <linux/module.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/reset.h>
|
||||
@@ -269,6 +270,8 @@ v3d_gem_init(struct drm_device *dev)
|
||||
@@ -271,6 +272,8 @@ v3d_gem_init(struct drm_device *dev)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/net/bluetooth/hci_sync.c
|
||||
+++ b/net/bluetooth/hci_sync.c
|
||||
@@ -4877,6 +4877,7 @@ static const struct {
|
||||
@@ -4921,6 +4921,7 @@ static const struct {
|
||||
*/
|
||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||
{
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
int ret = 0;
|
||||
bool invalid_bdaddr;
|
||||
size_t i;
|
||||
@@ -4905,7 +4906,8 @@ static int hci_dev_setup_sync(struct hci
|
||||
@@ -4949,7 +4950,8 @@ static int hci_dev_setup_sync(struct hci
|
||||
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
|
||||
if (!ret) {
|
||||
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
|
||||
|
||||
@ -24,7 +24,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -430,6 +430,7 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -455,6 +455,7 @@ static void xhci_pci_quirks(struct devic
|
||||
xhci->quirks |= XHCI_LPM_SUPPORT;
|
||||
xhci->quirks |= XHCI_TRB_OVERFETCH;
|
||||
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -711,6 +711,16 @@ static int xhci_move_dequeue_past_td(str
|
||||
@@ -710,6 +710,16 @@ static int xhci_move_dequeue_past_td(str
|
||||
|
||||
} while (!cycle_found || !td_last_trb_found);
|
||||
|
||||
@ -53,9 +53,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (addr == 0) {
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1627,6 +1627,9 @@ struct xhci_hcd {
|
||||
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
|
||||
@@ -1628,6 +1628,9 @@ struct xhci_hcd {
|
||||
#define XHCI_ETRON_HOST BIT_ULL(49)
|
||||
#define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(50)
|
||||
|
||||
+/* Downstream VLI fixes */
|
||||
+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
|
||||
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
ep_index = xhci_get_endpoint_index(&ep->desc);
|
||||
ep_ctx = xhci_get_ep_ctx(xhci, virt_dev->in_ctx, ep_index);
|
||||
@@ -1435,9 +1438,35 @@ int xhci_endpoint_init(struct xhci_hcd *
|
||||
@@ -1439,9 +1442,35 @@ int xhci_endpoint_init(struct xhci_hcd *
|
||||
|
||||
mult = xhci_get_endpoint_mult(udev, ep);
|
||||
max_packet = usb_endpoint_maxp(&ep->desc);
|
||||
@ -90,7 +90,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/* Allow 3 retries for everything but isoc, set CErr = 3 */
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -431,6 +431,7 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -456,6 +456,7 @@ static void xhci_pci_quirks(struct devic
|
||||
xhci->quirks |= XHCI_TRB_OVERFETCH;
|
||||
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
||||
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
|
||||
@ -100,7 +100,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1629,6 +1629,7 @@ struct xhci_hcd {
|
||||
@@ -1630,6 +1630,7 @@ struct xhci_hcd {
|
||||
|
||||
/* Downstream VLI fixes */
|
||||
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
|
||||
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/* Device for a quirk */
|
||||
#define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73
|
||||
#define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000
|
||||
@@ -244,6 +246,16 @@ static int xhci_pci_reinit(struct xhci_h
|
||||
@@ -254,6 +256,16 @@ static int xhci_pci_reinit(struct xhci_h
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -64,7 +64,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
||||
{
|
||||
struct pci_dev *pdev = to_pci_dev(dev);
|
||||
@@ -432,6 +444,8 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -457,6 +469,8 @@ static void xhci_pci_quirks(struct devic
|
||||
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
||||
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
|
||||
xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
|
||||
@ -75,7 +75,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -3657,6 +3657,48 @@ static int xhci_align_td(struct xhci_hcd
|
||||
@@ -3656,6 +3656,48 @@ static int xhci_align_td(struct xhci_hcd
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -124,7 +124,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
/* This is very similar to what ehci-q.c qtd_fill() does */
|
||||
int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
|
||||
struct urb *urb, int slot_id, unsigned int ep_index)
|
||||
@@ -3811,6 +3853,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3810,6 +3852,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
}
|
||||
|
||||
check_trb_math(urb, enqd_len);
|
||||
@ -133,7 +133,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
giveback_first_trb(xhci, slot_id, ep_index, urb->stream_id,
|
||||
start_cycle, start_trb);
|
||||
return 0;
|
||||
@@ -3959,6 +4003,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
|
||||
@@ -3958,6 +4002,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
|
||||
/* Event on completion */
|
||||
field | TRB_IOC | TRB_TYPE(TRB_STATUS) | ep_ring->cycle_state);
|
||||
|
||||
@ -144,7 +144,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
return 0;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1630,6 +1630,7 @@ struct xhci_hcd {
|
||||
@@ -1631,6 +1631,7 @@ struct xhci_hcd {
|
||||
/* Downstream VLI fixes */
|
||||
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
|
||||
#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(57)
|
||||
|
||||
@ -27,7 +27,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
|
||||
.postinit = dwcmshc_rk35xx_postinit,
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -3037,6 +3037,15 @@ static void sdhci_card_event(struct mmc_
|
||||
@@ -3032,6 +3032,15 @@ static void sdhci_card_event(struct mmc_
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
|
||||
static const struct mmc_host_ops sdhci_ops = {
|
||||
.request = sdhci_request,
|
||||
.post_req = sdhci_post_req,
|
||||
@@ -3052,6 +3061,7 @@ static const struct mmc_host_ops sdhci_o
|
||||
@@ -3047,6 +3056,7 @@ static const struct mmc_host_ops sdhci_o
|
||||
.execute_tuning = sdhci_execute_tuning,
|
||||
.card_event = sdhci_card_event,
|
||||
.card_busy = sdhci_card_busy,
|
||||
@ -51,7 +51,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR
|
||||
};
|
||||
|
||||
/*****************************************************************************\
|
||||
@@ -4570,6 +4580,15 @@ int sdhci_setup_host(struct sdhci_host *
|
||||
@@ -4565,6 +4575,15 @@ int sdhci_setup_host(struct sdhci_host *
|
||||
!(host->quirks2 & SDHCI_QUIRK2_BROKEN_DDR50))
|
||||
mmc->caps |= MMC_CAP_UHS_DDR50;
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
regmap_update_bits(dev->map, DW_IC_CON, DW_IC_CON_10BITADDR_MASTER,
|
||||
ic_con);
|
||||
|
||||
@@ -456,6 +460,14 @@ i2c_dw_xfer_msg(struct dw_i2c_dev *dev)
|
||||
@@ -457,6 +461,14 @@ i2c_dw_xfer_msg(struct dw_i2c_dev *dev)
|
||||
regmap_read(dev->map, DW_IC_RXFLR, &flr);
|
||||
rx_limit = dev->rx_fifo_depth - flr;
|
||||
|
||||
@ -55,7 +55,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
while (buf_len > 0 && tx_limit > 0 && rx_limit > 0) {
|
||||
u32 cmd = 0;
|
||||
|
||||
@@ -894,14 +906,15 @@ static const struct i2c_algorithm i2c_dw
|
||||
@@ -895,14 +907,15 @@ static const struct i2c_algorithm i2c_dw
|
||||
};
|
||||
|
||||
static const struct i2c_adapter_quirks i2c_dw_quirks = {
|
||||
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND);
|
||||
|
||||
return true;
|
||||
@@ -3296,6 +3302,11 @@ static void sdhci_cmd_irq(struct sdhci_h
|
||||
@@ -3291,6 +3297,11 @@ static void sdhci_cmd_irq(struct sdhci_h
|
||||
if (intmask & SDHCI_INT_TIMEOUT) {
|
||||
host->cmd->error = -ETIMEDOUT;
|
||||
sdhci_err_stats_inc(host, CMD_TIMEOUT);
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
BUG_ON(data->blksz > host->mmc->max_blk_size);
|
||||
BUG_ON(data->blocks > 65535);
|
||||
|
||||
@@ -4714,11 +4714,16 @@ int sdhci_setup_host(struct sdhci_host *
|
||||
@@ -4709,11 +4709,16 @@ int sdhci_setup_host(struct sdhci_host *
|
||||
spin_lock_init(&host->lock);
|
||||
|
||||
/*
|
||||
|
||||
@ -30,9 +30,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
#define CID_MANFID_KINGSTON 0x70
|
||||
--- a/drivers/mmc/core/quirks.h
|
||||
+++ b/drivers/mmc/core/quirks.h
|
||||
@@ -44,6 +44,14 @@ static const struct mmc_fixup __maybe_un
|
||||
0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
|
||||
MMC_QUIRK_NO_UHS_DDR50_TUNING, EXT_CSD_REV_ANY),
|
||||
@@ -58,6 +58,14 @@ static const struct mmc_fixup __maybe_un
|
||||
MMC_FIXUP("SD32G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
|
||||
MMC_FIXUP("SD64G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
|
||||
|
||||
+ /*
|
||||
+ * Samsung Pro Plus/EVO Plus/Pro Ultimate SD cards (2023) claim to cache
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/mmc/core/quirks.h
|
||||
+++ b/drivers/mmc/core/quirks.h
|
||||
@@ -52,6 +52,18 @@ static const struct mmc_fixup __maybe_un
|
||||
@@ -66,6 +66,18 @@ static const struct mmc_fixup __maybe_un
|
||||
0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
|
||||
MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
|
||||
|
||||
|
||||
@ -16,8 +16,8 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
--- a/drivers/mmc/core/quirks.h
|
||||
+++ b/drivers/mmc/core/quirks.h
|
||||
@@ -181,6 +181,15 @@ static const struct mmc_fixup __maybe_un
|
||||
MMC_FIXUP("SD32G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
|
||||
MMC_FIXUP("SD64G", 0x41, 0x3432, add_quirk, MMC_QUIRK_ERASE_BROKEN),
|
||||
MMC_FIXUP("M62704", CID_MANFID_KINGSTON, 0x0100, add_quirk_mmc,
|
||||
MMC_QUIRK_TRIM_BROKEN),
|
||||
|
||||
+ /*
|
||||
+ * Larger Integral SD cards using rebranded Phison controllers trash
|
||||
|
||||
@ -134,7 +134,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
/* Write SDA hold time if supported */
|
||||
if (dev->sda_hold_time)
|
||||
regmap_write(dev->map, DW_IC_SDA_HOLD, dev->sda_hold_time);
|
||||
@@ -1033,6 +1045,7 @@ int i2c_dw_probe_master(struct dw_i2c_de
|
||||
@@ -1034,6 +1046,7 @@ int i2c_dw_probe_master(struct dw_i2c_de
|
||||
struct i2c_adapter *adap = &dev->adapter;
|
||||
unsigned long irq_flags;
|
||||
unsigned int ic_con;
|
||||
@ -142,7 +142,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
int ret;
|
||||
|
||||
init_completion(&dev->cmd_complete);
|
||||
@@ -1067,7 +1080,11 @@ int i2c_dw_probe_master(struct dw_i2c_de
|
||||
@@ -1068,7 +1081,11 @@ int i2c_dw_probe_master(struct dw_i2c_de
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/net/bluetooth/hci_sync.c
|
||||
+++ b/net/bluetooth/hci_sync.c
|
||||
@@ -4877,7 +4877,8 @@ static const struct {
|
||||
@@ -4921,7 +4921,8 @@ static const struct {
|
||||
*/
|
||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||
{
|
||||
|
||||
@ -28,7 +28,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -510,6 +510,19 @@ void xhci_ring_ep_doorbell(struct xhci_h
|
||||
@@ -509,6 +509,19 @@ void xhci_ring_ep_doorbell(struct xhci_h
|
||||
|
||||
trace_xhci_ring_ep_doorbell(slot_id, DB_VALUE(ep_index, stream_id));
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
#define END_FIXUP { NULL }
|
||||
--- a/drivers/mmc/core/quirks.h
|
||||
+++ b/drivers/mmc/core/quirks.h
|
||||
@@ -76,6 +76,12 @@ static const struct mmc_fixup __maybe_un
|
||||
@@ -90,6 +90,12 @@ static const struct mmc_fixup __maybe_un
|
||||
0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
|
||||
MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-4-mca
|
||||
|
||||
--- a/drivers/gpu/drm/v3d/v3d_gem.c
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
|
||||
@@ -294,8 +294,9 @@ v3d_gem_init(struct drm_device *dev)
|
||||
@@ -296,8 +296,9 @@ v3d_gem_init(struct drm_device *dev)
|
||||
ret = v3d_sched_init(v3d);
|
||||
if (ret) {
|
||||
drm_mm_takedown(&v3d->mm);
|
||||
|
||||
@ -39,7 +39,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-6-mca
|
||||
|
||||
--- a/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
@@ -143,6 +143,11 @@ struct v3d_dev {
|
||||
@@ -151,6 +151,11 @@ struct v3d_dev {
|
||||
struct drm_mm mm;
|
||||
spinlock_t mm_lock;
|
||||
|
||||
@ -51,7 +51,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-6-mca
|
||||
struct work_struct overflow_mem_work;
|
||||
|
||||
struct v3d_bin_job *bin_job;
|
||||
@@ -540,6 +545,10 @@ void v3d_reset(struct v3d_dev *v3d);
|
||||
@@ -548,6 +553,10 @@ void v3d_reset(struct v3d_dev *v3d);
|
||||
void v3d_invalidate_caches(struct v3d_dev *v3d);
|
||||
void v3d_clean_caches(struct v3d_dev *v3d);
|
||||
|
||||
@ -64,7 +64,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-6-mca
|
||||
void v3d_job_put(struct v3d_job *job);
|
||||
--- a/drivers/gpu/drm/v3d/v3d_gem.c
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
|
||||
@@ -291,6 +291,8 @@ v3d_gem_init(struct drm_device *dev)
|
||||
@@ -293,6 +293,8 @@ v3d_gem_init(struct drm_device *dev)
|
||||
v3d_init_hw_state(v3d);
|
||||
v3d_mmu_set_page_table(v3d);
|
||||
|
||||
@ -73,7 +73,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-6-mca
|
||||
ret = v3d_sched_init(v3d);
|
||||
if (ret) {
|
||||
drm_mm_takedown(&v3d->mm);
|
||||
@@ -308,6 +310,7 @@ v3d_gem_destroy(struct drm_device *dev)
|
||||
@@ -310,6 +312,7 @@ v3d_gem_destroy(struct drm_device *dev)
|
||||
struct v3d_dev *v3d = to_v3d_dev(dev);
|
||||
|
||||
v3d_sched_fini(v3d);
|
||||
|
||||
@ -39,7 +39,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20240923141348.2422499-11-mc
|
||||
{
|
||||
--- a/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
@@ -545,6 +545,7 @@ void v3d_invalidate_caches(struct v3d_de
|
||||
@@ -553,6 +553,7 @@ void v3d_invalidate_caches(struct v3d_de
|
||||
void v3d_clean_caches(struct v3d_dev *v3d);
|
||||
|
||||
/* v3d_gemfs.c */
|
||||
|
||||
@ -39,7 +39,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris
|
||||
static const struct drm_driver v3d_drm_driver = {
|
||||
--- a/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
@@ -189,6 +189,12 @@ struct v3d_dev {
|
||||
@@ -197,6 +197,12 @@ struct v3d_dev {
|
||||
u32 num_allocated;
|
||||
u32 pages_allocated;
|
||||
} bo_stats;
|
||||
@ -52,7 +52,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris
|
||||
};
|
||||
|
||||
static inline struct v3d_dev *
|
||||
@@ -600,6 +606,8 @@ int v3d_perfmon_get_values_ioctl(struct
|
||||
@@ -608,6 +614,8 @@ int v3d_perfmon_get_values_ioctl(struct
|
||||
struct drm_file *file_priv);
|
||||
int v3d_perfmon_get_counter_ioctl(struct drm_device *dev, void *data,
|
||||
struct drm_file *file_priv);
|
||||
|
||||
@ -25,7 +25,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20250113154741.67520-2-mcana
|
||||
|
||||
--- a/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
@@ -153,7 +153,6 @@ struct v3d_dev {
|
||||
@@ -161,7 +161,6 @@ struct v3d_dev {
|
||||
struct v3d_render_job *render_job;
|
||||
struct v3d_tfu_job *tfu_job;
|
||||
struct v3d_csd_job *csd_job;
|
||||
|
||||
@ -324,8 +324,8 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
goto clk_disable;
|
||||
--- a/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
@@ -94,11 +94,18 @@ struct v3d_perfmon {
|
||||
u64 values[] __counted_by(ncounters);
|
||||
@@ -100,11 +100,18 @@ enum v3d_irq {
|
||||
V3D_MAX_IRQS,
|
||||
};
|
||||
|
||||
+enum v3d_gen {
|
||||
@ -344,7 +344,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
|
||||
/* Short representation (e.g. 5, 6) of the V3D tech revision */
|
||||
int rev;
|
||||
@@ -205,7 +212,7 @@ to_v3d_dev(struct drm_device *dev)
|
||||
@@ -213,7 +220,7 @@ to_v3d_dev(struct drm_device *dev)
|
||||
static inline bool
|
||||
v3d_has_csd(struct v3d_dev *v3d)
|
||||
{
|
||||
@ -373,7 +373,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
return;
|
||||
|
||||
V3D_GCA_WRITE(V3D_GCA_SAFE_SHUTDOWN, V3D_GCA_SAFE_SHUTDOWN_EN);
|
||||
@@ -133,13 +133,13 @@ v3d_reset(struct v3d_dev *v3d)
|
||||
@@ -135,13 +135,13 @@ v3d_reset(struct v3d_dev *v3d)
|
||||
static void
|
||||
v3d_flush_l3(struct v3d_dev *v3d)
|
||||
{
|
||||
@ -389,7 +389,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
V3D_GCA_WRITE(V3D_GCA_CACHE_CTRL,
|
||||
gca_ctrl & ~V3D_GCA_CACHE_CTRL_FLUSH);
|
||||
}
|
||||
@@ -152,7 +152,7 @@ v3d_flush_l3(struct v3d_dev *v3d)
|
||||
@@ -154,7 +154,7 @@ v3d_flush_l3(struct v3d_dev *v3d)
|
||||
static void
|
||||
v3d_invalidate_l2c(struct v3d_dev *v3d, int core)
|
||||
{
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
|
||||
--- a/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
+++ b/drivers/gpu/drm/v3d/v3d_drv.h
|
||||
@@ -118,6 +118,7 @@ struct v3d_dev {
|
||||
@@ -126,6 +126,7 @@ struct v3d_dev {
|
||||
void __iomem *core_regs[3];
|
||||
void __iomem *bridge_regs;
|
||||
void __iomem *gca_regs;
|
||||
@ -48,7 +48,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
struct clk *clk;
|
||||
struct delayed_work clk_down_work;
|
||||
unsigned long clk_up_rate, clk_down_rate;
|
||||
@@ -274,6 +275,15 @@ to_v3d_fence(struct dma_fence *fence)
|
||||
@@ -282,6 +283,15 @@ to_v3d_fence(struct dma_fence *fence)
|
||||
#define V3D_GCA_READ(offset) readl(v3d->gca_regs + offset)
|
||||
#define V3D_GCA_WRITE(offset, val) writel(val, v3d->gca_regs + offset)
|
||||
|
||||
@ -64,7 +64,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
#define V3D_CORE_READ(core, offset) readl(v3d->core_regs[core] + offset)
|
||||
#define V3D_CORE_WRITE(core, offset, val) writel(val, v3d->core_regs[core] + offset)
|
||||
|
||||
@@ -552,6 +562,7 @@ struct dma_fence *v3d_fence_create(struc
|
||||
@@ -560,6 +570,7 @@ struct dma_fence *v3d_fence_create(struc
|
||||
/* v3d_gem.c */
|
||||
int v3d_gem_init(struct drm_device *dev);
|
||||
void v3d_gem_destroy(struct drm_device *dev);
|
||||
@ -97,8 +97,8 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
v3d_reset(struct v3d_dev *v3d)
|
||||
{
|
||||
struct drm_device *dev = &v3d->drm;
|
||||
@@ -120,6 +136,7 @@ v3d_reset(struct v3d_dev *v3d)
|
||||
v3d_idle_axi(v3d, 0);
|
||||
@@ -122,6 +138,7 @@ v3d_reset(struct v3d_dev *v3d)
|
||||
v3d_irq_disable(v3d);
|
||||
|
||||
v3d_idle_gca(v3d);
|
||||
+ v3d_reset_sms(v3d);
|
||||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
static bool td_on_ring(struct xhci_td *td, struct xhci_ring *ring)
|
||||
{
|
||||
struct xhci_segment *seg = ring->first_seg;
|
||||
@@ -4807,7 +4811,7 @@ static u16 xhci_calculate_u1_timeout(str
|
||||
@@ -4786,7 +4790,7 @@ static u16 xhci_calculate_u1_timeout(str
|
||||
}
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
timeout_ns = xhci_calculate_intel_u1_timeout(udev, desc);
|
||||
else
|
||||
timeout_ns = udev->u1_params.sel;
|
||||
@@ -4871,7 +4875,7 @@ static u16 xhci_calculate_u2_timeout(str
|
||||
@@ -4850,7 +4854,7 @@ static u16 xhci_calculate_u2_timeout(str
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -103,11 +103,11 @@ it on BCM4708 family.
|
||||
if (xhci->quirks & XHCI_NEC_HOST)
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1659,6 +1659,7 @@ struct xhci_hcd {
|
||||
#define XHCI_WRITE_64_HI_LO BIT_ULL(47)
|
||||
@@ -1660,6 +1660,7 @@ struct xhci_hcd {
|
||||
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
|
||||
#define XHCI_ETRON_HOST BIT_ULL(49)
|
||||
+#define XHCI_FAKE_DOORBELL BIT_ULL(50)
|
||||
#define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(50)
|
||||
+#define XHCI_FAKE_DOORBELL BIT_ULL(51)
|
||||
|
||||
unsigned int num_active_eps;
|
||||
unsigned int limit_active_eps;
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
|
||||
|
||||
--- a/drivers/net/ethernet/intel/igc/igc_main.c
|
||||
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
|
||||
@@ -7066,6 +7066,9 @@ static int igc_probe(struct pci_dev *pde
|
||||
@@ -7070,6 +7070,9 @@ static int igc_probe(struct pci_dev *pde
|
||||
netdev->xdp_features = NETDEV_XDP_ACT_BASIC | NETDEV_XDP_ACT_REDIRECT |
|
||||
NETDEV_XDP_ACT_XSK_ZEROCOPY;
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||
+++ b/drivers/net/ethernet/realtek/r8169_main.c
|
||||
@@ -4804,11 +4804,7 @@ static void r8169_phylink_handler(struct
|
||||
@@ -4813,11 +4813,7 @@ static void r8169_phylink_handler(struct
|
||||
if (netif_carrier_ok(ndev)) {
|
||||
rtl_link_chg_patch(tp);
|
||||
pm_request_resume(d);
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||
+++ b/drivers/net/ethernet/realtek/r8169_main.c
|
||||
@@ -5517,11 +5517,6 @@ static int rtl_init_one(struct pci_dev *
|
||||
@@ -5526,11 +5526,6 @@ static int rtl_init_one(struct pci_dev *
|
||||
|
||||
dev->features |= dev->hw_features;
|
||||
|
||||
@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
if (rtl_chip_supports_csum_v2(tp)) {
|
||||
dev->hw_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6;
|
||||
netif_set_tso_max_size(dev, RTL_GSO_MAX_SIZE_V2);
|
||||
@@ -5532,6 +5527,17 @@ static int rtl_init_one(struct pci_dev *
|
||||
@@ -5541,6 +5536,17 @@ static int rtl_init_one(struct pci_dev *
|
||||
netif_set_tso_max_segs(dev, RTL_GSO_MAX_SEGS_V1);
|
||||
}
|
||||
|
||||
|
||||
@ -118,7 +118,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
};
|
||||
|
||||
static enum mac_version rtl8169_get_mac_version(u16 xid, bool gmii)
|
||||
@@ -3920,6 +3999,9 @@ static void rtl_hw_start_8125(struct rtl
|
||||
@@ -3929,6 +4008,9 @@ static void rtl_hw_start_8125(struct rtl
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
|
||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||
+++ b/drivers/net/ethernet/realtek/r8169_main.c
|
||||
@@ -4827,10 +4827,8 @@ static void rtl_task(struct work_struct
|
||||
@@ -4836,10 +4836,8 @@ static void rtl_task(struct work_struct
|
||||
container_of(work, struct rtl8169_private, wk.work);
|
||||
int ret;
|
||||
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
|
||||
if (test_and_clear_bit(RTL_FLAG_TASK_TX_TIMEOUT, tp->wk.flags)) {
|
||||
/* if chip isn't accessible, reset bus to revive it */
|
||||
@@ -4839,7 +4837,7 @@ static void rtl_task(struct work_struct
|
||||
@@ -4848,7 +4846,7 @@ static void rtl_task(struct work_struct
|
||||
if (ret < 0) {
|
||||
netdev_err(tp->dev, "Can't reset secondary PCI bus, detach NIC\n");
|
||||
netif_device_detach(tp->dev);
|
||||
@ -39,7 +39,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4858,8 +4856,6 @@ reset:
|
||||
@@ -4867,8 +4865,6 @@ reset:
|
||||
} else if (test_and_clear_bit(RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE, tp->wk.flags)) {
|
||||
rtl_reset_work(tp);
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
|
||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||
+++ b/drivers/net/ethernet/realtek/r8169_main.c
|
||||
@@ -617,7 +617,6 @@ struct rtl8169_tc_offsets {
|
||||
@@ -619,7 +619,6 @@ struct rtl8169_tc_offsets {
|
||||
};
|
||||
|
||||
enum rtl_flag {
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
RTL_FLAG_TASK_RESET_PENDING,
|
||||
RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE,
|
||||
RTL_FLAG_TASK_TX_TIMEOUT,
|
||||
@@ -2502,11 +2501,9 @@ u16 rtl8168h_2_get_adc_bias_ioffset(stru
|
||||
@@ -2505,11 +2504,9 @@ u16 rtl8168h_2_get_adc_bias_ioffset(stru
|
||||
|
||||
static void rtl_schedule_task(struct rtl8169_private *tp, enum rtl_flag flag)
|
||||
{
|
||||
@ -39,7 +39,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
}
|
||||
|
||||
static void rtl8169_init_phy(struct rtl8169_private *tp)
|
||||
@@ -4827,9 +4824,6 @@ static void rtl_task(struct work_struct
|
||||
@@ -4836,9 +4833,6 @@ static void rtl_task(struct work_struct
|
||||
container_of(work, struct rtl8169_private, wk.work);
|
||||
int ret;
|
||||
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
if (test_and_clear_bit(RTL_FLAG_TASK_TX_TIMEOUT, tp->wk.flags)) {
|
||||
/* if chip isn't accessible, reset bus to revive it */
|
||||
if (RTL_R32(tp, TxConfig) == ~0) {
|
||||
@@ -4913,6 +4907,7 @@ static int r8169_phy_connect(struct rtl8
|
||||
@@ -4922,6 +4916,7 @@ static int r8169_phy_connect(struct rtl8
|
||||
|
||||
static void rtl8169_down(struct rtl8169_private *tp)
|
||||
{
|
||||
@ -57,7 +57,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
/* Clear all task flags */
|
||||
bitmap_zero(tp->wk.flags, RTL_FLAG_MAX);
|
||||
|
||||
@@ -4941,7 +4936,7 @@ static void rtl8169_up(struct rtl8169_pr
|
||||
@@ -4950,7 +4945,7 @@ static void rtl8169_up(struct rtl8169_pr
|
||||
phy_resume(tp->phydev);
|
||||
rtl8169_init_phy(tp);
|
||||
napi_enable(&tp->napi);
|
||||
@ -66,7 +66,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
rtl_reset_work(tp);
|
||||
|
||||
phy_start(tp->phydev);
|
||||
@@ -4958,8 +4953,6 @@ static int rtl8169_close(struct net_devi
|
||||
@@ -4967,8 +4962,6 @@ static int rtl8169_close(struct net_devi
|
||||
rtl8169_down(tp);
|
||||
rtl8169_rx_clear(tp);
|
||||
|
||||
@ -75,7 +75,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
free_irq(tp->irq, tp);
|
||||
|
||||
phy_disconnect(tp->phydev);
|
||||
@@ -5192,7 +5185,7 @@ static void rtl_remove_one(struct pci_de
|
||||
@@ -5201,7 +5194,7 @@ static void rtl_remove_one(struct pci_de
|
||||
if (pci_dev_run_wake(pdev))
|
||||
pm_runtime_get_noresume(&pdev->dev);
|
||||
|
||||
@ -84,7 +84,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
|
||||
if (IS_ENABLED(CONFIG_R8169_LEDS))
|
||||
r8169_remove_leds(tp->leds);
|
||||
@@ -5570,6 +5563,7 @@ static int rtl_init_one(struct pci_dev *
|
||||
@@ -5579,6 +5572,7 @@ static int rtl_init_one(struct pci_dev *
|
||||
tp->irq = pci_irq_vector(pdev, 0);
|
||||
|
||||
INIT_WORK(&tp->wk.work, rtl_task);
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
|
||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||
+++ b/drivers/net/ethernet/realtek/r8169_main.c
|
||||
@@ -1345,40 +1345,19 @@ static void rtl8168ep_stop_cmac(struct r
|
||||
@@ -1348,40 +1348,19 @@ static void rtl8168ep_stop_cmac(struct r
|
||||
RTL_W8(tp, IBCR0, RTL_R8(tp, IBCR0) & ~0x01);
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
}
|
||||
|
||||
static void rtl8168_driver_start(struct rtl8169_private *tp)
|
||||
@@ -1392,7 +1371,8 @@ static void rtl8168_driver_start(struct
|
||||
@@ -1395,7 +1374,8 @@ static void rtl8168_driver_start(struct
|
||||
static void rtl8168dp_driver_stop(struct rtl8169_private *tp)
|
||||
{
|
||||
r8168dp_oob_notify(tp, OOB_CMD_DRIVER_STOP);
|
||||
@ -70,7 +70,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
}
|
||||
|
||||
static void rtl8168ep_driver_stop(struct rtl8169_private *tp)
|
||||
@@ -1400,7 +1380,8 @@ static void rtl8168ep_driver_stop(struct
|
||||
@@ -1403,7 +1383,8 @@ static void rtl8168ep_driver_stop(struct
|
||||
rtl8168ep_stop_cmac(tp);
|
||||
r8168ep_ocp_write(tp, 0x01, 0x180, OOB_CMD_DRIVER_STOP);
|
||||
r8168ep_ocp_write(tp, 0x01, 0x30, r8168ep_ocp_read(tp, 0x30) | 0x01);
|
||||
|
||||
@ -1,143 +0,0 @@
|
||||
From f75d1fbe7809bc5ed134204b920fd9e2fc5db1df Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Thu, 24 Oct 2024 22:42:33 +0200
|
||||
Subject: [PATCH] r8169: add support for RTL8125D
|
||||
|
||||
This adds support for new chip version RTL8125D, which can be found on
|
||||
boards like Gigabyte X870E AORUS ELITE WIFI7. Firmware rtl8125d-1.fw
|
||||
for this chip version is available in linux-firmware already.
|
||||
|
||||
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Reviewed-by: Simon Horman <horms@kernel.org>
|
||||
Link: https://patch.msgid.link/d0306912-e88e-4c25-8b5d-545ae8834c0c@gmail.com
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
---
|
||||
drivers/net/ethernet/realtek/r8169.h | 1 +
|
||||
drivers/net/ethernet/realtek/r8169_main.c | 23 +++++++++++++------
|
||||
.../net/ethernet/realtek/r8169_phy_config.c | 10 ++++++++
|
||||
3 files changed, 27 insertions(+), 7 deletions(-)
|
||||
|
||||
--- a/drivers/net/ethernet/realtek/r8169.h
|
||||
+++ b/drivers/net/ethernet/realtek/r8169.h
|
||||
@@ -68,6 +68,7 @@ enum mac_version {
|
||||
/* support for RTL_GIGA_MAC_VER_60 has been removed */
|
||||
RTL_GIGA_MAC_VER_61,
|
||||
RTL_GIGA_MAC_VER_63,
|
||||
+ RTL_GIGA_MAC_VER_64,
|
||||
RTL_GIGA_MAC_VER_65,
|
||||
RTL_GIGA_MAC_VER_66,
|
||||
RTL_GIGA_MAC_NONE
|
||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||
+++ b/drivers/net/ethernet/realtek/r8169_main.c
|
||||
@@ -55,6 +55,7 @@
|
||||
#define FIRMWARE_8107E_2 "rtl_nic/rtl8107e-2.fw"
|
||||
#define FIRMWARE_8125A_3 "rtl_nic/rtl8125a-3.fw"
|
||||
#define FIRMWARE_8125B_2 "rtl_nic/rtl8125b-2.fw"
|
||||
+#define FIRMWARE_8125D_1 "rtl_nic/rtl8125d-1.fw"
|
||||
#define FIRMWARE_8126A_2 "rtl_nic/rtl8126a-2.fw"
|
||||
#define FIRMWARE_8126A_3 "rtl_nic/rtl8126a-3.fw"
|
||||
|
||||
@@ -138,6 +139,7 @@ static const struct {
|
||||
[RTL_GIGA_MAC_VER_61] = {"RTL8125A", FIRMWARE_8125A_3},
|
||||
/* reserve 62 for CFG_METHOD_4 in the vendor driver */
|
||||
[RTL_GIGA_MAC_VER_63] = {"RTL8125B", FIRMWARE_8125B_2},
|
||||
+ [RTL_GIGA_MAC_VER_64] = {"RTL8125D", FIRMWARE_8125D_1},
|
||||
[RTL_GIGA_MAC_VER_65] = {"RTL8126A", FIRMWARE_8126A_2},
|
||||
[RTL_GIGA_MAC_VER_66] = {"RTL8126A", FIRMWARE_8126A_3},
|
||||
};
|
||||
@@ -706,6 +708,7 @@ MODULE_FIRMWARE(FIRMWARE_8168FP_3);
|
||||
MODULE_FIRMWARE(FIRMWARE_8107E_2);
|
||||
MODULE_FIRMWARE(FIRMWARE_8125A_3);
|
||||
MODULE_FIRMWARE(FIRMWARE_8125B_2);
|
||||
+MODULE_FIRMWARE(FIRMWARE_8125D_1);
|
||||
MODULE_FIRMWARE(FIRMWARE_8126A_2);
|
||||
MODULE_FIRMWARE(FIRMWARE_8126A_3);
|
||||
|
||||
@@ -2078,10 +2081,7 @@ static void rtl_set_eee_txidle_timer(str
|
||||
tp->tx_lpi_timer = timer_val;
|
||||
r8168_mac_ocp_write(tp, 0xe048, timer_val);
|
||||
break;
|
||||
- case RTL_GIGA_MAC_VER_61:
|
||||
- case RTL_GIGA_MAC_VER_63:
|
||||
- case RTL_GIGA_MAC_VER_65:
|
||||
- case RTL_GIGA_MAC_VER_66:
|
||||
+ case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_66:
|
||||
tp->tx_lpi_timer = timer_val;
|
||||
RTL_W16(tp, EEE_TXIDLE_TIMER_8125, timer_val);
|
||||
break;
|
||||
@@ -2292,6 +2292,9 @@ static enum mac_version rtl8169_get_mac_
|
||||
{ 0x7cf, 0x64a, RTL_GIGA_MAC_VER_66 },
|
||||
{ 0x7cf, 0x649, RTL_GIGA_MAC_VER_65 },
|
||||
|
||||
+ /* 8125D family. */
|
||||
+ { 0x7cf, 0x688, RTL_GIGA_MAC_VER_64 },
|
||||
+
|
||||
/* 8125B family. */
|
||||
{ 0x7cf, 0x641, RTL_GIGA_MAC_VER_63 },
|
||||
|
||||
@@ -2557,9 +2560,7 @@ static void rtl_init_rxcfg(struct rtl816
|
||||
case RTL_GIGA_MAC_VER_61:
|
||||
RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST);
|
||||
break;
|
||||
- case RTL_GIGA_MAC_VER_63:
|
||||
- case RTL_GIGA_MAC_VER_65:
|
||||
- case RTL_GIGA_MAC_VER_66:
|
||||
+ case RTL_GIGA_MAC_VER_63 ... RTL_GIGA_MAC_VER_66:
|
||||
RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST |
|
||||
RX_PAUSE_SLOT_ON);
|
||||
break;
|
||||
@@ -3897,6 +3898,12 @@ static void rtl_hw_start_8125b(struct rt
|
||||
rtl_hw_start_8125_common(tp);
|
||||
}
|
||||
|
||||
+static void rtl_hw_start_8125d(struct rtl8169_private *tp)
|
||||
+{
|
||||
+ rtl_set_def_aspm_entry_latency(tp);
|
||||
+ rtl_hw_start_8125_common(tp);
|
||||
+}
|
||||
+
|
||||
static void rtl_hw_start_8126a(struct rtl8169_private *tp)
|
||||
{
|
||||
rtl_disable_zrxdc_timeout(tp);
|
||||
@@ -3946,6 +3953,7 @@ static void rtl_hw_config(struct rtl8169
|
||||
[RTL_GIGA_MAC_VER_53] = rtl_hw_start_8117,
|
||||
[RTL_GIGA_MAC_VER_61] = rtl_hw_start_8125a_2,
|
||||
[RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
|
||||
+ [RTL_GIGA_MAC_VER_64] = rtl_hw_start_8125d,
|
||||
[RTL_GIGA_MAC_VER_65] = rtl_hw_start_8126a,
|
||||
[RTL_GIGA_MAC_VER_66] = rtl_hw_start_8126a,
|
||||
};
|
||||
@@ -3963,6 +3971,7 @@ static void rtl_hw_start_8125(struct rtl
|
||||
/* disable interrupt coalescing */
|
||||
switch (tp->mac_version) {
|
||||
case RTL_GIGA_MAC_VER_61:
|
||||
+ case RTL_GIGA_MAC_VER_64:
|
||||
for (i = 0xa00; i < 0xb00; i += 4)
|
||||
RTL_W32(tp, i, 0);
|
||||
break;
|
||||
--- a/drivers/net/ethernet/realtek/r8169_phy_config.c
|
||||
+++ b/drivers/net/ethernet/realtek/r8169_phy_config.c
|
||||
@@ -1103,6 +1103,15 @@ static void rtl8125b_hw_phy_config(struc
|
||||
rtl8125b_config_eee_phy(phydev);
|
||||
}
|
||||
|
||||
+static void rtl8125d_hw_phy_config(struct rtl8169_private *tp,
|
||||
+ struct phy_device *phydev)
|
||||
+{
|
||||
+ r8169_apply_firmware(tp);
|
||||
+ rtl8125_legacy_force_mode(phydev);
|
||||
+ rtl8168g_disable_aldps(phydev);
|
||||
+ rtl8125b_config_eee_phy(phydev);
|
||||
+}
|
||||
+
|
||||
static void rtl8126a_hw_phy_config(struct rtl8169_private *tp,
|
||||
struct phy_device *phydev)
|
||||
{
|
||||
@@ -1159,6 +1168,7 @@ void r8169_hw_phy_config(struct rtl8169_
|
||||
[RTL_GIGA_MAC_VER_53] = rtl8117_hw_phy_config,
|
||||
[RTL_GIGA_MAC_VER_61] = rtl8125a_2_hw_phy_config,
|
||||
[RTL_GIGA_MAC_VER_63] = rtl8125b_hw_phy_config,
|
||||
+ [RTL_GIGA_MAC_VER_64] = rtl8125d_hw_phy_config,
|
||||
[RTL_GIGA_MAC_VER_65] = rtl8126a_hw_phy_config,
|
||||
[RTL_GIGA_MAC_VER_66] = rtl8126a_hw_phy_config,
|
||||
};
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
#define RTL_GENERIC_PHYID 0x001cc800
|
||||
#define RTL_8211FVD_PHYID 0x001cc878
|
||||
@@ -660,9 +663,18 @@ static int rtl8366rb_config_init(struct
|
||||
@@ -661,9 +664,18 @@ static int rtl8366rb_config_init(struct
|
||||
}
|
||||
|
||||
/* get actual speed to cover the downshift case */
|
||||
@ -61,7 +61,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
case 0x0000:
|
||||
phydev->speed = SPEED_10;
|
||||
break;
|
||||
@@ -684,6 +696,19 @@ static void rtlgen_decode_speed(struct p
|
||||
@@ -685,6 +697,19 @@ static void rtlgen_decode_speed(struct p
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -81,7 +81,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
}
|
||||
|
||||
static int rtlgen_read_status(struct phy_device *phydev)
|
||||
@@ -701,7 +726,7 @@ static int rtlgen_read_status(struct phy
|
||||
@@ -702,7 +727,7 @@ static int rtlgen_read_status(struct phy
|
||||
if (val < 0)
|
||||
return val;
|
||||
|
||||
@ -90,7 +90,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1007,11 +1032,11 @@ static int rtl822x_c45_read_status(struc
|
||||
@@ -1008,11 +1033,11 @@ static int rtl822x_c45_read_status(struc
|
||||
return 0;
|
||||
|
||||
/* Read actual speed from vendor register. */
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -949,17 +949,25 @@ static void rtl822xb_update_interface(st
|
||||
@@ -950,17 +950,25 @@ static void rtl822xb_update_interface(st
|
||||
|
||||
static int rtl822x_read_status(struct phy_device *phydev)
|
||||
{
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -1026,6 +1026,10 @@ static int rtl822x_c45_read_status(struc
|
||||
@@ -1027,6 +1027,10 @@ static int rtl822x_c45_read_status(struc
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
||||
@ -1,136 +0,0 @@
|
||||
From f87a17ed3b51fba4dfdd8f8b643b5423a85fc551 Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Tue, 15 Oct 2024 07:47:14 +0200
|
||||
Subject: [PATCH] net: phy: realtek: merge the drivers for internal NBase-T
|
||||
PHY's
|
||||
|
||||
The Realtek RTL8125/RTL8126 NBase-T MAC/PHY chips have internal PHY's
|
||||
which are register-compatible, at least for the registers we use here.
|
||||
So let's use just one PHY driver to support all of them.
|
||||
These internal PHY's exist also as external C45 PHY's, but on the
|
||||
internal PHY's no access to MMD registers is possible. This can be
|
||||
used to differentiate between the internal and external version.
|
||||
|
||||
As a side effect the drivers for two now external-only drivers don't
|
||||
require read_mmd/write_mmd hooks any longer.
|
||||
|
||||
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Link: https://patch.msgid.link/c57081a6-811f-4571-ab35-34f4ca6de9af@gmail.com
|
||||
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
---
|
||||
drivers/net/phy/realtek.c | 53 +++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 43 insertions(+), 10 deletions(-)
|
||||
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -95,6 +95,7 @@
|
||||
|
||||
#define RTL_GENERIC_PHYID 0x001cc800
|
||||
#define RTL_8211FVD_PHYID 0x001cc878
|
||||
+#define RTL_8221B 0x001cc840
|
||||
#define RTL_8221B_VB_CG 0x001cc849
|
||||
#define RTL_8221B_VN_CG 0x001cc84a
|
||||
#define RTL_8251B 0x001cc862
|
||||
@@ -1077,6 +1078,23 @@ static bool rtlgen_supports_2_5gbps(stru
|
||||
return val >= 0 && val & MDIO_PMA_SPEED_2_5G;
|
||||
}
|
||||
|
||||
+/* On internal PHY's MMD reads over C22 always return 0.
|
||||
+ * Check a MMD register which is known to be non-zero.
|
||||
+ */
|
||||
+static bool rtlgen_supports_mmd(struct phy_device *phydev)
|
||||
+{
|
||||
+ int val;
|
||||
+
|
||||
+ phy_lock_mdio_bus(phydev);
|
||||
+ __phy_write(phydev, MII_MMD_CTRL, MDIO_MMD_PCS);
|
||||
+ __phy_write(phydev, MII_MMD_DATA, MDIO_PCS_EEE_ABLE);
|
||||
+ __phy_write(phydev, MII_MMD_CTRL, MDIO_MMD_PCS | MII_MMD_CTRL_NOINCR);
|
||||
+ val = __phy_read(phydev, MII_MMD_DATA);
|
||||
+ phy_unlock_mdio_bus(phydev);
|
||||
+
|
||||
+ return val > 0;
|
||||
+}
|
||||
+
|
||||
static int rtlgen_match_phy_device(struct phy_device *phydev)
|
||||
{
|
||||
return phydev->phy_id == RTL_GENERIC_PHYID &&
|
||||
@@ -1086,7 +1104,8 @@ static int rtlgen_match_phy_device(struc
|
||||
static int rtl8226_match_phy_device(struct phy_device *phydev)
|
||||
{
|
||||
return phydev->phy_id == RTL_GENERIC_PHYID &&
|
||||
- rtlgen_supports_2_5gbps(phydev);
|
||||
+ rtlgen_supports_2_5gbps(phydev) &&
|
||||
+ rtlgen_supports_mmd(phydev);
|
||||
}
|
||||
|
||||
static int rtlgen_is_c45_match(struct phy_device *phydev, unsigned int id,
|
||||
@@ -1098,6 +1117,11 @@ static int rtlgen_is_c45_match(struct ph
|
||||
return !is_c45 && (id == phydev->phy_id);
|
||||
}
|
||||
|
||||
+static int rtl8221b_match_phy_device(struct phy_device *phydev)
|
||||
+{
|
||||
+ return phydev->phy_id == RTL_8221B && rtlgen_supports_mmd(phydev);
|
||||
+}
|
||||
+
|
||||
static int rtl8221b_vb_cg_c22_match_phy_device(struct phy_device *phydev)
|
||||
{
|
||||
return rtlgen_is_c45_match(phydev, RTL_8221B_VB_CG, false);
|
||||
@@ -1118,9 +1142,21 @@ static int rtl8221b_vn_cg_c45_match_phy_
|
||||
return rtlgen_is_c45_match(phydev, RTL_8221B_VN_CG, true);
|
||||
}
|
||||
|
||||
-static int rtl8251b_c22_match_phy_device(struct phy_device *phydev)
|
||||
+static int rtl_internal_nbaset_match_phy_device(struct phy_device *phydev)
|
||||
{
|
||||
- return rtlgen_is_c45_match(phydev, RTL_8251B, false);
|
||||
+ if (phydev->is_c45)
|
||||
+ return false;
|
||||
+
|
||||
+ switch (phydev->phy_id) {
|
||||
+ case RTL_GENERIC_PHYID:
|
||||
+ case RTL_8221B:
|
||||
+ case RTL_8251B:
|
||||
+ break;
|
||||
+ default:
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ return rtlgen_supports_2_5gbps(phydev) && !rtlgen_supports_mmd(phydev);
|
||||
}
|
||||
|
||||
static int rtl8251b_c45_match_phy_device(struct phy_device *phydev)
|
||||
@@ -1382,10 +1418,8 @@ static struct phy_driver realtek_drvs[]
|
||||
.resume = rtlgen_resume,
|
||||
.read_page = rtl821x_read_page,
|
||||
.write_page = rtl821x_write_page,
|
||||
- .read_mmd = rtl822x_read_mmd,
|
||||
- .write_mmd = rtl822x_write_mmd,
|
||||
}, {
|
||||
- PHY_ID_MATCH_EXACT(0x001cc840),
|
||||
+ .match_phy_device = rtl8221b_match_phy_device,
|
||||
.name = "RTL8226B_RTL8221B 2.5Gbps PHY",
|
||||
.get_features = rtl822x_get_features,
|
||||
.config_aneg = rtl822x_config_aneg,
|
||||
@@ -1396,8 +1430,6 @@ static struct phy_driver realtek_drvs[]
|
||||
.resume = rtlgen_resume,
|
||||
.read_page = rtl821x_read_page,
|
||||
.write_page = rtl821x_write_page,
|
||||
- .read_mmd = rtl822x_read_mmd,
|
||||
- .write_mmd = rtl822x_write_mmd,
|
||||
}, {
|
||||
PHY_ID_MATCH_EXACT(0x001cc838),
|
||||
.name = "RTL8226-CG 2.5Gbps PHY",
|
||||
@@ -1475,8 +1507,9 @@ static struct phy_driver realtek_drvs[]
|
||||
.read_page = rtl821x_read_page,
|
||||
.write_page = rtl821x_write_page,
|
||||
}, {
|
||||
- .match_phy_device = rtl8251b_c22_match_phy_device,
|
||||
- .name = "RTL8126A-internal 5Gbps PHY",
|
||||
+ .match_phy_device = rtl_internal_nbaset_match_phy_device,
|
||||
+ .name = "Realtek Internal NBASE-T PHY",
|
||||
+ .flags = PHY_IS_INTERNAL,
|
||||
.get_features = rtl822x_get_features,
|
||||
.config_aneg = rtl822x_config_aneg,
|
||||
.read_status = rtl822x_read_status,
|
||||
@ -1,29 +0,0 @@
|
||||
From 8989bad541133c43550bff2b80edbe37b8fb9659 Mon Sep 17 00:00:00 2001
|
||||
From: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Date: Thu, 17 Oct 2024 18:01:13 +0200
|
||||
Subject: [PATCH] net: phy: realtek: add RTL8125D-internal PHY
|
||||
|
||||
The first boards show up with Realtek's RTL8125D. This MAC/PHY chip
|
||||
comes with an integrated 2.5Gbps PHY with ID 0x001cc841. It's not
|
||||
clear yet whether there's an external version of this PHY and how
|
||||
Realtek calls it, therefore use the numeric id for now.
|
||||
|
||||
Link: https://lore.kernel.org/netdev/2ada65e1-5dfa-456c-9334-2bc51272e9da@gmail.com/T/
|
||||
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Message-ID: <7d2924de-053b-44d2-a479-870dc3878170@gmail.com>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
|
||||
---
|
||||
drivers/net/phy/realtek.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/drivers/net/phy/realtek.c
|
||||
+++ b/drivers/net/phy/realtek.c
|
||||
@@ -1151,6 +1151,7 @@ static int rtl_internal_nbaset_match_phy
|
||||
case RTL_GENERIC_PHYID:
|
||||
case RTL_8221B:
|
||||
case RTL_8251B:
|
||||
+ case 0x001cc841:
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
@ -1,42 +0,0 @@
|
||||
From 93bd4a80efeb521314485a06d8c21157240497bb Mon Sep 17 00:00:00 2001
|
||||
From: Madhavan Srinivasan <maddy@linux.ibm.com>
|
||||
Date: Sun, 11 May 2025 09:41:11 +0530
|
||||
Subject: powerpc/kernel: Fix ppc_save_regs inclusion in build
|
||||
|
||||
Recent patch fixed an old commit
|
||||
'fc2a5a6161a2 ("powerpc/64s: ppc_save_regs is now needed for all 64s builds")'
|
||||
which is to include building of ppc_save_reg.c only when XMON
|
||||
and KEXEC_CORE and PPC_BOOK3S are enabled. This was valid, since
|
||||
ppc_save_regs was called only in replay_system_reset() of old
|
||||
irq.c which was under BOOK3S.
|
||||
|
||||
But there has been multiple refactoring of irq.c and have
|
||||
added call to ppc_save_regs() from __replay_soft_interrupts
|
||||
-> replay_soft_interrupts which is part of irq_64.c included
|
||||
under CONFIG_PPC64. And since ppc_save_regs is called in
|
||||
CRASH_DUMP path as part of crash_setup_regs in kexec.h,
|
||||
CONFIG_PPC32 also needs it.
|
||||
|
||||
So with this recent patch which enabled the building of
|
||||
ppc_save_regs.c caused a build break when none of these
|
||||
(XMON, KEXEC_CORE, BOOK3S) where enabled as part of config.
|
||||
Patch to enable building of ppc_save_regs.c by defaults.
|
||||
|
||||
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
|
||||
Link: https://patch.msgid.link/20250511041111.841158-1-maddy@linux.ibm.com
|
||||
---
|
||||
arch/powerpc/kernel/Makefile | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
--- a/arch/powerpc/kernel/Makefile
|
||||
+++ b/arch/powerpc/kernel/Makefile
|
||||
@@ -165,9 +165,7 @@ endif
|
||||
|
||||
obj64-$(CONFIG_PPC_TRANSACTIONAL_MEM) += tm.o
|
||||
|
||||
-ifneq ($(CONFIG_XMON)$(CONFIG_KEXEC_CORE)$(CONFIG_PPC_BOOK3S),)
|
||||
obj-y += ppc_save_regs.o
|
||||
-endif
|
||||
|
||||
obj-$(CONFIG_EPAPR_PARAVIRT) += epapr_paravirt.o epapr_hcalls.o
|
||||
obj-$(CONFIG_KVM_GUEST) += kvm.o kvm_emul.o
|
||||
@ -21,7 +21,7 @@ Cc: linux-kernel@vger.kernel.org
|
||||
|
||||
--- a/include/linux/cpu.h
|
||||
+++ b/include/linux/cpu.h
|
||||
@@ -111,7 +111,7 @@ void notify_cpu_starting(unsigned int cp
|
||||
@@ -112,7 +112,7 @@ void notify_cpu_starting(unsigned int cp
|
||||
extern void cpu_maps_update_begin(void);
|
||||
extern void cpu_maps_update_done(void);
|
||||
int bringup_hibernate_cpu(unsigned int sleep_cpu);
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
|
||||
|
||||
--- a/drivers/net/ethernet/intel/igc/igc_main.c
|
||||
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
|
||||
@@ -6850,6 +6850,9 @@ static int igc_probe(struct pci_dev *pde
|
||||
@@ -6854,6 +6854,9 @@ static int igc_probe(struct pci_dev *pde
|
||||
netdev->xdp_features = NETDEV_XDP_ACT_BASIC | NETDEV_XDP_ACT_REDIRECT |
|
||||
NETDEV_XDP_ACT_XSK_ZEROCOPY;
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -966,10 +966,10 @@ static const struct xhci_driver_data ren
|
||||
@@ -991,10 +991,10 @@ static const struct xhci_driver_data ren
|
||||
|
||||
/* PCI driver selection metadata; PCI hotplugging uses this */
|
||||
static const struct pci_device_id pci_ids[] = {
|
||||
|
||||
@ -134,7 +134,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
MODULE_LICENSE("GPL v2");
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -300,15 +300,6 @@ static int xhci_pci_reinit(struct xhci_h
|
||||
@@ -310,15 +310,6 @@ static int xhci_pci_reinit(struct xhci_h
|
||||
static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
||||
{
|
||||
struct pci_dev *pdev = to_pci_dev(dev);
|
||||
@ -150,7 +150,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
/* Look for vendor-specific quirks */
|
||||
if (pdev->vendor == PCI_VENDOR_ID_FRESCO_LOGIC &&
|
||||
@@ -643,21 +634,13 @@ static int xhci_pci_update_hub_device(st
|
||||
@@ -668,21 +659,13 @@ static int xhci_pci_update_hub_device(st
|
||||
* We need to register our own PCI probe function (instead of the USB core's
|
||||
* function) in order to create a second roothub under xHCI.
|
||||
*/
|
||||
@ -173,7 +173,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
reset = devm_reset_control_get_optional_exclusive(&dev->dev, NULL);
|
||||
if (IS_ERR(reset))
|
||||
return PTR_ERR(reset);
|
||||
@@ -722,8 +705,24 @@ put_runtime_pm:
|
||||
@@ -747,8 +730,24 @@ put_runtime_pm:
|
||||
pm_runtime_put_noidle(&dev->dev);
|
||||
return retval;
|
||||
}
|
||||
@ -199,7 +199,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
{
|
||||
struct xhci_hcd *xhci;
|
||||
bool set_power_d3;
|
||||
@@ -750,6 +749,7 @@ static void xhci_pci_remove(struct pci_d
|
||||
@@ -775,6 +774,7 @@ static void xhci_pci_remove(struct pci_d
|
||||
if (set_power_d3)
|
||||
pci_set_power_state(dev, PCI_D3hot);
|
||||
}
|
||||
@ -207,7 +207,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
/*
|
||||
* In some Intel xHCI controllers, in order to get D3 working,
|
||||
@@ -959,19 +959,8 @@ static void xhci_pci_shutdown(struct usb
|
||||
@@ -984,19 +984,8 @@ static void xhci_pci_shutdown(struct usb
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
@ -227,7 +227,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
/* handle any USB 3.0 xHCI controller */
|
||||
{ PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_XHCI, ~0),
|
||||
},
|
||||
@@ -979,14 +968,6 @@ static const struct pci_device_id pci_id
|
||||
@@ -1004,14 +993,6 @@ static const struct pci_device_id pci_id
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pci, pci_ids);
|
||||
|
||||
|
||||
@ -995,6 +995,7 @@ CONFIG_COMPACTION=y
|
||||
# CONFIG_COMPAT is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_COMPILE_TEST is not set
|
||||
# CONFIG_COMPRESSED_INSTALL is not set
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
# CONFIG_CONNECTOR is not set
|
||||
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
|
||||
@ -2318,6 +2319,7 @@ CONFIG_HARDEN_BRANCH_HISTORY=y
|
||||
# CONFIG_HI6421V600_IRQ is not set
|
||||
# CONFIG_HI8435 is not set
|
||||
# CONFIG_HIBERNATION is not set
|
||||
# CONFIG_HIBERNATION_COMP_LZ4 is not set
|
||||
# CONFIG_HID is not set
|
||||
# CONFIG_HIDRAW is not set
|
||||
# CONFIG_HID_A4TECH is not set
|
||||
@ -2688,6 +2690,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
|
||||
# CONFIG_IMX8QXP_ADC is not set
|
||||
# CONFIG_IMX93_ADC is not set
|
||||
# CONFIG_IMX_IPUV3_CORE is not set
|
||||
# CONFIG_IMX_SCMI_BBM_EXT is not set
|
||||
# CONFIG_IMX_SCMI_MISC_DRV is not set
|
||||
# CONFIG_IMX_THERMAL is not set
|
||||
# CONFIG_INA2XX_ADC is not set
|
||||
@ -4774,6 +4777,7 @@ CONFIG_PINCONF=y
|
||||
# CONFIG_PINCTRL_CY8C95X0 is not set
|
||||
# CONFIG_PINCTRL_EXYNOS is not set
|
||||
# CONFIG_PINCTRL_ICELAKE is not set
|
||||
# CONFIG_PINCTRL_IMX_SCMI is not set
|
||||
# CONFIG_PINCTRL_INGENIC is not set
|
||||
# CONFIG_PINCTRL_LPASS_LPI is not set
|
||||
# CONFIG_PINCTRL_MCP23S08 is not set
|
||||
|
||||
@ -235,15 +235,16 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!pe)
|
||||
--- a/mm/vmalloc.c
|
||||
+++ b/mm/vmalloc.c
|
||||
@@ -5054,6 +5054,8 @@ static int __init proc_vmalloc_init(void
|
||||
{
|
||||
void *priv_data = NULL;
|
||||
@@ -5066,6 +5066,9 @@ static int vmalloc_info_show(struct seq_
|
||||
|
||||
static int __init proc_vmalloc_init(void)
|
||||
{
|
||||
+ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
|
||||
+ return 0;
|
||||
if (IS_ENABLED(CONFIG_NUMA))
|
||||
priv_data = kmalloc(nr_node_ids * sizeof(unsigned int), GFP_KERNEL);
|
||||
|
||||
+
|
||||
proc_create_single("vmallocinfo", 0400, NULL, vmalloc_info_show);
|
||||
return 0;
|
||||
}
|
||||
--- a/mm/vmstat.c
|
||||
+++ b/mm/vmstat.c
|
||||
@@ -2195,10 +2195,12 @@ void __init init_mm_internals(void)
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.12 = .35
|
||||
LINUX_KERNEL_HASH-6.12.35 = 05f4e0b01dde578c3328eb539d305cccec7b84e939f6dd5f21fdaf5f313da748
|
||||
LINUX_VERSION-6.12 = .37
|
||||
LINUX_KERNEL_HASH-6.12.37 = 936fdfd2405b5e0ac38d4e094b07772610c22cd478f4bb257c9bf929e762ff95
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.6 = .95
|
||||
LINUX_KERNEL_HASH-6.6.95 = 18640ae9a2c952f8f8868324378df1a9e138ad29e6b93a9c38155764ea67ea85
|
||||
LINUX_VERSION-6.6 = .97
|
||||
LINUX_KERNEL_HASH-6.6.97 = 3b67c170638142da56b7a9c3295f2483b88e8c4d3bc26b2bda63b6cf0cb9ee3b
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user