This commit is contained in:
DHDAXCW 2023-11-06 05:39:02 +00:00
parent 8e44579b68
commit 391bb0df74
443 changed files with 1055 additions and 118 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.1 = .58
LINUX_KERNEL_HASH-6.1.58 = ce987ed3d2f640b3a2a62a0a8573d538a36dfd3cc31e2d7a239ce5a16c1c21ad
LINUX_VERSION-6.1 = .61
LINUX_KERNEL_HASH-6.1.61 = ad2c9d12fc36e2dde4796a3eec8f4ddca2e278098f4e555b6e6f5f03ef6964ce

View File

@ -19,8 +19,11 @@ emmc_upgrade_tar() {
[ "$has_kernel" = 1 -a "$EMMC_KERN_DEV" ] &&
export EMMC_KERNEL_BLOCKS=$(($(tar xf "$tar_file" ${board_dir}/kernel -O | dd of="$EMMC_KERN_DEV" bs=512 2>&1 | grep "records out" | cut -d' ' -f1)))
[ "$has_rootfs" = 1 -a "$EMMC_ROOT_DEV" ] &&
[ "$has_rootfs" = 1 -a "$EMMC_ROOT_DEV" ] && {
export EMMC_ROOTFS_BLOCKS=$(($(tar xf "$tar_file" ${board_dir}/root -O | dd of="$EMMC_ROOT_DEV" bs=512 2>&1 | grep "records out" | cut -d' ' -f1)))
# Account for 64KiB ROOTDEV_OVERLAY_ALIGN in libfstools
EMMC_ROOTFS_BLOCKS=$(((EMMC_ROOTFS_BLOCKS + 127) & ~127))
}
if [ -z "$UPGRADE_BACKUP" ]; then
if [ "$EMMC_DATA_DEV" ]; then
@ -61,4 +64,4 @@ emmc_do_upgrade() {
"fit") emmc_upgrade_fit $1;;
*) emmc_upgrade_tar $1;;
esac
}
}

0
package/boot/arm-trusted-firmware-mediatek/Makefile Normal file → Executable file
View File

13
package/boot/uboot-mediatek/Makefile Normal file → Executable file
View File

@ -236,6 +236,18 @@ define U-Boot/mt7986_bananapi_bpi-r3-nor
FIP_COMPRESS:=1
endef
define U-Boot/mt7986_glinet_gl-mt6000
NAME:=GL.iNet GL-MT6000
BUILD_SUBTARGET:=filogic
BUILD_DEVICES:=glinet_gl-mt6000
UBOOT_CONFIG:=mt7986a_glinet_gl-mt6000
UBOOT_IMAGE:=u-boot.fip
BL2_BOOTDEV:=emmc
BL2_SOC:=mt7986
BL2_DDRTYPE:=ddr4
DEPENDS:=+trusted-firmware-a-mt7986-emmc-ddr4
endef
define U-Boot/mt7986_xiaomi_redmi-router-ax6000
NAME:=Xiaomi Redmi AX6000
BUILD_SUBTARGET:=filogic
@ -268,6 +280,7 @@ UBOOT_TARGETS := \
mt7986_bananapi_bpi-r3-sdmmc \
mt7986_bananapi_bpi-r3-snand \
mt7986_bananapi_bpi-r3-nor \
mt7986_glinet_gl-mt6000 \
mt7986_xiaomi_redmi-router-ax6000 \
mt7986_rfb

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

