mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
kernel: bump 6.6 to 6.6.40 (#15956)
All other patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
f9f1a684ea
commit
062d85f8fd
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-6.6 = .38
|
LINUX_VERSION-6.6 = .40
|
||||||
LINUX_KERNEL_HASH-6.6.38 = 4ed403ffb550565d03485aeca9a52c128cdde43f4a373a1a9ee3a590524fe743
|
LINUX_KERNEL_HASH-6.6.40 = 5c3a3c03c055b8d601a6d7f80d1465ada6b83a12299f6ace2027b47f0baff538
|
||||||
|
@ -32,13 +32,17 @@ Cc: linux-kernel@vger.kernel.org
|
|||||||
#define cpuhp_tasks_frozen 0
|
#define cpuhp_tasks_frozen 0
|
||||||
--- a/kernel/cpu.c
|
--- a/kernel/cpu.c
|
||||||
+++ b/kernel/cpu.c
|
+++ b/kernel/cpu.c
|
||||||
@@ -1905,14 +1905,14 @@ static bool __init cpuhp_bringup_cpus_pa
|
@@ -1905,17 +1905,17 @@ static bool __init cpuhp_bringup_cpus_pa
|
||||||
static inline bool cpuhp_bringup_cpus_parallel(unsigned int ncpus) { return false; }
|
static inline bool cpuhp_bringup_cpus_parallel(unsigned int ncpus) { return false; }
|
||||||
#endif /* CONFIG_HOTPLUG_PARALLEL */
|
#endif /* CONFIG_HOTPLUG_PARALLEL */
|
||||||
|
|
||||||
-void __init bringup_nonboot_cpus(unsigned int setup_max_cpus)
|
-void __init bringup_nonboot_cpus(unsigned int setup_max_cpus)
|
||||||
+void __init bringup_nonboot_cpus(unsigned int max_cpus)
|
+void __init bringup_nonboot_cpus(unsigned int max_cpus)
|
||||||
{
|
{
|
||||||
|
- if (!setup_max_cpus)
|
||||||
|
+ if (!max_cpus)
|
||||||
|
return;
|
||||||
|
|
||||||
/* Try parallel bringup optimization if enabled */
|
/* Try parallel bringup optimization if enabled */
|
||||||
- if (cpuhp_bringup_cpus_parallel(setup_max_cpus))
|
- if (cpuhp_bringup_cpus_parallel(setup_max_cpus))
|
||||||
+ if (cpuhp_bringup_cpus_parallel(max_cpus))
|
+ if (cpuhp_bringup_cpus_parallel(max_cpus))
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
From 6ef8eb5125722c241fd60d7b0c872d5c2e5dd4ca Mon Sep 17 00:00:00 2001
|
|
||||||
From: Huacai Chen <chenhuacai@loongson.cn>
|
|
||||||
Date: Tue, 18 Jun 2024 16:13:36 +0800
|
|
||||||
Subject: [PATCH] cpu: Fix broken cmdline "nosmp" and "maxcpus=0"
|
|
||||||
|
|
||||||
After the rework of "Parallel CPU bringup", the cmdline "nosmp" and
|
|
||||||
"maxcpus=0" parameters are not working anymore. These parameters set
|
|
||||||
setup_max_cpus to zero and that's handed to bringup_nonboot_cpus().
|
|
||||||
|
|
||||||
The code there does a decrement before checking for zero, which brings it
|
|
||||||
into the negative space and brings up all CPUs.
|
|
||||||
|
|
||||||
Add a zero check at the beginning of the function to prevent this.
|
|
||||||
|
|
||||||
[ tglx: Massaged change log ]
|
|
||||||
|
|
||||||
Fixes: 18415f33e2ac4ab382 ("cpu/hotplug: Allow "parallel" bringup up to CPUHP_BP_KICK_AP_STATE")
|
|
||||||
Fixes: 06c6796e0304234da6 ("cpu/hotplug: Fix off by one in cpuhp_bringup_mask()")
|
|
||||||
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
|
|
||||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
||||||
Cc: stable@vger.kernel.org
|
|
||||||
Link: https://lore.kernel.org/r/20240618081336.3996825-1-chenhuacai@loongson.cn
|
|
||||||
---
|
|
||||||
kernel/cpu.c | 3 +++
|
|
||||||
1 file changed, 3 insertions(+)
|
|
||||||
|
|
||||||
--- a/kernel/cpu.c
|
|
||||||
+++ b/kernel/cpu.c
|
|
||||||
@@ -1907,6 +1907,9 @@ static inline bool cpuhp_bringup_cpus_pa
|
|
||||||
|
|
||||||
void __init bringup_nonboot_cpus(unsigned int max_cpus)
|
|
||||||
{
|
|
||||||
+ if (!max_cpus)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
/* Try parallel bringup optimization if enabled */
|
|
||||||
if (cpuhp_bringup_cpus_parallel(max_cpus))
|
|
||||||
return;
|
|
@ -15,7 +15,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
#include "gpiolib.h"
|
#include "gpiolib.h"
|
||||||
#include "gpiolib-of.h"
|
#include "gpiolib-of.h"
|
||||||
@@ -1111,3 +1113,74 @@ void of_gpiochip_remove(struct gpio_chip
|
@@ -1129,3 +1131,74 @@ void of_gpiochip_remove(struct gpio_chip
|
||||||
{
|
{
|
||||||
of_node_put(dev_of_node(&chip->gpiodev->dev));
|
of_node_put(dev_of_node(&chip->gpiodev->dev));
|
||||||
}
|
}
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
--- a/drivers/usb/serial/option.c
|
|
||||||
+++ b/drivers/usb/serial/option.c
|
|
||||||
@@ -646,6 +646,7 @@ static void option_instat_callback(struc
|
|
||||||
|
|
||||||
|
|
||||||
static const struct usb_device_id option_ids[] = {
|
|
||||||
+ { USB_DEVICE(MEDIATEK_VENDOR_ID, 0x7127) },
|
|
||||||
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
|
|
||||||
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
|
|
||||||
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_LIGHT) },
|
|
||||||
@@ -2423,6 +2424,15 @@ static int option_probe(struct usb_seria
|
|
||||||
if (device_flags & NUMEP2 && iface_desc->bNumEndpoints != 2)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
+ if(id->idVendor == MEDIATEK_VENDOR_ID &&
|
|
||||||
+ (id->idProduct == cpu_to_le16(0x7127) &&
|
|
||||||
+ ((serial->interface->cur_altsetting->desc.bInterfaceNumber <= 5) ||
|
|
||||||
+ (serial->interface->cur_altsetting->desc.bInterfaceNumber >= 7))))
|
|
||||||
+ {
|
|
||||||
+ printk(KERN_INFO "Discovery the interface for Fibocom & MEDIATEK.");
|
|
||||||
+ return -ENODEV;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* Store the device flags so we can use them during attach. */
|
|
||||||
usb_set_serial_data(serial, (void *)device_flags);
|
|
||||||
|
|
@ -254,7 +254,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
|
|||||||
+}
|
+}
|
||||||
--- a/fs/jffs2/super.c
|
--- a/fs/jffs2/super.c
|
||||||
+++ b/fs/jffs2/super.c
|
+++ b/fs/jffs2/super.c
|
||||||
@@ -374,14 +374,41 @@ static int __init init_jffs2_fs(void)
|
@@ -375,14 +375,41 @@ static int __init init_jffs2_fs(void)
|
||||||
BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
|
BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
|
||||||
BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
|
BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
|||||||
|
|
||||||
--- a/drivers/thermal/mediatek/lvts_thermal.c
|
--- a/drivers/thermal/mediatek/lvts_thermal.c
|
||||||
+++ b/drivers/thermal/mediatek/lvts_thermal.c
|
+++ b/drivers/thermal/mediatek/lvts_thermal.c
|
||||||
@@ -1247,7 +1247,7 @@ static int lvts_probe(struct platform_de
|
@@ -1249,7 +1249,7 @@ static int lvts_probe(struct platform_de
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
|||||||
{
|
{
|
||||||
struct lvts_domain *lvts_td;
|
struct lvts_domain *lvts_td;
|
||||||
int i;
|
int i;
|
||||||
@@ -1258,8 +1258,6 @@ static int lvts_remove(struct platform_d
|
@@ -1260,8 +1260,6 @@ static int lvts_remove(struct platform_d
|
||||||
lvts_ctrl_set_enable(&lvts_td->lvts_ctrl[i], false);
|
lvts_ctrl_set_enable(&lvts_td->lvts_ctrl[i], false);
|
||||||
|
|
||||||
lvts_debugfs_exit(lvts_td);
|
lvts_debugfs_exit(lvts_td);
|
||||||
@ -47,7 +47,7 @@ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const struct lvts_ctrl_data mt8195_lvts_mcu_data_ctrl[] = {
|
static const struct lvts_ctrl_data mt8195_lvts_mcu_data_ctrl[] = {
|
||||||
@@ -1360,7 +1358,7 @@ MODULE_DEVICE_TABLE(of, lvts_of_match);
|
@@ -1362,7 +1360,7 @@ MODULE_DEVICE_TABLE(of, lvts_of_match);
|
||||||
|
|
||||||
static struct platform_driver lvts_driver = {
|
static struct platform_driver lvts_driver = {
|
||||||
.probe = lvts_probe,
|
.probe = lvts_probe,
|
||||||
|
@ -171,7 +171,7 @@ Link: https://lore.kernel.org/r/20230922055020.6436-4-linux@fw-web.de
|
|||||||
|
|
||||||
lvts_ctrl[i].low_thresh = INT_MIN;
|
lvts_ctrl[i].low_thresh = INT_MIN;
|
||||||
lvts_ctrl[i].high_thresh = INT_MIN;
|
lvts_ctrl[i].high_thresh = INT_MIN;
|
||||||
@@ -1229,6 +1240,8 @@ static int lvts_probe(struct platform_de
|
@@ -1231,6 +1242,8 @@ static int lvts_probe(struct platform_de
|
||||||
if (irq < 0)
|
if (irq < 0)
|
||||||
return irq;
|
return irq;
|
||||||
|
|
||||||
@ -180,7 +180,7 @@ Link: https://lore.kernel.org/r/20230922055020.6436-4-linux@fw-web.de
|
|||||||
ret = lvts_domain_init(dev, lvts_td, lvts_data);
|
ret = lvts_domain_init(dev, lvts_td, lvts_data);
|
||||||
if (ret)
|
if (ret)
|
||||||
return dev_err_probe(dev, ret, "Failed to initialize the lvts domain\n");
|
return dev_err_probe(dev, ret, "Failed to initialize the lvts domain\n");
|
||||||
@@ -1342,11 +1355,15 @@ static const struct lvts_ctrl_data mt819
|
@@ -1344,11 +1357,15 @@ static const struct lvts_ctrl_data mt819
|
||||||
static const struct lvts_data mt8195_lvts_mcu_data = {
|
static const struct lvts_data mt8195_lvts_mcu_data = {
|
||||||
.lvts_ctrl = mt8195_lvts_mcu_data_ctrl,
|
.lvts_ctrl = mt8195_lvts_mcu_data_ctrl,
|
||||||
.num_lvts_ctrl = ARRAY_SIZE(mt8195_lvts_mcu_data_ctrl),
|
.num_lvts_ctrl = ARRAY_SIZE(mt8195_lvts_mcu_data_ctrl),
|
||||||
|
@ -33,7 +33,7 @@ Link: https://lore.kernel.org/r/20230922055020.6436-5-linux@fw-web.de
|
|||||||
#define LVTS_HW_SHUTDOWN_MT8195 105000
|
#define LVTS_HW_SHUTDOWN_MT8195 105000
|
||||||
|
|
||||||
#define LVTS_MINIMUM_THRESHOLD 20000
|
#define LVTS_MINIMUM_THRESHOLD 20000
|
||||||
@@ -1273,6 +1276,33 @@ static void lvts_remove(struct platform_
|
@@ -1275,6 +1278,33 @@ static void lvts_remove(struct platform_
|
||||||
lvts_debugfs_exit(lvts_td);
|
lvts_debugfs_exit(lvts_td);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ Link: https://lore.kernel.org/r/20230922055020.6436-5-linux@fw-web.de
|
|||||||
static const struct lvts_ctrl_data mt8195_lvts_mcu_data_ctrl[] = {
|
static const struct lvts_ctrl_data mt8195_lvts_mcu_data_ctrl[] = {
|
||||||
{
|
{
|
||||||
.cal_offset = { 0x04, 0x07 },
|
.cal_offset = { 0x04, 0x07 },
|
||||||
@@ -1352,6 +1382,13 @@ static const struct lvts_ctrl_data mt819
|
@@ -1354,6 +1384,13 @@ static const struct lvts_ctrl_data mt819
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ Link: https://lore.kernel.org/r/20230922055020.6436-5-linux@fw-web.de
|
|||||||
static const struct lvts_data mt8195_lvts_mcu_data = {
|
static const struct lvts_data mt8195_lvts_mcu_data = {
|
||||||
.lvts_ctrl = mt8195_lvts_mcu_data_ctrl,
|
.lvts_ctrl = mt8195_lvts_mcu_data_ctrl,
|
||||||
.num_lvts_ctrl = ARRAY_SIZE(mt8195_lvts_mcu_data_ctrl),
|
.num_lvts_ctrl = ARRAY_SIZE(mt8195_lvts_mcu_data_ctrl),
|
||||||
@@ -1367,6 +1404,7 @@ static const struct lvts_data mt8195_lvt
|
@@ -1369,6 +1406,7 @@ static const struct lvts_data mt8195_lvt
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct of_device_id lvts_of_match[] = {
|
static const struct of_device_id lvts_of_match[] = {
|
||||||
|
@ -24,7 +24,7 @@ Link: https://lore.kernel.org/r/20231017190545.157282-3-bero@baylibre.com
|
|||||||
|
|
||||||
--- a/drivers/thermal/mediatek/lvts_thermal.c
|
--- a/drivers/thermal/mediatek/lvts_thermal.c
|
||||||
+++ b/drivers/thermal/mediatek/lvts_thermal.c
|
+++ b/drivers/thermal/mediatek/lvts_thermal.c
|
||||||
@@ -1303,6 +1303,38 @@ static const struct lvts_ctrl_data mt798
|
@@ -1305,6 +1305,38 @@ static const struct lvts_ctrl_data mt798
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ Link: https://lore.kernel.org/r/20231017190545.157282-3-bero@baylibre.com
|
|||||||
static const struct lvts_ctrl_data mt8195_lvts_mcu_data_ctrl[] = {
|
static const struct lvts_ctrl_data mt8195_lvts_mcu_data_ctrl[] = {
|
||||||
{
|
{
|
||||||
.cal_offset = { 0x04, 0x07 },
|
.cal_offset = { 0x04, 0x07 },
|
||||||
@@ -1411,12 +1443,17 @@ static const struct of_device_id lvts_of
|
@@ -1413,12 +1445,17 @@ static const struct of_device_id lvts_of
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(of, lvts_of_match);
|
MODULE_DEVICE_TABLE(of, lvts_of_match);
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ Link: https://lore.kernel.org/r/20231017190545.157282-4-bero@baylibre.com
|
|||||||
#define LVTS_HW_SHUTDOWN_MT8195 105000
|
#define LVTS_HW_SHUTDOWN_MT8195 105000
|
||||||
|
|
||||||
#define LVTS_MINIMUM_THRESHOLD 20000
|
#define LVTS_MINIMUM_THRESHOLD 20000
|
||||||
@@ -1335,6 +1336,88 @@ static int lvts_resume(struct device *de
|
@@ -1337,6 +1338,88 @@ static int lvts_resume(struct device *de
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ Link: https://lore.kernel.org/r/20231017190545.157282-4-bero@baylibre.com
|
|||||||
static const struct lvts_ctrl_data mt8195_lvts_mcu_data_ctrl[] = {
|
static const struct lvts_ctrl_data mt8195_lvts_mcu_data_ctrl[] = {
|
||||||
{
|
{
|
||||||
.cal_offset = { 0x04, 0x07 },
|
.cal_offset = { 0x04, 0x07 },
|
||||||
@@ -1421,6 +1504,16 @@ static const struct lvts_data mt7988_lvt
|
@@ -1423,6 +1506,16 @@ static const struct lvts_data mt7988_lvt
|
||||||
.temp_offset = LVTS_COEFF_B_MT7988,
|
.temp_offset = LVTS_COEFF_B_MT7988,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -140,7 +140,7 @@ Link: https://lore.kernel.org/r/20231017190545.157282-4-bero@baylibre.com
|
|||||||
static const struct lvts_data mt8195_lvts_mcu_data = {
|
static const struct lvts_data mt8195_lvts_mcu_data = {
|
||||||
.lvts_ctrl = mt8195_lvts_mcu_data_ctrl,
|
.lvts_ctrl = mt8195_lvts_mcu_data_ctrl,
|
||||||
.num_lvts_ctrl = ARRAY_SIZE(mt8195_lvts_mcu_data_ctrl),
|
.num_lvts_ctrl = ARRAY_SIZE(mt8195_lvts_mcu_data_ctrl),
|
||||||
@@ -1437,6 +1530,8 @@ static const struct lvts_data mt8195_lvt
|
@@ -1439,6 +1532,8 @@ static const struct lvts_data mt8195_lvt
|
||||||
|
|
||||||
static const struct of_device_id lvts_of_match[] = {
|
static const struct of_device_id lvts_of_match[] = {
|
||||||
{ .compatible = "mediatek,mt7988-lvts-ap", .data = &mt7988_lvts_ap_data },
|
{ .compatible = "mediatek,mt7988-lvts-ap", .data = &mt7988_lvts_ap_data },
|
||||||
|
Loading…
Reference in New Issue
Block a user