Merge Official Source

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
Tianling Shen 2025-07-26 19:22:24 +08:00
commit bbc4309254
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
48 changed files with 145 additions and 181 deletions

View File

@ -18,10 +18,20 @@ define gen_package_wildcard
$(1)$$(if $$(filter -%,$$(ABIV_$(1))),,[^a-z$(if $(CONFIG_USE_APK),,-)])*
endef
# 1: command and initial arguments
# 2: arguments list
# 3: tmp filename
define maybe_use_xargs
$(if $(word 512,$(2)), \
$(file >$(3),$(2)) $(XARGS) $(1) < "$(3)"; rm "$(3)", \
$(1) $(2))
endef
# 1: package name
# 2: candidate ipk files
define remove_ipkg_files
$(if $(strip $(2)),$(SCRIPT_DIR)/ipkg-remove $(1) $(2))
$(if $(strip $(2)), \
$(call maybe_use_xargs,$(SCRIPT_DIR)/ipkg-remove $(1),$(2),$(TMP_DIR)/$(1).in))
endef
# 1: package name

View File

@ -419,7 +419,7 @@ $(eval $(call KernelPackage,md-raid456))
define KernelPackage/md-multipath
$(call KernelPackage/md/Depends,)
$(call KernelPackage/md/Depends,@LINUX_6_6)
TITLE:=MD Multipath Module
KCONFIG:=CONFIG_MD_MULTIPATH
FILES:=$(LINUX_DIR)/drivers/md/multipath.ko

View File

@ -251,6 +251,7 @@ $(eval $(call KernelPackage,crypto-echainiv))
define KernelPackage/crypto-engine
TITLE:=Crypto engine
HIDDEN:=1
KCONFIG:=CONFIG_CRYPTO_ENGINE
FILES:=$(LINUX_DIR)/crypto/crypto_engine.ko
AUTOLOAD:=$(call AutoLoad,09,crypto_engine)
@ -561,6 +562,7 @@ $(eval $(call KernelPackage,crypto-kpp))
define KernelPackage/crypto-lib-aescfb
TITLE:=AES cipher operations feedback mode library
DEPENDS:=@!LINUX_6_6
HIDDEN:=1
KCONFIG:=CONFIG_CRYPTO_LIB_AESCFB
FILES:=$(LINUX_DIR)/lib/crypto/libaescfb.ko
AUTOLOAD:=$(call AutoLoad,09,libaescfb)

View File

@ -536,7 +536,9 @@ define KernelPackage/fs-nfs-v4
KCONFIG:= \
CONFIG_NFS_V4=y
FILES:= \
$(LINUX_DIR)/fs/nfs/nfsv4.ko
$(LINUX_DIR)/fs/nfs/nfsv4.ko \
$(LINUX_DIR)/fs/nfs/flexfilelayout/nfs_layout_flexfiles.ko \
$(LINUX_DIR)/fs/nfs/filelayout/nfs_layout_nfsv41_files.ko
AUTOLOAD:=$(call AutoLoad,41,nfsv4)
endef

View File

@ -407,7 +407,7 @@ define KernelPackage/hwmon-max6642
KCONFIG:=CONFIG_SENSORS_MAX6642
FILES:=$(LINUX_DIR)/drivers/hwmon/max6642.ko
AUTOLOAD:=$(call AutoLoad,60,max6642 max6642)
$(call AddDepends/hwmon,+kmod-i2c-core)
$(call AddDepends/hwmon,@LINUX_6_6 +kmod-i2c-core)
endef
define KernelPackage/hwmon-max6642/description
@ -529,7 +529,7 @@ define KernelPackage/hwmon-pwmfan
KCONFIG:=CONFIG_SENSORS_PWM_FAN
FILES:=$(LINUX_DIR)/drivers/hwmon/pwm-fan.ko
AUTOLOAD:=$(call AutoLoad,60,pwm-fan)
$(call AddDepends/hwmon, +PACKAGE_kmod-thermal:kmod-thermal)
$(call AddDepends/hwmon,@PWM_SUPPORT +PACKAGE_kmod-thermal:kmod-thermal)
endef
define KernelPackage/hwmon-pwmfan/description

View File

@ -49,6 +49,7 @@ $(eval $(call KernelPackage,iio-kfifo-buf))
define KernelPackage/industrialio-backend
TITLE:=IIO Backend support
HIDDEN:=1
KCONFIG=CONFIG_IIO_BACKEND
FILES:=$(LINUX_DIR)/drivers/iio/industrialio-backend.ko
AUTOLOAD:=$(call AutoProbe,industrialio-backend)

View File

@ -58,6 +58,7 @@ $(eval $(call KernelPackage,ledtrig-activity))
define KernelPackage/ledtrig-audio
SUBMENU:=$(LEDS_MENU)
TITLE:=LED Audio Mute Trigger
DEPENDS:=@LINUX_6_6
KCONFIG:=CONFIG_LEDS_TRIGGER_AUDIO
FILES:=$(LED_TRIGGER_DIR)/ledtrig-audio.ko
AUTOLOAD:=$(call AutoLoad,50,ledtrig-audio)

View File