@ -0,0 +1,274 @@
--- /dev/null
+++ b/arch/arm/dts/mt7986a-glinet-gl-mt6000.dts
@@ -0,0 +1,135 @@
+// SPDX-License-Identifier: GPL-2.0
+
+/dts-v1/;
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/gpio/gpio.h>
+
+#include "mt7986.dtsi"
+
+/ {
+ model = "GL.iNet GL-MT6000";
+ compatible = "glinet,gl-mt6000", "mediatek,mt7986-emmc-rfb", "mediatek,mt7986";
+
+ chosen {
+ stdout-path = &uart0;
+ tick-timer = &timer0;
+ };
+
+ memory@40000000 {
+ device_type = "memory";
+ reg = <0x40000000 0x40000000>;
+ };
+
+ reg_1p8v: regulator-1p8v {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ reg_3p3v: regulator-3p3v {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ wps {
+ label = "reset";
+ gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_status_blue: green {
+ label = "blue:status";
+ gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
+ };
+
+ led_status_white: blue {
+ label = "white:status";
+ gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+};
+
+&uart0 {
+ mediatek,force-highspeed;
+ status = "okay";
+};
+
+&eth {
+ status = "okay";
+ mediatek,gmac-id = <0>;
+ phy-mode = "2500base-x";
+ mediatek,switch = "mt7531";
+ reset-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
+
+ fixed-link {
+ speed = <2500>;
+ full-duplex;
+ };
+};
+
+&pinctrl {
+ mmc0_pins_default: mmc0default {
+ mux {
+ function = "flash";
+ groups = "emmc_51";
+ };
+
+ conf-cmd-dat {
+ pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
+ "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
+ "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
+ input-enable;
+ drive-strength = <MTK_DRIVE_4mA>;
+ bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
+ };
+
+ conf-clk {
+ pins = "EMMC_CK";
+ drive-strength = <MTK_DRIVE_6mA>;
+ bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
+ };
+
+ conf-dsl {
+ pins = "EMMC_DSL";
+ bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
+ };
+
+ conf-rst {
+ pins = "EMMC_RSTB";
+ drive-strength = <MTK_DRIVE_4mA>;
+ bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
+ };
+ };
+};
+
+&mmc0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_pins_default>;
+ bus-width = <8>;
+ max-frequency = <200000000>;
+ cap-mmc-highspeed;
+ cap-mmc-hw-reset;
+ vmmc-supply = <&reg_3p3v>;
+ vqmmc-supply = <&reg_1p8v>;
+ non-removable;
+ status = "okay";
+};
+
+&wmcpu_emi {
+ status = "disabled";
+};
--- /dev/null
+++ b/configs/mt7986a_glinet_gl-mt6000_defconfig
@@ -0,0 +1,105 @@
+CONFIG_ARM=y
+CONFIG_SYS_HAS_NONCACHED_MEMORY=y
+CONFIG_POSITION_INDEPENDENT=y
+CONFIG_ARCH_MEDIATEK=y
+CONFIG_TEXT_BASE=0x41e00000
+CONFIG_SYS_MALLOC_F_LEN=0x4000
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_ENV_SIZE=0x80000
+CONFIG_ENV_OFFSET=0x400000
+CONFIG_DEFAULT_DEVICE_TREE="mt7986a-glinet-gl-mt6000"
+CONFIG_SYS_PROMPT="MT7986> "
+CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_TARGET_MT7986=y
+CONFIG_PRE_CON_BUF_ADDR=0x4007EF00
+CONFIG_DEBUG_UART_BASE=0x11002000
+CONFIG_DEBUG_UART_CLOCK=40000000
+CONFIG_SYS_LOAD_ADDR=0x46000000
+CONFIG_DEBUG_UART=y
+CONFIG_AHCI=y
+CONFIG_FIT=y
+CONFIG_AUTOBOOT_KEYED=y
+CONFIG_AUTOBOOT_MENU_SHOW=y
+CONFIG_DEFAULT_FDT_FILE="mediatek/mt7986a-glinet-gl-mt6000.dtb"
+CONFIG_LOGLEVEL=7
+CONFIG_PRE_CONSOLE_BUFFER=y
+CONFIG_LOG=y
+CONFIG_BOARD_LATE_INIT=y
+CONFIG_HUSH_PARSER=y
+CONFIG_CMD_CPU=y
+CONFIG_CMD_LICENSE=y
+CONFIG_CMD_BOOTMENU=y
+CONFIG_CMD_ASKENV=y
+CONFIG_CMD_ERASEENV=y
+CONFIG_CMD_ENV_FLAGS=y
+CONFIG_CMD_STRINGS=y
+CONFIG_CMD_DM=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_PWM=y
+CONFIG_CMD_GPT=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_PART=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_TFTPSRV=y
+CONFIG_CMD_RARP=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_CDP=y
+CONFIG_CMD_SNTP=y
+CONFIG_CMD_DNS=y
+CONFIG_CMD_LINK_LOCAL=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_PSTORE=y
+CONFIG_CMD_PSTORE_MEM_ADDR=0x42ff0000
+CONFIG_CMD_UUID=y
+CONFIG_CMD_HASH=y
+CONFIG_CMD_SMC=y
+CONFIG_OF_EMBED=y
+CONFIG_ENV_OVERWRITE=y
+CONFIG_ENV_IS_IN_MMC=y
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_USE_DEFAULT_ENV_FILE=y
+CONFIG_DEFAULT_ENV_FILE="glinet_gl-mt6000_env"
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_NETCONSOLE=y
+CONFIG_USE_IPADDR=y
+CONFIG_IPADDR="192.168.1.1"
+CONFIG_USE_SERVERIP=y
+CONFIG_SERVERIP="192.168.1.254"
+CONFIG_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_BUTTON=y
+CONFIG_BUTTON_GPIO=y
+CONFIG_CLK=y
+CONFIG_GPIO_HOG=y
+CONFIG_LED=y
+CONFIG_LED_BLINK=y
+CONFIG_LED_GPIO=y
+CONFIG_SUPPORT_EMMC_BOOT=y
+CONFIG_MMC_HS200_SUPPORT=y
+CONFIG_MMC_MTK=y
+CONFIG_PHY_FIXED=y
+CONFIG_MEDIATEK_ETH=y
+CONFIG_PHY=y
+CONFIG_PHY_MTK_TPHY=y
+CONFIG_PINCTRL=y
+CONFIG_PINCONF=y
+CONFIG_PINCTRL_MT7986=y
+CONFIG_POWER_DOMAIN=y
+CONFIG_MTK_POWER_DOMAIN=y
+CONFIG_DM_REGULATOR=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_DM_REGULATOR_GPIO=y
+CONFIG_DM_PWM=y
+CONFIG_PWM_MTK=y
+CONFIG_RAM=y
+CONFIG_DM_SERIAL=y
+CONFIG_MTK_SERIAL=y
+CONFIG_USB=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_MTK=y
+CONFIG_USB_STORAGE=y
+CONFIG_HEXDUMP=y
+CONFIG_LMB_MAX_REGIONS=64
--- /dev/null
+++ b/glinet_gl-mt6000_env
@@ -0,0 +1,25 @@
+ipaddr=192.168.1.1
+serverip=192.168.1.254
+loadaddr=0x46000000
+bootdelay=3
+bootfile_bl2=openwrt-mediatek-filogic-glinet_gl-mt6000-preloader.bin
+bootfile_fip=openwrt-mediatek-filogic-glinet_gl-mt6000-bl31-uboot.fip
+bootfile_firmware=openwrt-mediatek-filogic-glinet_gl-mt6000-squashfs-factory.bin
+bootmenu_confirm_return=askenv - Press ENTER to return to menu ; bootmenu 60
+bootmenu_title= *** U-Boot Boot Menu for GL-iNet GL-MT6000 ***
+bootmenu_0=Startup system (Default).=run boot_system
+bootmenu_1=Load Firmware via TFTP then write to eMMC.=run boot_tftp_firmware ; run bootmenu_confirm_return
+bootmenu_2=Load BL31+U-Boot FIP via TFTP then write to eMMC.=run boot_tftp_write_fip ; run bootmenu_confirm_return
+bootmenu_3=Load BL2 preloader via TFTP then write to eMMC.=run boot_tftp_write_bl2 ; run bootmenu_confirm_return
+bootmenu_4=Reboot.=reset
+bootmenu_5=Reset all settings to factory defaults.=run reset_factory ; reset
+filesize_to_blk=setexpr cnt $filesize + 0x1ff && setexpr cnt $cnt / 0x200
+mmc_read_kernel=mmc read $loadaddr $part_addr 0x100 && imszb $loadaddr image_size && test 0x$image_size -le 0x$part_size && mmc read $loadaddr $part_addr $image_size
+boot_system=part start mmc 0 kernel part_addr && part size mmc 0 kernel part_size && run mmc_read_kernel && bootm
+boot_tftp_firmware=tftpboot $loadaddr $bootfile_firmware && run emmc_write_firmware
+boot_tftp_write_fip=tftpboot $loadaddr $bootfile_fip && run emmc_write_fip
+boot_tftp_write_bl2=tftpboot $loadaddr $bootfile_bl2 && run emmc_write_bl2
+emmc_write_firmware=part start mmc 0 kernel part_addr && run filesize_to_blk && mmc write $loadaddr $part_addr $cnt
+emmc_write_bl2=run filesize_to_blk && test 0x$cnt -le 0x800 && mmc partconf 0 1 1 1 && && mmc write $loadaddr 0x0 0x800 ; mmc partconf 0 1 1 0
+emmc_write_fip=part start mmc 0 fip part_addr && part size mmc 0 fip part_size && run filesize_to_blk && test 0x$cnt -le 0x$part_size && mmc write $loadaddr $part_addr $cnt
+reset_factory=eraseenv && reset

View File

@ -496,12 +496,12 @@ $(eval $(call KernelPackage,nbd))
define KernelPackage/nvme
SUBMENU:=$(BLOCK_MENU)
TITLE:=NVM Express block device
DEPENDS:=@PCI_SUPPORT
DEPENDS:=@PCI_SUPPORT +kmod-hwmon-core
KCONFIG:= \
CONFIG_NVME_CORE \
CONFIG_BLK_DEV_NVME \
CONFIG_NVME_MULTIPATH=n \
CONFIG_NVME_HWMON=n
CONFIG_NVME_HWMON=y
FILES:= \
$(LINUX_DIR)/drivers/nvme/host/nvme-core.ko \
$(LINUX_DIR)/drivers/nvme/host/nvme.ko

View File

@ -545,7 +545,6 @@ $(eval $(call KernelPackage,usb-wdm))
define KernelPackage/usb-audio
TITLE:=Support for USB audio devices
KCONFIG:= \
CONFIG_USB_AUDIO \
CONFIG_SND_USB=y \
CONFIG_SND_USB_AUDIO
$(call AddDepends/usb)

View File

@ -454,6 +454,37 @@ endef
$(eval $(call KernelPackage,drm-imx-ldb))
define KernelPackage/drm-lima
SUBMENU:=$(VIDEO_MENU)
TITLE:=DRM support for ARM Mali 400/450 GPU
DEPENDS:=@(TARGET_rockchip||TARGET_sunxi) +kmod-drm-sched
KCONFIG:=CONFIG_DRM_LIMA
FILES:=$(LINUX_DIR)/drivers/gpu/drm/lima/lima.ko
AUTOLOAD:=$(call AutoProbe,lima)
endef
define KernelPackage/drm-lima/description
DRM driver for ARM Mali 400/450 GPUs
endef
$(eval $(call KernelPackage,drm-lima))
define KernelPackage/drm-panfrost
SUBMENU:=$(VIDEO_MENU)
TITLE:=DRM support for ARM Mali Midgard/Bifrost GPUs
DEPENDS:=@(TARGET_rockchip||TARGET_sunxi) +kmod-drm-sched
KCONFIG:=CONFIG_DRM_PANFROST
FILES:=$(LINUX_DIR)/drivers/gpu/drm/panfrost/panfrost.ko
AUTOLOAD:=$(call AutoProbe,panfrost)
endef
define KernelPackage/drm-panfrost/description
DRM driver for ARM Mali Midgard (T6xx, T7xx, T8xx) and
Bifrost (G3x, G5x, G7x) GPUs
endef
$(eval $(call KernelPackage,drm-panfrost))
define KernelPackage/drm-radeon
SUBMENU:=$(VIDEO_MENU)
TITLE:=Radeon DRM support
@ -470,6 +501,20 @@ endef
$(eval $(call KernelPackage,drm-radeon))
define KernelPackage/drm-sched
SUBMENU:=$(VIDEO_MENU)
TITLE:=DRM helper for ARM GPUs
DEPENDS:=+kmod-drm
HIDDEN:=1
KCONFIG:=CONFIG_DRM_SCHED
FILES:= \
$(LINUX_DIR)/drivers/gpu/drm/drm_shmem_helper.ko@gt5.17 \
$(LINUX_DIR)/drivers/gpu/drm/scheduler/gpu-sched.ko
AUTOLOAD:=$(call AutoProbe,gpu-sched)
endef
$(eval $(call KernelPackage,drm-sched))
define KernelPackage/drm-nouveau
SUBMENU:=$(VIDEO_MENU)
TITLE:=nouveau DRM support

View File

@ -24,7 +24,7 @@ endef
define Package/autocore-x86
TITLE:=x86/x64 auto core loadbalance script.
MAINTAINER:=Lean
DEPENDS:=@TARGET_x86 +bc +lm-sensors +ethtool
DEPENDS:=@TARGET_x86 +bc +lm-sensors +ethtool +pciutils
VARIANT:=x86
endef

View File

@ -509,7 +509,7 @@
if (!is_assoc)
icon = "<%=resource%>/icons/signal-none.png";
else if (net.quality == 0)
icon = "<%=resource%>/icons/signal-0.png";
icon = "<%=resource%>/icons/signal-75-100.png";
else if (net.quality < 25)
icon = "<%=resource%>/icons/signal-0-25.png";
else if (net.quality < 50)
@ -529,7 +529,7 @@
'<strong><%:Channel%>:</strong> %d (%.3f <%:GHz%>)<br />' +
'<strong><%:Bitrate%>:</strong> %s <%:Mbit/s%><br />',
icon, net.signal, net.noise,
net.quality,
(net.quality == 0) ? 100 : net.quality,
net.link, net.ssid || '?',
net.mode,
net.channel, net.frequency,

View File

@ -1,40 +1,45 @@
#!/usr/bin/lua
-- Copyright (C) 2022-2023 Tianling Shen <cnsztl@immortalwrt.org>
-- Copyright (C) 2022-2023 Lean
-- Copyright (C) 2022 ImmortalWrt.org
local util = require "luci.util"
local jsonc = require "luci.jsonc"
local eth_info = {}
local ifname, stat
for ifname, stat in pairs(util.ubus("network.device", "status")) do
if ifname:match("^(eth%d+)$") == ifname then
local status, speed, duplex
while true do
if (ifname:match("^(br-.+)$")) == ifname then
break
else
local status, speed, duplex
status = stat.carrier and 1 or 0
if(stat.speed ~= nil) then
status = stat.carrier and 1 or 0
if not stat.carrier or not stat.speed or stat.speed:sub(1, 1) == "-" or stat.speed:find("65535") then
speed = " - "
else
speed = stat.speed:sub(1, -2) .. "Mb/s"
end
if stat.speed:sub(1, 1) == "-" then
speed = " - "
else
speed = stat.speed:sub(1, -2) .. "Mb/s"
end
if speed == " - " then
duplex = 0
elseif stat.speed:sub(-1) == "F" then
duplex = 1
else
duplex = 0
end
if stat.carrier and stat.speed:sub(-1) == "F" then
duplex = 1
else
duplex = 0
end
eth_info[#eth_info+1] = { name = ifname, status = status,
speed = speed, duplex = duplex }
end
eth_info[#eth_info+1] = { name = ifname, status = status,
speed = speed, duplex = duplex }
end
break
end
end
end
table.sort(eth_info,
function(a, b)
return a.name < b.name
end)
function(a, b)
return a.name < b.name
end)
print(jsonc.stringify(eth_info))

View File

@ -25,14 +25,36 @@ start()
a=$(cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq)
b=$(echo -n ' : ')
c=$(cat /proc/cpuinfo | grep 'core id' | sort -u | wc -l)
d=$(echo -n ' Core ')
d=$(echo -n 'C')
e=$(cat /proc/cpuinfo | grep 'processor' | wc -l)
f=$(echo -n ' Thread ')
g=$(cat /tmp/sysinfo/model)
h=${g}' - '${a}${b}${c}${d}${e}${f}
f=$(echo -n 'T ')
g=$(dmesg | grep 'DMI:' | awk -F ',' '{print $1 }' | awk -F ':' '{print $2 }')
if [ -d /sys/devices/cpu_atom/ ]; then
pcore=$(cat /sys/devices/cpu_core/cpus | awk -F- '{print $2}')
pc=$(echo "($pcore+1)/2" | bc)
ecore1=$(cat /sys/devices/cpu_atom/cpus | awk -F- '{print $1}')
ecore2=$(cat /sys/devices/cpu_atom/cpus | awk -F- '{print $2}')
ec=$(echo "$ecore2-$ecore1+1" | bc)
hydrid='('${pc}'P+'${ec}'E)'
fi
h=${g}' - '${a}${b}${c}${d}${e}${f}${hydrid}
mkdir -p /tmp/sysinfo
echo $h > /tmp/sysinfo/model
all_pcis=`lspci | grep -i 'eth' | grep -i 'x550' | cut -d ' ' -f 1`
all_ifs=`cat /proc/net/dev | grep -i 'eth' | cut -d : -f 1 | sed 's/^[ \t]*//g'`
for ifname in ${all_ifs}
do
if_pci=`ethtool -i ${ifname} | grep -i 'bus-info' | cut -d : -f 3-`
if [[ "$all_pcis" =~ "$if_pci" ]]
then
ethtool -s ${ifname} advertise 0x1800000001028
fi
done
a=$(ip address | grep ^[0-9] | awk -F: '{print $2}' | sed "s/ //g" | grep '^[e]' | grep -v "@" | grep -v "\.")
b=$(echo "$a" | wc -l)
@ -50,4 +72,4 @@ start()
done
[ -f /etc/index.htm ] && mv /etc/index.htm /usr/lib/lua/luci/view/admin_status/index.htm
}
}

