Merge Official Source

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2025-07-14 20:28:01 +08:00
commit 11b23eaaa5
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
156 changed files with 3781 additions and 1735 deletions

View File

@ -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

View File

@ -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)

View File

@ -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=Load BL31+U-Boot FIP via TFTP then write to NAND.=run boot_tftp_write_fip ; run bootmenu_confirm_return
+bootmenu_7=Load BL2 preloader via TFTP then write to NAND.=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=Load BL31+U-Boot FIP via TFTP then write to NAND.=run boot_tftp_write_fip ; run bootmenu_confirm_return
+bootmenu_8=Load BL2 preloader via TFTP then write to NAND.=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

View File

@ -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)), \

View File

@ -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)

View File

@ -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 \

View File

@ -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

View File

@ -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);

View File

@ -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),)

View File

@ -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) {

View File

@ -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;

View File

@ -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)

View 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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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 ; \

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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,)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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 },
};

View File

@ -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[] = {

View File

@ -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

View File

@ -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 $(

View File

@ -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);

View File

@ -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

View File

@ -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 = &eth0;
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>;
};
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_sysinfo_50 0>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy0>;
pll-data = <0xa6000000 0x00000101 0x00001616>;
};
&eth1 {
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";
};

View 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 = <&reg_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>;
};
};
};
};
};
};

View 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 = &eth0;
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;
};
};
};
&eth0 {
status = "okay";
nvmem-cells = <&macaddr_sysinfo_50 0>;
nvmem-cell-names = "mac-address";
phy-handle = <&phy0>;
pll-data = <0xa6000000 0x00000101 0x00001616>;
};
&eth1 {
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";
};

View File

@ -192,6 +192,14 @@
status = "okay";
};
&usb_phy1 {
status = "okay";
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};

View File

@ -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"
;;

View File

@ -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"
;;

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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))) {

View File

@ -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),

View File

@ -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;

View File

@ -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);

View File

@ -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,

View File

@ -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)) {

View File

@ -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);

View File

@ -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;

View File

@ -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) &&

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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;

View File

@ -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 = {

View File

@ -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);

View File

@ -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);
/*

View File

@ -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

View File

@ -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),

View File

@ -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

View File

@ -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;

View File

@ -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)
{

View File

@ -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));

View File

@ -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),

View File

@ -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);

View File

@ -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);

View File

@ -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 */

View File

@ -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);

View File

@ -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;

View File

@ -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)
{

View File

@ -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);

View File

@ -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
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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);
}

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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);

View File

@ -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);

View File

@ -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,
};

View File

@ -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. */

View File

@ -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)
{

View File

@ -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;

View File

@ -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,

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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;

View File

@ -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[] = {

View File

@ -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);

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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