@ -359,6 +359,7 @@ $(eval $(call KernelPackage,oid-registry))
define KernelPackage/lib-objagg
SUBMENU:=$(LIB_MENU)
TITLE:=objagg support
HIDDEN:=1
FILES:=$(LINUX_DIR)/lib/objagg.ko
KCONFIG:= \
CONFIG_OBJAGG \
@ -372,6 +373,7 @@ $(eval $(call KernelPackage,lib-objagg))
define KernelPackage/lib-parman
SUBMENU:=$(LIB_MENU)
TITLE:=parman support
HIDDEN:=1
FILES:=$(LINUX_DIR)/lib/parman.ko
KCONFIG:= \
CONFIG_PARMAN \

View File

@ -36,7 +36,7 @@ $(eval $(call KernelPackage,skge))
define KernelPackage/ag71xx
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Atheros AR7XXX/AR9XXX ethernet mac support
DEPENDS:=@PCI_SUPPORT||TARGET_ath79 +kmod-phylink +kmod-mdio-devres +kmod-net-selftests
DEPENDS:=@TARGET_ath79 +kmod-phylink +kmod-mdio-devres +kmod-net-selftests
KCONFIG:=CONFIG_AG71XX
FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/ag71xx.ko
AUTOLOAD:=$(call AutoLoad,50,ag71xx,1)
@ -374,6 +374,23 @@ endef
$(eval $(call KernelPackage,phy-broadcom))
define KernelPackage/phy-bcm7xxx
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Broadcom 7xxx SOCs internal PHYs
KCONFIG:=CONFIG_BCM7XXX_PHY
DEPENDS:=+kmod-libphy +kmod-phylib-broadcom
FILES:=$(LINUX_DIR)/drivers/net/phy/bcm7xxx.ko
AUTOLOAD:=$(call AutoLoad,18,bcm7xxx,1)
endef
define KernelPackage/phy-bcm7xxx/description
Currently supports the BCM7366, BCM7439, BCM7445, and
40nm and 65nm generation of BCM7xxx Set Top Box SoCs.
endef
$(eval $(call KernelPackage,phy-bcm7xxx))
define KernelPackage/phy-bcm84881
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Broadcom BCM84881 PHY driver
@ -587,10 +604,25 @@ endef
$(eval $(call KernelPackage,dsa))
define KernelPackage/dsa-notag
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=DSA No-op tag driver
DEPENDS:=+kmod-dsa
KCONFIG:=CONFIG_NET_DSA_TAG_NONE
FILES:=$(LINUX_DIR)/net/dsa/tag_none.ko
endef
define KernelPackage/dsa-notag/description
Kernel module support for switches which don't tag frames over the CPU port.
endef
$(eval $(call KernelPackage,dsa-notag))
define KernelPackage/dsa-b53
SUBMENU:=$(NETWORK_DEVICES_MENU)
TITLE:=Broadcom BCM53xx managed switch DSA support
DEPENDS:=+kmod-dsa
DEPENDS:=+kmod-dsa +kmod-dsa-notag
KCONFIG:=CONFIG_B53 \
CONFIG_NET_DSA_TAG_BRCM \
CONFIG_NET_DSA_TAG_BRCM_LEGACY \

View File

@ -781,7 +781,7 @@ $(eval $(call KernelPackage,sched-act-sample))
define KernelPackage/sched-act-ipt
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=IPtables targets
DEPENDS:=+kmod-ipt-core +kmod-sched-core
DEPENDS:=@LINUX_6_6 +kmod-ipt-core +kmod-sched-core
KCONFIG:=CONFIG_NET_ACT_IPT
FILES:=$(LINUX_DIR)/net/sched/act_ipt.ko
AUTOLOAD:=$(call AutoProbe, act_ipt)

View File

@ -220,7 +220,7 @@ define KernelPackage/pinctrl-mcp23s08
SUBMENU:=$(OTHER_MENU)
TITLE:=Microchip MCP23xxx I/O expander
HIDDEN:=1
DEPENDS:=@GPIO_SUPPORT +kmod-regmap-core
DEPENDS:=@GPIO_SUPPORT @PINCTRL_SUPPORT +kmod-regmap-core
KCONFIG:=CONFIG_PINCTRL_MCP23S08
FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko
AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08)

View File

@ -361,7 +361,7 @@ $(eval $(call KernelPackage,sound-dummy))
define KernelPackage/sound-hda-core
SUBMENU:=$(SOUND_MENU)
TITLE:=HD Audio Sound Core Support
DEPENDS:=+kmod-ledtrig-audio
DEPENDS:=+LINUX_6_6:kmod-ledtrig-audio
KCONFIG:= \
CONFIG_SND_HDA_CORE \
CONFIG_SND_HDA_HWDEP=y \

View File