View File

@ -52,7 +52,7 @@
local user_info = luci.sys.exec("cat /proc/net/arp | grep '0x2' | wc -l") or 0
local cpu_usage = (luci.sys.exec("expr 100 - $(top -n 1 | grep 'CPU:' | awk -F '%' '{print$4}' | awk -F ' ' '{print$2}')") or "6") .. "%"
local cpu_usage = (luci.sys.exec("expr 100 - $(top -n 1 | grep -E '^CPU:' | awk -F '%' '{print$4}' | awk -F ' ' '{print$2}' | awk '{print int($1 + 0.5)}')") or "6") .. "%"
local rv = {
cpuusage = cpu_usage,
@ -518,7 +518,7 @@
if (!is_assoc)
icon = "<%=resource%>/icons/signal-none.png";
else if (net.quality == 0)
icon = "<%=resource%>/icons/signal-0.png";
icon = "<%=resource%>/icons/signal-75-100.png";
else if (net.quality < 25)
icon = "<%=resource%>/icons/signal-0-25.png";
else if (net.quality < 50)
@ -538,7 +538,7 @@
'<strong><%:Channel%>:</strong> %d (%.3f <%:GHz%>)<br />' +
'<strong><%:Bitrate%>:</strong> %s <%:Mbit/s%><br />',
icon, net.signal, net.noise,
net.quality,
(net.quality == 0) ? 100 : net.quality,
net.link, net.ssid || '?',
net.mode,
net.channel, net.frequency,

View File

@ -44,7 +44,7 @@ sed -i '/option disabled/d' /etc/config/wireless
sed -i '/set wireless.radio${devidx}.disabled/d' /lib/wifi/mac80211.sh
sed -i '/DISTRIB_REVISION/d' /etc/openwrt_release
echo "DISTRIB_REVISION='R23.8.5-D'" >> /etc/openwrt_release
echo "DISTRIB_REVISION='R23.11.6-D'" >> /etc/openwrt_release
sed -i '/DISTRIB_DESCRIPTION/d' /etc/openwrt_release
echo "DISTRIB_DESCRIPTION='OpenWrt '" >> /etc/openwrt_release

View File

@ -4,7 +4,7 @@ comment "Build Options"
config OPENSSL_OPTIMIZE_SPEED
bool
default y if x86_64 || i386
default y if (!SMALL_FLASH && !LOW_MEMORY_FOOTPRINT)
prompt "Enable optimization for speed instead of size"
select OPENSSL_WITH_ASM
help
@ -261,6 +261,7 @@ config OPENSSL_ENGINE
config OPENSSL_ENGINE_BUILTIN
bool "Build chosen engines into libcrypto"
default y if !SMALL_FLASH
depends on OPENSSL_ENGINE
help
This builds all chosen engines into libcrypto.so, instead of building
@ -270,6 +271,7 @@ config OPENSSL_ENGINE_BUILTIN
config OPENSSL_ENGINE_BUILTIN_AFALG
bool
default y if !SMALL_FLASH
prompt "Acceleration support through AF_ALG sockets engine"
depends on OPENSSL_ENGINE_BUILTIN && KERNEL_AIO
select PACKAGE_libopenssl-conf
@ -279,6 +281,7 @@ config OPENSSL_ENGINE_BUILTIN_AFALG
config OPENSSL_ENGINE_BUILTIN_DEVCRYPTO
bool
default y if !SMALL_FLASH
prompt "Acceleration support through /dev/crypto"
depends on OPENSSL_ENGINE_BUILTIN
select PACKAGE_libopenssl-conf

View File

@ -8,23 +8,26 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=openssl
PKG_VERSION:=3.0.10
PKG_VERSION:=3.0.12
PKG_RELEASE:=1
PKG_BUILD_FLAGS:=no-mips16 gc-sections no-lto
PKG_USE_MIPS16:=0
PKG_BUILD_FLAGS:=gc-sections no-lto
PKG_BUILD_PARALLEL:=1
PKG_BASE:=$(subst $(space),.,$(wordlist 1,2,$(subst .,$(space),$(PKG_VERSION))))
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= \
http://www.openssl.org/source/ \
http://www.openssl.org/source/old/$(PKG_BASE)/ \
http://ftp.fi.muni.cz/pub/openssl/source/ \
http://ftp.fi.muni.cz/pub/openssl/source/old/$(PKG_BASE)/ \
https://mirrors.tencent.com/openssl/source/ \
https://mirrors.tencent.com/openssl/source/old/$(PKG_BASE)/ \
https://www.openssl.org/source/ \
https://www.openssl.org/source/old/$(PKG_BASE)/ \
https://ftp.fi.muni.cz/pub/openssl/source/ \
https://ftp.fi.muni.cz/pub/openssl/source/old/$(PKG_BASE)/ \
ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/ \
ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/old/$(PKG_BASE)/
PKG_HASH:=1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323
PKG_HASH:=f93c9e8edde5e9166119de31755fc87b4aa34863662f67ddfcba14d0b6b69b61
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
@ -406,7 +409,7 @@ define Package/libopenssl/install
chmod 0700 $(1)/etc/ssl/private
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libcrypto.so.* $(1)/usr/lib/
$(LN) libcrypto.so.3 $(1)/usr/lib/libcrypto.so.1.1
$(LN) libcrypto.so.3 $(1)/usr/lib/libcrypto.so.1.1
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libssl.so.* $(1)/usr/lib/
$(LN) libssl.so.3 $(1)/usr/lib/libssl.so.1.1
$(if $(CONFIG_OPENSSL_ENGINE),$(INSTALL_DIR) $(1)/usr/lib/$(ENGINES_DIR))

View File

@ -10,7 +10,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
--- a/crypto/build.info
+++ b/crypto/build.info
@@ -111,7 +111,7 @@ DEFINE[../libcrypto]=$UPLINKDEF
@@ -109,7 +109,7 @@ DEFINE[../libcrypto]=$UPLINKDEF
DEPEND[info.o]=buildinf.h
DEPEND[cversion.o]=buildinf.h

View File

@ -562,6 +562,7 @@ dhcp_add() {
config_get ra_management "$cfg" ra_management
config_get ra_preference "$cfg" ra_preference
config_get dns "$cfg" dns
config_get dns_sl "$cfg" domain
config_list_foreach "$cfg" "interface_name" append_interface_name "$ifname"
@ -646,6 +647,13 @@ dhcp_add() {
fi
dhcp_option_append "option6:dns-server,$dnss" "$networkid"
if [ -n "$dns_sl" ]; then
ddssl=""
for dd in $dns_sl; do append ddssl "$dd" ","; done
fi
dhcp_option_append "option6:domain-search,$ddssl" "$networkid"
fi
dhcp_option_add "$cfg" "$networkid" 0
@ -1277,4 +1285,4 @@ stop_service() {
else
config_foreach dnsmasq_stop dnsmasq
fi
}
}

View File

@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#define NET_RX_SUCCESS 0 /* keep 'em coming, baby */
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -10534,6 +10534,22 @@ void netdev_set_default_ethtool_ops(stru
@@ -10563,6 +10563,22 @@ void netdev_set_default_ethtool_ops(stru
}
EXPORT_SYMBOL_GPL(netdev_set_default_ethtool_ops);

View File

@ -785,7 +785,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
*data += size;
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -6407,10 +6407,10 @@ ice_fetch_u64_stats_per_ring(struct u64_
@@ -6419,10 +6419,10 @@ ice_fetch_u64_stats_per_ring(struct u64_
unsigned int start;
do {
@ -866,7 +866,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
}
--- a/drivers/net/ethernet/intel/igc/igc_ethtool.c
+++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c
@@ -839,15 +839,15 @@ static void igc_ethtool_get_stats(struct
@@ -840,15 +840,15 @@ static void igc_ethtool_get_stats(struct
ring = adapter->tx_ring[j];
do {
@ -886,7 +886,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
data[i + 2] += restart2;
i += IGC_TX_QUEUE_STATS_LEN;
@@ -855,13 +855,13 @@ static void igc_ethtool_get_stats(struct
@@ -856,13 +856,13 @@ static void igc_ethtool_get_stats(struct
for (j = 0; j < adapter->num_rx_queues; j++) {
ring = adapter->rx_ring[j];
do {
@ -904,7 +904,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
spin_unlock(&adapter->stats64_lock);
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -4865,10 +4865,10 @@ void igc_update_stats(struct igc_adapter
@@ -4868,10 +4868,10 @@ void igc_update_stats(struct igc_adapter
}
do {
@ -917,7 +917,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
bytes += _bytes;
packets += _packets;
}
@@ -4882,10 +4882,10 @@ void igc_update_stats(struct igc_adapter
@@ -4885,10 +4885,10 @@ void igc_update_stats(struct igc_adapter
struct igc_ring *ring = adapter->tx_ring[i];
do {
@ -1709,7 +1709,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
}
--- a/drivers/net/macsec.c
+++ b/drivers/net/macsec.c
@@ -2800,9 +2800,9 @@ static void get_rx_sc_stats(struct net_d
@@ -2802,9 +2802,9 @@ static void get_rx_sc_stats(struct net_d
stats = per_cpu_ptr(rx_sc->stats, cpu);
do {
@ -1721,7 +1721,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sum->InOctetsValidated += tmp.InOctetsValidated;
sum->InOctetsDecrypted += tmp.InOctetsDecrypted;
@@ -2881,9 +2881,9 @@ static void get_tx_sc_stats(struct net_d
@@ -2883,9 +2883,9 @@ static void get_tx_sc_stats(struct net_d
stats = per_cpu_ptr(macsec_priv(dev)->secy.tx_sc.stats, cpu);
do {
@ -1733,7 +1733,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
sum->OutPktsProtected += tmp.OutPktsProtected;
sum->OutPktsEncrypted += tmp.OutPktsEncrypted;
@@ -2937,9 +2937,9 @@ static void get_secy_stats(struct net_de
@@ -2939,9 +2939,9 @@ static void get_secy_stats(struct net_de
stats = per_cpu_ptr(macsec_priv(dev)->stats, cpu);
do {

View File

@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/dsa/qca/qca8k-8xxx.c
+++ b/drivers/net/dsa/qca/qca8k-8xxx.c
@@ -743,9 +743,9 @@ qca8k_mdio_busy_wait(struct mii_bus *bus
@@ -754,9 +754,9 @@ qca8k_mdio_busy_wait(struct mii_bus *bus
qca8k_split_addr(reg, &r1, &r2, &page);
@ -40,7 +40,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* Check if qca8k_read has failed for a different reason
* before returnting -ETIMEDOUT
@@ -787,7 +787,7 @@ qca8k_mdio_write(struct qca8k_priv *priv
@@ -798,7 +798,7 @@ qca8k_mdio_write(struct qca8k_priv *priv
exit:
/* even if the busy_wait timeouts try to clear the MASTER_EN */
@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mutex_unlock(&bus->mdio_lock);
@@ -817,18 +817,18 @@ qca8k_mdio_read(struct qca8k_priv *priv,
@@ -828,18 +828,18 @@ qca8k_mdio_read(struct qca8k_priv *priv,
if (ret)
goto exit;

View File

@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3590,6 +3590,11 @@ static int xmit_one(struct sk_buff *skb,
@@ -3619,6 +3619,11 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);

View File

@ -20,7 +20,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
{QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -244,6 +244,8 @@ static void option_instat_callback(struc
@@ -247,6 +247,8 @@ static void option_instat_callback(struc
#define UBLOX_PRODUCT_R410M 0x90b2
/* These Yuga products use Qualcomm's vendor ID */
#define YUGA_PRODUCT_CLM920_NC5 0x9625
@ -29,7 +29,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
#define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */
@@ -1181,6 +1183,11 @@ static const struct usb_device_id option
@@ -1186,6 +1188,11 @@ static const struct usb_device_id option
.driver_info = ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) },

View File

@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -3032,11 +3032,13 @@ static const struct seq_operations fib_r
@@ -3036,11 +3036,13 @@ static const struct seq_operations fib_r
int __net_init fib_proc_init(struct net *net)
{
@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
fib_triestat_seq_show, NULL))
goto out2;
@@ -3047,17 +3049,21 @@ int __net_init fib_proc_init(struct net
@@ -3051,17 +3053,21 @@ int __net_init fib_proc_init(struct net
return 0;
out3:

View File

@ -92,7 +92,7 @@
struct net_bridge_port *p;
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3586,9 +3586,17 @@ static int xmit_one(struct sk_buff *skb,
@@ -3615,9 +3615,17 @@ static int xmit_one(struct sk_buff *skb,
{
unsigned int len;
int rc;
@ -111,7 +111,7 @@
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
if (dev->eth_mangle_tx && !(skb = dev->eth_mangle_tx(dev, skb)))
@@ -5249,6 +5257,11 @@ void netdev_rx_handler_unregister(struct
@@ -5278,6 +5286,11 @@ void netdev_rx_handler_unregister(struct
}
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
@ -123,7 +123,7 @@
/*
* Limit the use of PFMEMALLOC reserves to those protocols that implement
* the special handling of PFMEMALLOC skbs.
@@ -5297,6 +5310,10 @@ static int __netif_receive_skb_core(stru
@@ -5326,6 +5339,10 @@ static int __netif_receive_skb_core(stru
int ret = NET_RX_DROP;
__be16 type;
@ -134,7 +134,7 @@
net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb);
trace_netif_receive_skb(skb);
@@ -5334,6 +5351,15 @@ another_round:
@@ -5363,6 +5380,15 @@ another_round:
goto out;
}

View File

@ -1,6 +1,6 @@
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -629,6 +629,58 @@ static void option_instat_callback(struc
@@ -632,6 +632,58 @@ static void option_instat_callback(struc
static const struct usb_device_id option_ids[] = {

View File

@ -65,8 +65,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int absolute_percpu;
static int base_relative;
static int lto_clang;
@@ -605,6 +606,9 @@ static void write_src(void)
printf("\t.long\t%u\n", table[i]->seq);
@@ -608,6 +609,9 @@ static void write_src(void)
(unsigned char)(table[i]->seq >> 0));
printf("\n");
+ if (uncompressed)
@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
output_label("kallsyms_token_table");
off = 0;
for (i = 0; i < 256; i++) {
@@ -656,6 +660,9 @@ static unsigned char *find_token(unsigne
@@ -659,6 +663,9 @@ static unsigned char *find_token(unsigne
{
int i;
@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
for (i = 0; i < len - 1; i++) {
if (str[i] == token[0] && str[i+1] == token[1])
return &str[i];
@@ -728,6 +735,9 @@ static void optimize_result(void)
@@ -731,6 +738,9 @@ static void optimize_result(void)
{
int i, best;
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* using the '\0' symbol last allows compress_symbols to use standard
* fast string functions */
for (i = 255; i >= 0; i--) {
@@ -889,6 +899,7 @@ int main(int argc, char **argv)
@@ -892,6 +902,7 @@ int main(int argc, char **argv)
{"absolute-percpu", no_argument, &absolute_percpu, 1},
{"base-relative", no_argument, &base_relative, 1},
{"lto-clang", no_argument, &lto_clang, 1},

View File

@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static void rt_fibinfo_free(struct rtable __rcu **rtp)
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -2779,6 +2779,7 @@ static const char *const rtn_type_names[
@@ -2783,6 +2783,7 @@ static const char *const rtn_type_names[
[RTN_THROW] = "THROW",
[RTN_NAT] = "NAT",
[RTN_XRESOLVE] = "XRESOLVE",

View File

@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -7608,6 +7608,48 @@ static void __netdev_adjacent_dev_unlink
@@ -7637,6 +7637,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
@@ -7659,6 +7701,7 @@ static int __netdev_upper_dev_link(struc
@@ -7688,6 +7730,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
@@ -7755,6 +7798,7 @@ static void __netdev_upper_dev_unlink(st
@@ -7784,6 +7827,7 @@ static void __netdev_upper_dev_unlink(st
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
@@ -8807,6 +8851,7 @@ int dev_set_mac_address(struct net_devic
@@ -8836,6 +8880,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;

View File

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4608,7 +4608,7 @@ static int napi_schedule_rps(struct soft
@@ -4637,7 +4637,7 @@ static int napi_schedule_rps(struct soft
struct softnet_data *mysd = this_cpu_ptr(&softnet_data);
#ifdef CONFIG_RPS
@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
sd->rps_ipi_next = mysd->rps_ipi_list;
mysd->rps_ipi_list = sd;
@@ -5789,6 +5789,8 @@ static DEFINE_PER_CPU(struct work_struct
@@ -5818,6 +5818,8 @@ static DEFINE_PER_CPU(struct work_struct
/* Network device is going away, flush any packets still pending */
static void flush_backlog(struct work_struct *work)
{
@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct sk_buff *skb, *tmp;
struct softnet_data *sd;
@@ -5803,8 +5805,17 @@ static void flush_backlog(struct work_st
@@ -5832,8 +5834,17 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
if (skb->dev->reg_state == NETREG_UNREGISTERING) {
__skb_unlink(skb, &sd->process_queue);
@@ -5812,7 +5823,16 @@ static void flush_backlog(struct work_st
@@ -5841,7 +5852,16 @@ static void flush_backlog(struct work_st
input_queue_head_incr(sd);
}
}
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}
static bool flush_required(int cpu)
@@ -5944,6 +5964,7 @@ static int process_backlog(struct napi_s
@@ -5973,6 +5993,7 @@ static int process_backlog(struct napi_s
}
rps_lock_irq_disable(sd);
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (skb_queue_empty(&sd->input_pkt_queue)) {
/*
* Inline a custom version of __napi_complete().
@@ -5953,7 +5974,8 @@ static int process_backlog(struct napi_s
@@ -5982,7 +6003,8 @@ static int process_backlog(struct napi_s
* We can use a plain write instead of clear_bit(),
* and we dont need an smp_mb() memory barrier.
*/
@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
again = false;
} else {
skb_queue_splice_tail_init(&sd->input_pkt_queue,
@@ -6369,6 +6391,55 @@ int dev_set_threaded(struct net_device *
@@ -6398,6 +6420,55 @@ int dev_set_threaded(struct net_device *
}
EXPORT_SYMBOL(dev_set_threaded);
@ -157,7 +157,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
@@ -11157,6 +11228,9 @@ static int dev_cpu_dead(unsigned int old
@@ -11196,6 +11267,9 @@ static int dev_cpu_dead(unsigned int old
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();
@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#ifdef CONFIG_RPS
remsd = oldsd->rps_ipi_list;
oldsd->rps_ipi_list = NULL;
@@ -11460,6 +11534,7 @@ static int __init net_dev_init(void)
@@ -11499,6 +11573,7 @@ static int __init net_dev_init(void)
INIT_CSD(&sd->defer_csd, trigger_rx_softirq, sd);
spin_lock_init(&sd->defer_lock);

View File

@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @qc: Metadata associated with the taskfile to build
@@ -4622,6 +4635,9 @@ void __ata_qc_complete(struct ata_queued
@@ -4712,6 +4725,9 @@ void __ata_qc_complete(struct ata_queued
link->active_tag = ATA_TAG_POISON;
ap->nr_active_links--;
}
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/* clear exclusive status */
if (unlikely(qc->flags & ATA_QCFLAG_CLEAR_EXCL &&
@@ -5344,6 +5360,9 @@ struct ata_port *ata_port_alloc(struct a
@@ -5434,6 +5450,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ata_sff_port_init(ap);
return ap;
@@ -5379,6 +5398,12 @@ static void ata_host_release(struct kref
@@ -5469,6 +5488,12 @@ static void ata_host_release(struct kref
kfree(ap->pmp_link);
kfree(ap->slave_link);
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
kfree(ap);
host->ports[i] = NULL;
}
@@ -5781,7 +5806,23 @@ int ata_host_register(struct ata_host *h
@@ -5871,7 +5896,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1;
}
@ -134,7 +134,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/*
* Define if arch has non-standard setup. This is a _PCI_ standard
@@ -861,6 +864,12 @@ struct ata_port {
@@ -864,6 +867,12 @@ struct ata_port {
#ifdef CONFIG_ATA_ACPI
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
#endif

View File

@ -1,6 +1,6 @@
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -268,6 +268,7 @@ static void option_instat_callback(struc
@@ -271,6 +271,7 @@ static void option_instat_callback(struc
#define QUECTEL_PRODUCT_EM12 0x0512
#define QUECTEL_PRODUCT_RM500Q 0x0800
#define QUECTEL_PRODUCT_RM520N 0x0801
@ -8,7 +8,7 @@
#define QUECTEL_PRODUCT_EC200U 0x0901
#define QUECTEL_PRODUCT_EC200S_CN 0x6002
#define QUECTEL_PRODUCT_EC200A 0x6005
@@ -1238,6 +1239,7 @@ static const struct usb_device_id option
@@ -1243,6 +1244,7 @@ static const struct usb_device_id option
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) },
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) },
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500K, 0xff, 0x00, 0x00) },

3
target/linux/mediatek/Makefile Normal file → Executable file
View File

@ -12,6 +12,7 @@ KERNEL_PATCHVER:=5.15
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += \
kmod-leds-gpio kmod-gpio-button-hotplug
kmod-leds-gpio kmod-gpio-button-hotplug \
autocore-arm htop wpad-openssl uboot-envtools
$(eval $(call BuildTarget))

0
target/linux/mediatek/base-files/etc/inittab Normal file → Executable file
View File

View File

View File

View File

View File

View File

0
target/linux/mediatek/dts/mt7622-linksys-e8450-ubi.dts Normal file → Executable file
View File

0
target/linux/mediatek/dts/mt7622-linksys-e8450.dts Normal file → Executable file
View File

0
target/linux/mediatek/dts/mt7622-linksys-e8450.dtsi Normal file → Executable file
View File

Some files were not shown because too many files have changed in this diff Show More