@ -86,7 +86,7 @@ $(eval $(call KernelPackage,backlight))
define KernelPackage/backlight-pwm
SUBMENU:=$(VIDEO_MENU)
TITLE:=PWM Backlight support
DEPENDS:=+kmod-backlight
DEPENDS:=@PWM_SUPPORT +kmod-backlight
KCONFIG:=CONFIG_BACKLIGHT_PWM
FILES:=$(LINUX_DIR)/drivers/video/backlight/pwm_bl.ko
AUTOLOAD:=$(call AutoProbe,video pwm_bl)
@ -325,6 +325,7 @@ define KernelPackage/drm-buddy
SUBMENU:=$(VIDEO_MENU)
TITLE:=A page based buddy allocator
DEPENDS:=@DISPLAY_SUPPORT +kmod-drm
HIDDEN:=1
KCONFIG:=CONFIG_DRM_BUDDY
FILES:= $(LINUX_DIR)/drivers/gpu/drm/drm_buddy.ko
AUTOLOAD:=$(call AutoProbe,drm_buddy)
@ -340,6 +341,7 @@ define KernelPackage/drm-display-helper
SUBMENU:=$(VIDEO_MENU)
TITLE:=DRM helpers for display adapters drivers
DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-kms-helper
HIDDEN:=1
KCONFIG:=CONFIG_DRM_DISPLAY_HELPER
FILES:=$(LINUX_DIR)/drivers/gpu/drm/display/drm_display_helper.ko
AUTOLOAD:=$(call AutoProbe,drm_display_helper)
@ -860,6 +862,7 @@ $(eval $(call KernelPackage,video-videobuf2))
define KernelPackage/video-async
TITLE:=V4L2 ASYNC support
HIDDEN:=1
KCONFIG:=CONFIG_V4L2_ASYNC
FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-async.ko
$(call AddDepends/video)
@ -870,6 +873,7 @@ $(eval $(call KernelPackage,video-async))
define KernelPackage/video-fwnode
TITLE:=V4L2 FWNODE support
HIDDEN:=1
KCONFIG:=CONFIG_V4L2_FWNODE
FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-fwnode.ko
$(call AddDepends/video,+kmod-video-async)
@ -878,21 +882,6 @@ endef
$(eval $(call KernelPackage,video-fwnode))
define KernelPackage/video-cpia2
TITLE:=CPIA2 video driver
DEPENDS:=@USB_SUPPORT
KCONFIG:=CONFIG_VIDEO_CPIA2
FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/cpia2/cpia2.ko
AUTOLOAD:=$(call AutoProbe,cpia2)
$(call AddDepends/camera)
endef
define KernelPackage/video-cpia2/description
Kernel modules for supporting CPIA2 USB based cameras
endef
$(eval $(call KernelPackage,video-cpia2))
define KernelPackage/video-pwc
TITLE:=Philips USB webcam support

View File

@ -23,7 +23,7 @@
"https://mirror.cogentco.com/pub/apache",
"https://mirror.navercorp.com/apache",
"https://ftp.jaist.ac.jp/pub/apache",
"https://apache.cs.utah.edu/apache.org",
"https://apache.cs.utah.edu",
"http://apache.mirrors.ovh.net/ftp.apache.org/dist"
],
"@GITHUB": [
@ -58,7 +58,6 @@
"https://mirrors.mit.edu/kernel",
"http://ftp.nara.wide.ad.jp/pub/kernel.org",
"http://www.ring.gr.jp/archives/linux/kernel.org",
"https://ftp.riken.jp/Linux/kernel.org",
"https://www.mirrorservice.org/sites/ftp.kernel.org/pub"
],
"@GNOME": [
@ -66,8 +65,6 @@
"https://mirror.nju.edu.cn/gnome",
"https://download.gnome.org/sources",
"https://mirror.csclub.uwaterloo.ca/gnome/sources",
"https://ftp.acc.umu.se/pub/GNOME/sources",
"http://ftp.cse.buffalo.edu/pub/Gnome/sources",
"http://ftp.nara.wide.ad.jp/pub/X11/GNOME/sources"
],
"@OPENWRT": [

View File

@ -3,7 +3,7 @@ define KernelPackage/ata-dwc
KCONFIG:=CONFIG_SATA_DWC
FILES:=$(LINUX_DIR)/drivers/ata/sata_dwc_460ex.ko
AUTOLOAD:=$(call AutoLoad,40,sata_dwc_460ex,1)
$(call AddDepends/ata)
$(call AddDepends/ata,@TARGET_apm821xx)
endef
define KernelPackage/ata-dwc/description

View File

@ -15,7 +15,7 @@ $(eval $(call KernelPackage,acpi-mdio))
define KernelPackage/bcmgenet
SUBMENU=$(NETWORK_DEVICES_MENU)
DEPENDS:=@TARGET_armsr +kmod-mdio-bcm-unimac
DEPENDS:=@TARGET_armsr +kmod-mdio-bcm-unimac +kmod-phy-bcm7xxx
TITLE:=Broadcom GENET internal MAC (Raspberry Pi 4)
KCONFIG:=CONFIG_BCMGENET
FILES=$(LINUX_DIR)/drivers/net/ethernet/broadcom/genet/genet.ko
@ -190,6 +190,7 @@ $(eval $(call KernelPackage,mvpp2))
define KernelPackage/imx2-wdt
SUBMENU:=$(OTHER_MENU)
TITLE:=NXP (Freescale) i.MX2+ and Layerscape watchdog driver
DEPENDS:=@TARGET_armsr
KCONFIG:=CONFIG_IMX2_WDT
FILES=$(LINUX_DIR)/drivers/watchdog/imx2_wdt.ko
AUTOLOAD=$(call AutoLoad,60,imx2_wdt)
@ -200,6 +201,7 @@ $(eval $(call KernelPackage,imx2-wdt))
define KernelPackage/imx7-ulp-wdt
SUBMENU:=$(OTHER_MENU)
TITLE:=NXP (Freescale) i.MX7ULP and later watchdog
DEPENDS:=@TARGET_armsr
KCONFIG:=CONFIG_IMX7ULP_WDT
FILES=$(LINUX_DIR)/drivers/watchdog/imx7ulp_wdt.ko
AUTOLOAD=$(call AutoLoad,60,imx7ulp_wdt)
@ -307,6 +309,7 @@ $(eval $(call KernelPackage,renesas-net-avb))
define KernelPackage/wdt-sp805
SUBMENU:=$(OTHER_MENU)
TITLE:=ARM SP805 Watchdog
DEPENDS:=@TARGET_armsr
KCONFIG:=CONFIG_ARM_SP805_WATCHDOG
FILES=$(LINUX_DIR)/drivers/watchdog/sp805_wdt.ko
AUTOLOAD=$(call AutoLoad,50,sp805_wdt)

View File

@ -45,7 +45,7 @@ define KernelPackage/rpi-panel-attiny-regulator
KCONFIG:=CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY
FILES:=$(LINUX_DIR)/drivers/regulator/rpi-panel-attiny-regulator.ko
AUTOLOAD:=$(call AutoLoad,67,rpi-panel-attiny-regulator)
DEPENDS:=+kmod-regmap-i2c +kmod-backlight
DEPENDS:=@TARGET_bcm27xx +kmod-regmap-i2c +kmod-backlight
endef
define KernelPackage/rpi-panel-attiny-regulator/description
@ -64,8 +64,8 @@ define KernelPackage/rpi-panel-7inch-touchscreen
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
CONFIG_DRM_MIPI_DSI=y
FILES:=$(LINUX_DIR)/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.ko
AUTOLOAD:=$(call AutoProbe,/panel-raspberrypi-touchscreen)
DEPENDS:=+kmod-drm
AUTOLOAD:=$(call AutoProbe,panel-raspberrypi-touchscreen)
DEPENDS:=@TARGET_bcm27xx +kmod-drm
endef
define KernelPackage/rpi-panel-7inch-touchscreen/description

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
@@ -5757,7 +5757,7 @@ static void port_event(struct usb_hub *h
@@ -5786,7 +5786,7 @@ static void port_event(struct usb_hub *h
port_dev->over_current_count++;
port_over_current_notify(port_dev);

View File

@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static const struct vchiq_platform_info bcm2835_info = {
.cache_line_size = 32,
@@ -1759,6 +1760,7 @@ static int vchiq_probe(struct platform_d
@@ -1760,6 +1761,7 @@ static int vchiq_probe(struct platform_d
vchiq_debugfs_init(&mgmt->state);
@ -29,7 +29,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio");
bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera");
@@ -1777,6 +1779,7 @@ static void vchiq_remove(struct platform
@@ -1778,6 +1780,7 @@ static void vchiq_remove(struct platform
vchiq_device_unregister(bcm2835_audio);
vchiq_device_unregister(bcm2835_camera);

View File

@ -22,7 +22,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
static struct vchiq_device *vcsm_cma;
static const struct vchiq_platform_info bcm2835_info = {
@@ -1761,6 +1762,7 @@ static int vchiq_probe(struct platform_d
@@ -1762,6 +1763,7 @@ static int vchiq_probe(struct platform_d
vchiq_debugfs_init(&mgmt->state);
vcsm_cma = vchiq_device_register(&pdev->dev, "vcsm-cma");
@ -30,7 +30,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio");
bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera");
@@ -1779,6 +1781,7 @@ static void vchiq_remove(struct platform
@@ -1780,6 +1782,7 @@ static void vchiq_remove(struct platform
vchiq_device_unregister(bcm2835_audio);
vchiq_device_unregister(bcm2835_camera);

View File

@ -234,7 +234,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
dev_dbg(&pdev->dev, "arm: vchiq_init - done (slots %pK, phys %pad)\n",
vchiq_slot_zero, &slot_phys);
@@ -1710,6 +1776,7 @@ void vchiq_platform_conn_state_changed(s
@@ -1711,6 +1777,7 @@ void vchiq_platform_conn_state_changed(s
static const struct of_device_id vchiq_of_match[] = {
{ .compatible = "brcm,bcm2835-vchiq", .data = &bcm2835_info },
{ .compatible = "brcm,bcm2836-vchiq", .data = &bcm2836_info },

View File

@ -21,7 +21,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
static struct vchiq_device *vcsm_cma;
static const struct vchiq_platform_info bcm2835_info = {
@@ -1857,6 +1858,7 @@ static int vchiq_probe(struct platform_d
@@ -1858,6 +1859,7 @@ static int vchiq_probe(struct platform_d
bcm2835_codec = vchiq_device_register(&pdev->dev, "bcm2835-codec");
bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio");
bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera");
@ -29,7 +29,7 @@ Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
return 0;
@@ -1871,6 +1873,7 @@ static void vchiq_remove(struct platform
@@ -1872,6 +1874,7 @@ static void vchiq_remove(struct platform
struct vchiq_drv_mgmt *mgmt = dev_get_drvdata(&pdev->dev);
struct vchiq_arm_state *arm_state;

View File

@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
#include <linux/of_irq.h>
#include <linux/platform_device.h>
#include <linux/scatterlist.h>
@@ -1347,8 +1346,8 @@ static int bcm2835_probe(struct platform
@@ -1348,8 +1347,8 @@ static int bcm2835_probe(struct platform
struct device *dev = &pdev->dev;
struct clk *clk;
struct bcm2835_host *host;
@ -32,7 +32,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
int ret;
dev_dbg(dev, "%s\n", __func__);
@@ -1361,23 +1360,13 @@ static int bcm2835_probe(struct platform
@@ -1362,23 +1361,13 @@ static int bcm2835_probe(struct platform
host->pdev = pdev;
spin_lock_init(&host->lock);

View File

@ -65,7 +65,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
}
static void bcm2835_reset(struct mmc_host *mmc)
@@ -595,6 +607,25 @@ static void bcm2835_finish_request(struc
@@ -596,6 +608,25 @@ static void bcm2835_finish_request(struc
mrq = host->mrq;
@ -91,7 +91,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
host->mrq = NULL;
host->cmd = NULL;
host->data = NULL;
@@ -1091,8 +1122,13 @@ static void bcm2835_dma_complete_work(st
@@ -1092,8 +1123,13 @@ static void bcm2835_dma_complete_work(st
static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock)
{
struct mmc_host *mmc = mmc_from_priv(host);
@ -105,7 +105,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
/* The SDCDIV register has 11 bits, and holds (div - 2). But
* in data mode the max is 50MHz wihout a minimum, and only
* the bottom 3 bits are used. Since the switch over is
@@ -1114,38 +1150,78 @@ static void bcm2835_set_clock(struct bcm
@@ -1115,38 +1151,78 @@ static void bcm2835_set_clock(struct bcm
* clock divisor at all times.
*/
@ -205,7 +205,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
}
static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
@@ -1175,6 +1251,9 @@ static void bcm2835_request(struct mmc_h
@@ -1176,6 +1252,9 @@ static void bcm2835_request(struct mmc_h
return;
}
@ -215,7 +215,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
mutex_lock(&host->mutex);
WARN_ON(host->mrq);
@@ -1198,7 +1277,7 @@ static void bcm2835_request(struct mmc_h
@@ -1199,7 +1278,7 @@ static void bcm2835_request(struct mmc_h
return;
}
@ -224,7 +224,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
bcm2835_prepare_dma(host, mrq->data);
host->use_sbc = !!mrq->sbc && host->mrq->data &&
@@ -1333,8 +1412,8 @@ static int bcm2835_add_host(struct bcm28
@@ -1334,8 +1413,8 @@ static int bcm2835_add_host(struct bcm28
}
pio_limit_string[0] = '\0';
@ -235,7 +235,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
dev_info(dev, "loaded - DMA %s%s\n",
host->use_dma ? "enabled" : "disabled", pio_limit_string);
@@ -1344,10 +1423,13 @@ static int bcm2835_add_host(struct bcm28
@@ -1345,10 +1424,13 @@ static int bcm2835_add_host(struct bcm28
static int bcm2835_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
@ -250,7 +250,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
int ret;
dev_dbg(dev, "%s\n", __func__);
@@ -1367,6 +1449,23 @@ static int bcm2835_probe(struct platform
@@ -1368,6 +1450,23 @@ static int bcm2835_probe(struct platform
}
host->phys_addr = iomem->start;
@ -274,7 +274,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
host->dma_chan = NULL;
host->dma_desc = NULL;
@@ -1389,6 +1488,24 @@ static int bcm2835_probe(struct platform
@@ -1390,6 +1489,24 @@ static int bcm2835_probe(struct platform
goto err;
}

View File

@ -16,8 +16,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- a/drivers/nvmem/imx-ocotp-ele.c
+++ b/drivers/nvmem/imx-ocotp-ele.c
@@ -14,8 +14,9 @@
#include <linux/slab.h>
@@ -15,8 +15,9 @@
#include <linux/if_ether.h> /* ETH_ALEN */
enum fuse_type {
- FUSE_FSB = 1,
@ -28,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
FUSE_INVALID = -1
};
@@ -95,7 +96,10 @@ static int imx_ocotp_reg_read(void *cont
@@ -96,7 +97,10 @@ static int imx_ocotp_reg_read(void *cont
continue;
}
@ -40,7 +40,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
}
memcpy(val, ((u8 *)p) + skipbytes, bytes);
@@ -179,8 +183,30 @@ static const struct ocotp_devtype_data i
@@ -182,8 +186,30 @@ static const struct ocotp_devtype_data i
},
};

View File

@ -185,7 +185,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+ size_t crc32_data_offset;
+ size_t crc32_data_len;
+ size_t crc32_offset;
+ __le32 *crc32_addr;
+ uint32_t *crc32_addr;
+ size_t data_offset;
+ size_t data_len;
+ size_t dev_size;
@ -236,8 +236,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+ goto err_kfree;
+ }
+
+ crc32_addr = (__le32 *)(buf + crc32_offset);
+ crc32 = le32_to_cpu(*crc32_addr);
+ crc32_addr = (uint32_t *)(buf + crc32_offset);
+ crc32 = *crc32_addr;
+ crc32_data_len = dev_size - crc32_data_offset;
+ data_len = dev_size - data_offset;
+
@ -439,7 +439,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- size_t crc32_data_offset;
- size_t crc32_data_len;
- size_t crc32_offset;
- __le32 *crc32_addr;
- uint32_t *crc32_addr;
- size_t data_offset;
- size_t data_len;
- size_t dev_size;
@ -490,8 +490,8 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- goto err_kfree;
- }
-
- crc32_addr = (__le32 *)(buf + crc32_offset);
- crc32 = le32_to_cpu(*crc32_addr);
- crc32_addr = (uint32_t *)(buf + crc32_offset);
- crc32 = *crc32_addr;
- crc32_data_len = dev_size - crc32_data_offset;
- data_len = dev_size - data_offset;
-

View File

@ -1472,6 +1472,9 @@ CONFIG_DQL=y
# CONFIG_DRAGONRISE_FF is not set
# CONFIG_DRM is not set
# CONFIG_DRM_ACCEL is not set
# CONFIG_DRM_ACCEL_HABANALABS is not set
# CONFIG_DRM_ACCEL_IVPU is not set
# CONFIG_DRM_ACCEL_QAIC is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_AMDGPU_CIK is not set
# CONFIG_DRM_AMDGPU_SI is not set
@ -1909,17 +1912,17 @@ CONFIG_ELFCORE=y
CONFIG_EPOLL=y
# CONFIG_EQUALIZER is not set
# CONFIG_EROFS_FS is not set
# CONFIG_EROFS_FS_DEBUG is not set
# CONFIG_EROFS_FS_XATTR is not set
# CONFIG_EROFS_FS_POSIX_ACL is not set
# CONFIG_EROFS_FS_SECURITY is not set
# CONFIG_EROFS_FS_BACKED_BY_FILE is not set
# CONFIG_EROFS_FS_ZIP is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_EROFS_FS_ZIP_ZSTD is not set
# CONFIG_EROFS_FS_DEBUG is not set
# CONFIG_EROFS_FS_ONDEMAND is not set
CONFIG_EROFS_FS_PCPU_KTHREAD=y
CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI=y
# CONFIG_EROFS_FS_POSIX_ACL is not set
# CONFIG_EROFS_FS_SECURITY is not set
# CONFIG_EROFS_FS_XATTR is not set
# CONFIG_EROFS_FS_ZIP is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_EROFS_FS_ZIP_ZSTD is not set
# CONFIG_ET131X is not set
CONFIG_ETHERNET=y
# CONFIG_ETHOC is not set

View File

@ -1844,14 +1844,14 @@ CONFIG_EPOLL=y
# CONFIG_EQUALIZER is not set
# CONFIG_EROFS_FS is not set
# CONFIG_EROFS_FS_DEBUG is not set
# CONFIG_EROFS_FS_XATTR is not set
# CONFIG_EROFS_FS_POSIX_ACL is not set
# CONFIG_EROFS_FS_SECURITY is not set
# CONFIG_EROFS_FS_ZIP is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_EROFS_FS_ONDEMAND is not set
CONFIG_EROFS_FS_PCPU_KTHREAD=y
CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI=y
# CONFIG_EROFS_FS_POSIX_ACL is not set
# CONFIG_EROFS_FS_SECURITY is not set
# CONFIG_EROFS_FS_XATTR is not set
# CONFIG_EROFS_FS_ZIP is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_ET131X is not set
CONFIG_ETHERNET=y
# CONFIG_ETHOC is not set
@ -3645,7 +3645,6 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MOST is not set
# CONFIG_MOTORCOMM_PHY is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_CYAPA is not set
@ -3656,6 +3655,7 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_MOUSE_PC110PAD is not set
# CONFIG_MOUSE_PS2_FOCALTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
# CONFIG_MOUSE_SYNAPTICS_USB is not set
# CONFIG_MOUSE_VSXXXAA is not set

View File

@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -2634,7 +2634,7 @@ int nf_conntrack_init_start(void)
@@ -2648,7 +2648,7 @@ int nf_conntrack_init_start(void)
if (!nf_conntrack_htable_size) {
nf_conntrack_htable_size

View File

@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -2685,7 +2685,7 @@ int nf_conntrack_init_start(void)
@@ -2699,7 +2699,7 @@ int nf_conntrack_init_start(void)
if (!nf_conntrack_htable_size) {
nf_conntrack_htable_size

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.12 = .39
LINUX_KERNEL_HASH-6.12.39 = 6e562502a8fd11639f558e43b74f0df0d85fa85e60f5332acb275a75a35f5345
LINUX_VERSION-6.12 = .40
LINUX_KERNEL_HASH-6.12.40 = 4811af1317f98d2cccea3c7695969a2c03a27cb02fd2d5327032dd5341842933

View File

@ -1,2 +1,2 @@
LINUX_VERSION-6.6 = .99
LINUX_KERNEL_HASH-6.6.99 = b08679729f1ec74b9fa829f5990936ca2511039d87acc7e8b3f39912de89ab36
LINUX_VERSION-6.6 = .100
LINUX_KERNEL_HASH-6.6.100 = d6c0ec4d55b14814f55b62a0b23a2d95faf66877e48fbfb4b83523e4afdf97ba

View File

@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -3430,6 +3432,7 @@ static int packet_create(struct net *net
@@ -3429,6 +3431,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
@@ -4097,6 +4100,16 @@ packet_setsockopt(struct socket *sock, i
@@ -4096,6 +4099,16 @@ packet_setsockopt(struct socket *sock, i
packet_sock_flag_set(po, PACKET_SOCK_QDISC_BYPASS, val);
return 0;
}
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default:
return -ENOPROTOOPT;
}
@@ -4159,6 +4172,13 @@ static int packet_getsockopt(struct sock
@@ -4158,6 +4171,13 @@ static int packet_getsockopt(struct sock
case PACKET_COPY_THRESH:
val = READ_ONCE(pkt_sk(sk)->copy_thresh);
break;

View File

@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/bridge/br_switchdev.c
+++ b/net/bridge/br_switchdev.c
@@ -568,10 +568,18 @@ static void br_switchdev_host_mdb(struct
@@ -571,10 +571,18 @@ static void br_switchdev_host_mdb(struct
struct net_bridge_mdb_entry *mp, int type)
{
struct net_device *lower_dev;

View File

@ -27,7 +27,7 @@ Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
--- a/net/bridge/br_switchdev.c
+++ b/net/bridge/br_switchdev.c
@@ -67,7 +67,7 @@ bool nbp_switchdev_allowed_egress(const
@@ -70,7 +70,7 @@ bool nbp_switchdev_allowed_egress(const
struct br_input_skb_cb *cb = BR_INPUT_SKB_CB(skb);
return !test_bit(p->hwdom, &cb->fwd_hwdoms) &&

View File

@ -1,35 +0,0 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Sat, 5 Jul 2025 13:44:10 +0200
Subject: [PATCH] net: fix TCP/UDP fraglist GRO
Since "net: gro: use cb instead of skb->network_header", the skb network
header is no longer set in the GRO path.
This breaks fraglist segmentation, which relies on ip_hdr()/tcp_hdr()
to check for address/port changes.
Fix this regression by selectively setting the network header for merged
segment skbs.
Fixes: 186b1ea73ad8 ("net: gro: use cb instead of skb->network_header")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/net/ipv4/tcp_offload.c
+++ b/net/ipv4/tcp_offload.c
@@ -355,6 +355,7 @@ struct sk_buff *tcp_gro_receive(struct l
flush |= skb->ip_summed != p->ip_summed;
flush |= skb->csum_level != p->csum_level;
flush |= NAPI_GRO_CB(p)->count >= 64;
+ skb_set_network_header(skb, skb_gro_receive_network_offset(skb));
if (flush || skb_gro_receive_list(p, skb))
mss = 1;
--- a/net/ipv4/udp_offload.c
+++ b/net/ipv4/udp_offload.c
@@ -604,6 +604,7 @@ static struct sk_buff *udp_gro_receive_s
NAPI_GRO_CB(skb)->flush = 1;
return NULL;
}
+ skb_set_network_header(skb, skb_gro_receive_network_offset(skb));
ret = skb_gro_receive_list(p, skb);
} else {
skb_gro_postpull_rcsum(skb, uh,

View File

@ -65,7 +65,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/8021q/vlan.h
+++ b/net/8021q/vlan.h
@@ -108,7 +108,7 @@ static inline netdev_features_t vlan_tnl
@@ -109,7 +109,7 @@ static inline netdev_features_t vlan_tnl
netdev_features_t ret;
ret = real_dev->hw_enc_features &

View File

@ -1,45 +0,0 @@
From 0e71cac033bb7689c4dfa2e6814191337ef770f5 Mon Sep 17 00:00:00 2001
From: INAGAKI Hiroshi <musashino.open@gmail.com>
Date: Thu, 13 Oct 2022 00:51:33 +0900
Subject: [PATCH] nvmem: layouts: u-boot-env: align endianness of crc32 values
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch fixes crc32 error on Big-Endianness system by conversion of
calculated crc32 value.
Little-Endianness system:
obtained crc32: Little
calculated crc32: Little
Big-Endianness system:
obtained crc32: Little
calculated crc32: Big
log (APRESIA ApresiaLightGS120GT-SS, RTL8382M, Big-Endianness):
[ 8.570000] u_boot_env 18001200.spi:flash@0:partitions:partition@c0000: Invalid calculated CRC32: 0x88cd6f09 (expected: 0x096fcd88)
[ 8.580000] u_boot_env: probe of 18001200.spi:flash@0:partitions:partition@c0000 failed with error -22
Fixes: f955dc1445069 ("nvmem: add driver handling U-Boot environment variables")
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Acked-by: Rafał Miłecki <rafal@milecki.pl>
Tested-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
--- a/drivers/nvmem/layouts/u-boot-env.c
+++ b/drivers/nvmem/layouts/u-boot-env.c
@@ -148,7 +148,7 @@ int u_boot_env_parse(struct device *dev,
crc32_data_len = dev_size - crc32_data_offset;
data_len = dev_size - data_offset;
- calc = crc32(~0, buf + crc32_data_offset, crc32_data_len) ^ ~0L;
+ calc = le32_to_cpu((__le32)crc32(~0, buf + crc32_data_offset, crc32_data_len) ^ ~0L);
if (calc != crc32) {
dev_err(dev, "Invalid calculated CRC32: 0x%08x (expected: 0x%08x)\n", calc, crc32);
err = -EINVAL;

View File

@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -3437,6 +3439,7 @@ static int packet_create(struct net *net
@@ -3436,6 +3438,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
@@ -4104,6 +4107,16 @@ packet_setsockopt(struct socket *sock, i
@@ -4103,6 +4106,16 @@ packet_setsockopt(struct socket *sock, i
packet_sock_flag_set(po, PACKET_SOCK_QDISC_BYPASS, val);
return 0;
}
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default:
return -ENOPROTOOPT;
}
@@ -4163,6 +4176,13 @@ static int packet_getsockopt(struct sock
@@ -4162,6 +4175,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR_SZ:
val = READ_ONCE(po->vnet_hdr_sz);
break;

View File

@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/bridge/br_switchdev.c
+++ b/net/bridge/br_switchdev.c
@@ -568,10 +568,18 @@ static void br_switchdev_host_mdb(struct
@@ -571,10 +571,18 @@ static void br_switchdev_host_mdb(struct
struct net_bridge_mdb_entry *mp, int type)
{
struct net_device *lower_dev;

View File

@ -27,7 +27,7 @@ Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
--- a/net/bridge/br_switchdev.c
+++ b/net/bridge/br_switchdev.c
@@ -67,7 +67,7 @@ bool nbp_switchdev_allowed_egress(const
@@ -70,7 +70,7 @@ bool nbp_switchdev_allowed_egress(const
struct br_input_skb_cb *cb = BR_INPUT_SKB_CB(skb);
return !test_bit(p->hwdom, &cb->fwd_hwdoms) &&

View File

@ -65,7 +65,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/8021q/vlan.h
+++ b/net/8021q/vlan.h
@@ -108,7 +108,7 @@ static inline netdev_features_t vlan_tnl
@@ -109,7 +109,7 @@ static inline netdev_features_t vlan_tnl
netdev_features_t ret;
ret = real_dev->hw_enc_features &

View File

@ -58,8 +58,8 @@ CONFIG_REGULATOR_QCOM_SPMI=y
# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
CONFIG_REGULATOR_USERSPACE_CONSUMER=y
CONFIG_RTC_DRV_PM8XXX=y
CONFIG_SPI_QPIC_SNAND=y
CONFIG_RTL8261N_PHY=y
CONFIG_SPI_QPIC_SNAND=y
CONFIG_SPMI=y
# CONFIG_SPMI_HISI3670 is not set
CONFIG_SPMI_MSM_PMIC_ARB=y

View File

@ -45,7 +45,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+};
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -1061,6 +1061,11 @@ config I2C_RK3X
@@ -1062,6 +1062,11 @@ config I2C_RK3X
This driver can also be built as a module. If so, the module will
be called i2c-rk3x.

View File

@ -678,6 +678,7 @@ static void rtl93xx_phylink_mac_config(struct dsa_switch *ds, int port,
if (sds_num >= 0 &&
(state->interface == PHY_INTERFACE_MODE_1000BASEX ||
state->interface == PHY_INTERFACE_MODE_SGMII ||
state->interface == PHY_INTERFACE_MODE_2500BASEX ||
state->interface == PHY_INTERFACE_MODE_10GBASER))
rtl9300_serdes_setup(port, sds_num, state->interface);
}

View File

@ -17,7 +17,7 @@ Submitted-by: Birger Koblitz <git@birger-koblitz.de>
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -1061,6 +1061,16 @@ config I2C_RK3X
@@ -1062,6 +1062,16 @@ config I2C_RK3X
This driver can also be built as a module. If so, the module will
be called i2c-rk3x.

View File

@ -129,6 +129,7 @@ CONFIG_DMA_NEED_SYNC=y
CONFIG_DMA_OPS_HELPERS=y
CONFIG_DMA_SHARED_BUFFER=y
CONFIG_DRM=y
CONFIG_DRM_ACCEL=y
CONFIG_DRM_BOCHS=y
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_FBDEV_EMULATION=y

View File

@ -11,9 +11,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git
PKG_SOURCE_DATE:=2025-02-16
PKG_SOURCE_VERSION:=5d1446bf57d6490573dc71f10c05e83b36d44374
PKG_MIRROR_HASH:=e054ea416f5a596f681bba593f71dfbe8149361432d7c17f2374c60dfe227749
PKG_SOURCE_DATE:=2025-07-24
PKG_SOURCE_VERSION:=f29de74ecd7d952ee1f9a20577fec9f37c0d6f4a
PKG_MIRROR_HASH:=6abf06a2243acb1a9820a8c4d7c9a1f03f5b920fecf86ac2353d257e7963f7bb
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/cmake.mk