From 943bd3c9f6244c928cd168302d638a6a218fd4e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 2 Nov 2023 09:08:54 +0100 Subject: [PATCH 01/13] bcm53xx: add the latest fix version of brcm_nvram MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It was just sent for upstream. Signed-off-by: Rafał Miłecki --- ...nvram-store-a-copy-of-NVRAM-content.patch} | 23 +++++++++++-------- ...nvram-store-a-copy-of-NVRAM-content.patch} | 23 +++++++++++-------- 2 files changed, 28 insertions(+), 18 deletions(-) rename target/linux/bcm53xx/patches-5.15/{800-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch => 181-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch} (91%) rename target/linux/bcm53xx/patches-6.1/{800-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch => 181-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch} (91%) diff --git a/target/linux/bcm53xx/patches-5.15/800-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch b/target/linux/bcm53xx/patches-5.15/181-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch similarity index 91% rename from target/linux/bcm53xx/patches-5.15/800-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch rename to target/linux/bcm53xx/patches-5.15/181-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch index 2aae713b64..cceb3635ac 100644 --- a/target/linux/bcm53xx/patches-5.15/800-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch +++ b/target/linux/bcm53xx/patches-5.15/181-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch @@ -25,23 +25,27 @@ Cc: Arınç ÜNAL Cc: Florian Fainelli Cc: Scott Branden Signed-off-by: Rafał Miłecki +Acked-by: Arınç ÜNAL --- - drivers/nvmem/brcm_nvram.c | 130 +++++++++++++++++++++++++------------ - 1 file changed, 90 insertions(+), 40 deletions(-) + drivers/nvmem/brcm_nvram.c | 134 ++++++++++++++++++++++++++----------- + 1 file changed, 94 insertions(+), 40 deletions(-) --- a/drivers/nvmem/brcm_nvram.c +++ b/drivers/nvmem/brcm_nvram.c -@@ -17,9 +17,20 @@ +@@ -17,9 +17,23 @@ #define NVRAM_MAGIC "FLSH" +/** + * struct brcm_nvram - driver state internal struct + * ++ * @dev: NVMEM device pointer + * @nvmem_size: Size of the whole space available for NVRAM + * @data: NVRAM data copy stored to avoid poking underlaying flash controller + * @data_len: NVRAM data size + * @padding_byte: Padding value used to fill remaining space ++ * @cells: Array of discovered NVMEM cells ++ * @ncells: Number of elements in cells + */ struct brcm_nvram { struct device *dev; @@ -53,7 +57,7 @@ Signed-off-by: Rafał Miłecki struct nvmem_cell_info *cells; int ncells; }; -@@ -36,10 +47,47 @@ static int brcm_nvram_read(void *context +@@ -36,10 +50,47 @@ static int brcm_nvram_read(void *context size_t bytes) { struct brcm_nvram *priv = context; @@ -104,7 +108,7 @@ Signed-off-by: Rafał Miłecki return 0; } -@@ -67,8 +115,13 @@ static int brcm_nvram_add_cells(struct b +@@ -67,8 +118,13 @@ static int brcm_nvram_add_cells(struct b size_t len) { struct device *dev = priv->dev; @@ -119,7 +123,7 @@ Signed-off-by: Rafał Miłecki priv->ncells = 0; for (var = data + sizeof(struct brcm_nvram_header); -@@ -78,67 +131,67 @@ static int brcm_nvram_add_cells(struct b +@@ -78,67 +134,68 @@ static int brcm_nvram_add_cells(struct b } priv->cells = devm_kcalloc(dev, priv->ncells, sizeof(*priv->cells), GFP_KERNEL); @@ -204,7 +208,8 @@ Signed-off-by: Rafał Miłecki - return err; + len = le32_to_cpu(header->len); + if (len > priv->nvmem_size) { -+ dev_err(dev, "NVRAM length (%zd) exceeds mapped size (%zd)\n", len, priv->nvmem_size); ++ dev_err(dev, "NVRAM length (%zd) exceeds mapped size (%zd)\n", len, ++ priv->nvmem_size); + return -EINVAL; } @@ -215,7 +220,7 @@ Signed-off-by: Rafał Miłecki return 0; } -@@ -150,7 +203,6 @@ static int brcm_nvram_probe(struct platf +@@ -150,7 +207,6 @@ static int brcm_nvram_probe(struct platf .reg_read = brcm_nvram_read, }; struct device *dev = &pdev->dev; @@ -223,7 +228,7 @@ Signed-off-by: Rafał Miłecki struct brcm_nvram *priv; int err; -@@ -159,21 +211,19 @@ static int brcm_nvram_probe(struct platf +@@ -159,21 +215,19 @@ static int brcm_nvram_probe(struct platf return -ENOMEM; priv->dev = dev; diff --git a/target/linux/bcm53xx/patches-6.1/800-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch b/target/linux/bcm53xx/patches-6.1/181-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch similarity index 91% rename from target/linux/bcm53xx/patches-6.1/800-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch rename to target/linux/bcm53xx/patches-6.1/181-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch index 2aae713b64..cceb3635ac 100644 --- a/target/linux/bcm53xx/patches-6.1/800-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch +++ b/target/linux/bcm53xx/patches-6.1/181-nvmem-brcm_nvram-store-a-copy-of-NVRAM-content.patch @@ -25,23 +25,27 @@ Cc: Arınç ÜNAL Cc: Florian Fainelli Cc: Scott Branden Signed-off-by: Rafał Miłecki +Acked-by: Arınç ÜNAL --- - drivers/nvmem/brcm_nvram.c | 130 +++++++++++++++++++++++++------------ - 1 file changed, 90 insertions(+), 40 deletions(-) + drivers/nvmem/brcm_nvram.c | 134 ++++++++++++++++++++++++++----------- + 1 file changed, 94 insertions(+), 40 deletions(-) --- a/drivers/nvmem/brcm_nvram.c +++ b/drivers/nvmem/brcm_nvram.c -@@ -17,9 +17,20 @@ +@@ -17,9 +17,23 @@ #define NVRAM_MAGIC "FLSH" +/** + * struct brcm_nvram - driver state internal struct + * ++ * @dev: NVMEM device pointer + * @nvmem_size: Size of the whole space available for NVRAM + * @data: NVRAM data copy stored to avoid poking underlaying flash controller + * @data_len: NVRAM data size + * @padding_byte: Padding value used to fill remaining space ++ * @cells: Array of discovered NVMEM cells ++ * @ncells: Number of elements in cells + */ struct brcm_nvram { struct device *dev; @@ -53,7 +57,7 @@ Signed-off-by: Rafał Miłecki struct nvmem_cell_info *cells; int ncells; }; -@@ -36,10 +47,47 @@ static int brcm_nvram_read(void *context +@@ -36,10 +50,47 @@ static int brcm_nvram_read(void *context size_t bytes) { struct brcm_nvram *priv = context; @@ -104,7 +108,7 @@ Signed-off-by: Rafał Miłecki return 0; } -@@ -67,8 +115,13 @@ static int brcm_nvram_add_cells(struct b +@@ -67,8 +118,13 @@ static int brcm_nvram_add_cells(struct b size_t len) { struct device *dev = priv->dev; @@ -119,7 +123,7 @@ Signed-off-by: Rafał Miłecki priv->ncells = 0; for (var = data + sizeof(struct brcm_nvram_header); -@@ -78,67 +131,67 @@ static int brcm_nvram_add_cells(struct b +@@ -78,67 +134,68 @@ static int brcm_nvram_add_cells(struct b } priv->cells = devm_kcalloc(dev, priv->ncells, sizeof(*priv->cells), GFP_KERNEL); @@ -204,7 +208,8 @@ Signed-off-by: Rafał Miłecki - return err; + len = le32_to_cpu(header->len); + if (len > priv->nvmem_size) { -+ dev_err(dev, "NVRAM length (%zd) exceeds mapped size (%zd)\n", len, priv->nvmem_size); ++ dev_err(dev, "NVRAM length (%zd) exceeds mapped size (%zd)\n", len, ++ priv->nvmem_size); + return -EINVAL; } @@ -215,7 +220,7 @@ Signed-off-by: Rafał Miłecki return 0; } -@@ -150,7 +203,6 @@ static int brcm_nvram_probe(struct platf +@@ -150,7 +207,6 @@ static int brcm_nvram_probe(struct platf .reg_read = brcm_nvram_read, }; struct device *dev = &pdev->dev; @@ -223,7 +228,7 @@ Signed-off-by: Rafał Miłecki struct brcm_nvram *priv; int err; -@@ -159,21 +211,19 @@ static int brcm_nvram_probe(struct platf +@@ -159,21 +215,19 @@ static int brcm_nvram_probe(struct platf return -ENOMEM; priv->dev = dev; From 6f5f9a0218ab7da6a11b91ee6a5ccba0531de963 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 2 Nov 2023 10:36:05 +0100 Subject: [PATCH 02/13] ucode: update to latest Git HEAD cfb24ea build: avoid redefining _FORTIFY_SOURCE 448c763 lib: enforce consistent `index()` behavior with empty needle argument cdc0203 nl80211: fix maybe uninitialized variable a69b5c8 vm: fix unused result warning ea046bd build: enable source fortification by default Signed-off-by: Jo-Philipp Wich --- package/utils/ucode/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/utils/ucode/Makefile b/package/utils/ucode/Makefile index 46112d31e8..b62633492a 100644 --- a/package/utils/ucode/Makefile +++ b/package/utils/ucode/Makefile @@ -12,9 +12,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/jow-/ucode.git -PKG_SOURCE_DATE:=2023-10-19 -PKG_SOURCE_VERSION:=07c03173d4e6a30953f92fa88ed29b0b956c9106 -PKG_MIRROR_HASH:=fd770335f442ebfc0f4e28d94bb60d886c43aa239ab88e965be7c490b3283a82 +PKG_SOURCE_DATE:=2023-11-02 +PKG_SOURCE_VERSION:=cfb24ea4f12131dcefe4f1ede2f51d3d16b88dec +PKG_MIRROR_HASH:=f515a23ab438f92be5788c42b9f614a82e670de2df1c01cd63143cdc77fa24fe PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=ISC From 376f1c80a967cf349e9d7d6168dd9bce3c35ebd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 2 Nov 2023 03:16:52 +0100 Subject: [PATCH 03/13] build: use long hashes when generating feed.buildinfo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Short hashes are not guaranteed to be unambiguous forever and could collide if the repo grows over time. Git also estimates how many characters are roughly required to prevent such a collision and slowly increases the amount of characters beginning from 6, OpenWrt is already at 8. Lets use the full hash the have a predictable length and keep hashes unambiguous forever. Signed-off-by: Sandro Jäckel --- scripts/feeds | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/feeds b/scripts/feeds index aee73e793f..7d5b83e081 100755 --- a/scripts/feeds +++ b/scripts/feeds @@ -162,7 +162,7 @@ my %update_method = ( 'update_force' => "git pull --ff-only || (git reset --hard HEAD; git pull --ff-only; exit 1)", 'post_update' => "git submodule update --init --recursive", 'controldir' => ".git", - 'revision' => "git rev-parse --short HEAD | tr -d '\n'"}, + 'revision' => "git rev-parse HEAD | tr -d '\n'"}, 'src-git-full' => { 'init' => "git clone '%s' '%s'", 'init_branch' => "git clone --branch '%s' '%s' '%s'", @@ -171,12 +171,12 @@ my %update_method = ( 'update_force' => "git pull --ff-only || (git reset --hard HEAD; git pull --ff-only; exit 1)", 'post_update' => "git submodule update --init --recursive", 'controldir' => ".git", - 'revision' => "git rev-parse --short HEAD | tr -d '\n'"}, + 'revision' => "git rev-parse HEAD | tr -d '\n'"}, 'src-gitsvn' => { 'init' => "git svn clone -r HEAD '%s' '%s'", 'update' => "git svn rebase", 'controldir' => ".git", - 'revision' => "git rev-parse --short HEAD | tr -d '\n'"}, + 'revision' => "git rev-parse HEAD | tr -d '\n'"}, 'src-bzr' => { 'init' => "bzr checkout --lightweight '%s' '%s'", 'update' => "bzr update", From 4a8961f1dfba33b1e9a38dd0ecb3a8b03c46edbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Mon, 30 Oct 2023 19:31:03 +0000 Subject: [PATCH 04/13] tools: macOS: types.h: fix missing unsigned types MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For some reason unsigned types were not added in commit 0a06fcf608dd ("build: fix kernel 5.4 on macos"), which led to bunch of hacks, like commit 3cc57ba4627c ("uboot-sunxi: add missing type __u64") or commit 997ff740dc44 ("uboot-mediatek: fix build on Mac OS X"). So lets add the missing unsigned types to workaround it in a bit more maintainable way. Fixes: #13833 Signed-off-by: Petr Štetiar --- tools/include/asm/types.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/include/asm/types.h b/tools/include/asm/types.h index 2c91232619..5a12bbe91b 100644 --- a/tools/include/asm/types.h +++ b/tools/include/asm/types.h @@ -10,15 +10,20 @@ #define _ASM_GENERIC_INT_LL64_H typedef __signed__ char __s8; +typedef unsigned char __u8; typedef __signed__ short __s16; +typedef unsigned short __u16; typedef __signed__ int __s32; +typedef unsigned int __u32; #ifdef __GNUC__ __extension__ typedef __signed__ long long __s64; +__extension__ typedef unsigned long long __u64; #else typedef __signed__ long long __s64; +typedef unsigned long long __u64; #endif #endif /* _ASM_GENERIC_INT_LL64_H */ From f691830307b484ec611f173157739e56c78f336c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Mon, 30 Oct 2023 19:37:59 +0000 Subject: [PATCH 05/13] Revert "uboot-mediatek: fix build on Mac OS X" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 997ff740dc44045390680eaa30b6566d40bca322. 78cbd5apick as it should be fixed in commit 78cbd5a57e11 ("tools: macOS: types.h: fix missing unsigned types"). References: #13833 Signed-off-by: Petr Štetiar --- .../patches/260-add-missing-type-u64.patch | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 package/boot/uboot-mediatek/patches/260-add-missing-type-u64.patch diff --git a/package/boot/uboot-mediatek/patches/260-add-missing-type-u64.patch b/package/boot/uboot-mediatek/patches/260-add-missing-type-u64.patch deleted file mode 100644 index a6204c7b69..0000000000 --- a/package/boot/uboot-mediatek/patches/260-add-missing-type-u64.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/include/linux/types.h -+++ b/include/linux/types.h -@@ -1,6 +1,7 @@ - #ifndef _LINUX_TYPES_H - #define _LINUX_TYPES_H - -+typedef unsigned long long __u64; - #include - #include - #include From bc47613cf0215743cde641f962386d59b57a332a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Mon, 30 Oct 2023 19:38:04 +0000 Subject: [PATCH 06/13] Revert "uboot-sunxi: add missing type __u64" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 3cc57ba4627c9c7555f8ad86e4f78d86d8f9ddf0 as it should be fixed in commit 78cbd5a57e11 ("tools: macOS: types.h: fix missing unsigned types"). References: #13833 Signed-off-by: Petr Štetiar --- .../uboot-sunxi/patches/260-add-missing-type-u64.patch | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 package/boot/uboot-sunxi/patches/260-add-missing-type-u64.patch diff --git a/package/boot/uboot-sunxi/patches/260-add-missing-type-u64.patch b/package/boot/uboot-sunxi/patches/260-add-missing-type-u64.patch deleted file mode 100644 index a6204c7b69..0000000000 --- a/package/boot/uboot-sunxi/patches/260-add-missing-type-u64.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/include/linux/types.h -+++ b/include/linux/types.h -@@ -1,6 +1,7 @@ - #ifndef _LINUX_TYPES_H - #define _LINUX_TYPES_H - -+typedef unsigned long long __u64; - #include - #include - #include From 5cdf152b28da70d12cd4eba08e1c75dd7afcced2 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Sun, 29 Oct 2023 17:00:29 +0100 Subject: [PATCH 07/13] qualcommax: ipq807x: move subtarget specific kernel options Currently, qualcommax target contains the full kernel config for the ipq807x subtarget, but since I am working on ipq60xx as well it makes sense to split out the ipq807x specific kernel options to subtarget config. ipq60xx will use the same approach and use subtarget config. Should result in the same end kernel config, verified by comparing the generated kernel .config. Signed-off-by: Robert Marko --- target/linux/qualcommax/config-6.1 | 34 +++---------------- .../linux/qualcommax/ipq807x/config-default | 30 ++++++++++++++++ 2 files changed, 34 insertions(+), 30 deletions(-) create mode 100644 target/linux/qualcommax/ipq807x/config-default diff --git a/target/linux/qualcommax/config-6.1 b/target/linux/qualcommax/config-6.1 index 8bac3fa187..7a983b961b 100644 --- a/target/linux/qualcommax/config-6.1 +++ b/target/linux/qualcommax/config-6.1 @@ -52,7 +52,6 @@ CONFIG_ARM_GIC_V3_ITS=y CONFIG_ARM_GIC_V3_ITS_PCI=y # CONFIG_ARM_MHU_V2 is not set CONFIG_ARM_PSCI_CPUIDLE=y -CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y CONFIG_ARM_PSCI_FW=y # CONFIG_ARM_QCOM_CPUFREQ_HW is not set CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y @@ -135,7 +134,6 @@ CONFIG_DMA_ENGINE=y CONFIG_DMA_OF=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DTC=y -CONFIG_DT_IDLE_GENPD=y CONFIG_DT_IDLE_STATES=y CONFIG_EDAC_SUPPORT=y CONFIG_EXCLUSIVE_SYSTEM_RAM=y @@ -200,7 +198,7 @@ CONFIG_IPQ_APSS_PLL=y # CONFIG_IPQ_GCC_4019 is not set # CONFIG_IPQ_GCC_6018 is not set # CONFIG_IPQ_GCC_806X is not set -CONFIG_IPQ_GCC_8074=y +# CONFIG_IPQ_GCC_8074 is not set # CONFIG_IPQ_LCC_806X is not set CONFIG_IRQCHIP=y CONFIG_IRQ_DOMAIN=y @@ -223,9 +221,7 @@ CONFIG_MDIO_IPQ4019=y # CONFIG_MDM_GCC_9615 is not set # CONFIG_MDM_LCC_9615 is not set CONFIG_MEMFD_CREATE=y -# CONFIG_MFD_HI6421_SPMI is not set # CONFIG_MFD_QCOM_RPM is not set -CONFIG_MFD_SPMI_PMIC=y CONFIG_MFD_SYSCON=y CONFIG_MIGRATION=y CONFIG_MMC=y @@ -279,7 +275,6 @@ CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y CONFIG_NVMEM=y CONFIG_NVMEM_QCOM_QFPROM=y # CONFIG_NVMEM_QCOM_SEC_QFPROM is not set -# CONFIG_NVMEM_SPMI_SDAM is not set CONFIG_NVMEM_SYSFS=y CONFIG_NVMEM_U_BOOT_ENV=y CONFIG_OF=y @@ -327,7 +322,7 @@ CONFIG_PHY_QCOM_QUSB2=y # CONFIG_PHY_QCOM_USB_SS is not set CONFIG_PINCTRL=y # CONFIG_PINCTRL_IPQ6018 is not set -CONFIG_PINCTRL_IPQ8074=y +# CONFIG_PINCTRL_IPQ8074 is not set CONFIG_PINCTRL_MSM=y # CONFIG_PINCTRL_MSM8916 is not set # CONFIG_PINCTRL_MSM8976 is not set @@ -335,7 +330,6 @@ CONFIG_PINCTRL_MSM=y # CONFIG_PINCTRL_MSM8996 is not set # CONFIG_PINCTRL_MSM8998 is not set # CONFIG_PINCTRL_QCM2290 is not set -CONFIG_PINCTRL_QCOM_SPMI_PMIC=y # CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set # CONFIG_PINCTRL_QCS404 is not set # CONFIG_PINCTRL_SC7180 is not set @@ -348,15 +342,11 @@ CONFIG_PINCTRL_QCOM_SPMI_PMIC=y # CONFIG_PINCTRL_SM8250 is not set # CONFIG_PINCTRL_SM8450 is not set CONFIG_PM=y -# CONFIG_PM8916_WATCHDOG is not set CONFIG_PM_CLK=y -CONFIG_PM_GENERIC_DOMAINS=y -CONFIG_PM_GENERIC_DOMAINS_OF=y CONFIG_PM_OPP=y CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y CONFIG_POWER_RESET=y # CONFIG_POWER_RESET_MSM is not set -# CONFIG_POWER_RESET_QCOM_PON is not set CONFIG_POWER_SUPPLY=y CONFIG_PREEMPT_NONE_BUILD=y CONFIG_PRINTK_TIME=y @@ -366,18 +356,16 @@ CONFIG_PTP_1588_CLOCK_OPTIONAL=y # CONFIG_QCOM_A53PLL is not set # CONFIG_QCOM_AOSS_QMP is not set CONFIG_QCOM_APCS_IPC=y -CONFIG_QCOM_APM=y +# CONFIG_QCOM_APM is not set # CONFIG_QCOM_APR is not set CONFIG_QCOM_BAM_DMA=y # CONFIG_QCOM_CLK_APCC_MSM8996 is not set # CONFIG_QCOM_CLK_APCS_MSM8916 is not set # CONFIG_QCOM_CLK_APCS_SDX55 is not set -# CONFIG_QCOM_COINCELL is not set # CONFIG_QCOM_COMMAND_DB is not set # CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_FASTRPC is not set -CONFIG_QCOM_GDSC=y # CONFIG_QCOM_GENI_SE is not set # CONFIG_QCOM_GSBI is not set # CONFIG_QCOM_HFPLL is not set @@ -406,12 +394,9 @@ CONFIG_QCOM_SMP2P=y # CONFIG_QCOM_SMSM is not set CONFIG_QCOM_SOCINFO=y # CONFIG_QCOM_SPM is not set -CONFIG_QCOM_SPMI_ADC5=y -# CONFIG_QCOM_SPMI_RRADC is not set # CONFIG_QCOM_STATS is not set # CONFIG_QCOM_SYSMON is not set CONFIG_QCOM_TSENS=y -CONFIG_QCOM_VADC_COMMON=y # CONFIG_QCOM_WCNSS_CTRL is not set # CONFIG_QCOM_WCNSS_PIL is not set CONFIG_QCOM_WDT=y @@ -425,15 +410,9 @@ CONFIG_RAS=y CONFIG_RATIONAL=y CONFIG_REGMAP=y CONFIG_REGMAP_MMIO=y -CONFIG_REGMAP_SPMI=y CONFIG_REGULATOR=y -CONFIG_REGULATOR_CPR3=y -# CONFIG_REGULATOR_CPR3_NPU is not set -CONFIG_REGULATOR_CPR4_APSS=y +# CONFIG_REGULATOR_CPR3 is not set CONFIG_REGULATOR_FIXED_VOLTAGE=y -# CONFIG_REGULATOR_QCOM_LABIBB is not set -CONFIG_REGULATOR_QCOM_SPMI=y -# CONFIG_REGULATOR_QCOM_USB_VBUS is not set # CONFIG_REGULATOR_VQMMC_IPQ4019 is not set CONFIG_RELOCATABLE=y CONFIG_REMOTEPROC=y @@ -454,7 +433,6 @@ CONFIG_RPMSG_QCOM_SMD=y # CONFIG_RPMSG_TTY is not set CONFIG_RPS=y CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_PM8XXX=y CONFIG_RTC_I2C_AND_SPI=y CONFIG_RWSEM_SPIN_ON_OWNER=y # CONFIG_SCHED_CORE is not set @@ -512,10 +490,6 @@ CONFIG_SPI=y CONFIG_SPI_MASTER=y CONFIG_SPI_MEM=y CONFIG_SPI_QUP=y -CONFIG_SPMI=y -# CONFIG_SPMI_HISI3670 is not set -CONFIG_SPMI_MSM_PMIC_ARB=y -# CONFIG_SPMI_PMIC_CLKDIV is not set CONFIG_SRCU=y CONFIG_SWIOTLB=y CONFIG_SWPHY=y diff --git a/target/linux/qualcommax/ipq807x/config-default b/target/linux/qualcommax/ipq807x/config-default new file mode 100644 index 0000000000..18483d05b4 --- /dev/null +++ b/target/linux/qualcommax/ipq807x/config-default @@ -0,0 +1,30 @@ +CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y +CONFIG_DT_IDLE_GENPD=y +CONFIG_IPQ_GCC_8074=y +# CONFIG_MFD_HI6421_SPMI is not set +CONFIG_MFD_SPMI_PMIC=y +# CONFIG_NVMEM_SPMI_SDAM is not set +CONFIG_PINCTRL_IPQ8074=y +CONFIG_PINCTRL_QCOM_SPMI_PMIC=y +# CONFIG_PM8916_WATCHDOG is not set +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +# CONFIG_POWER_RESET_QCOM_PON is not set +CONFIG_QCOM_APM=y +# CONFIG_QCOM_COINCELL is not set +CONFIG_QCOM_GDSC=y +CONFIG_QCOM_SPMI_ADC5=y +# CONFIG_QCOM_SPMI_RRADC is not set +CONFIG_QCOM_VADC_COMMON=y +CONFIG_REGMAP_SPMI=y +CONFIG_REGULATOR_CPR3=y +# CONFIG_REGULATOR_CPR3_NPU is not set +CONFIG_REGULATOR_CPR4_APSS=y +# CONFIG_REGULATOR_QCOM_LABIBB is not set +CONFIG_REGULATOR_QCOM_SPMI=y +# CONFIG_REGULATOR_QCOM_USB_VBUS is not set +CONFIG_RTC_DRV_PM8XXX=y +CONFIG_SPMI=y +# CONFIG_SPMI_HISI3670 is not set +CONFIG_SPMI_MSM_PMIC_ARB=y +# CONFIG_SPMI_PMIC_CLKDIV is not set From 86ca7199dfb132042ce3110acef23d74f4ef14a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 1 Nov 2023 16:49:20 +0100 Subject: [PATCH 08/13] build: fix pkg-config detection when inside of a nix-shell MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The output of command_all when inside a nix-shell looks like the below where /usr does not match: ➜ scripts/command_all.sh pkg-config /nix/store/ifr6srqgpvygd5vp14748d109ri31isv-pkg-config-wrapper-0.29.2/bin/pkg-config Signed-off-by: Sandro Jäckel --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c325034bb9..9bdb03a443 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ $(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt dir world: -DISTRO_PKG_CONFIG:=$(shell $(TOPDIR)/scripts/command_all.sh pkg-config | grep '/usr' -m 1) +DISTRO_PKG_CONFIG:=$(shell $(TOPDIR)/scripts/command_all.sh pkg-config | grep -e '/usr' -e '/nix/store' -m 1) export ORIG_PATH:=$(if $(ORIG_PATH),$(ORIG_PATH),$(PATH)) export PATH:=$(if $(STAGING_DIR),$(abspath $(STAGING_DIR)/../host/bin),$(TOPDIR)/staging_dir/host/bin):$(PATH) From ac199c57c59ebc4f3cf642ab8541fa665d731c29 Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Sun, 22 Oct 2023 14:26:48 -0600 Subject: [PATCH 09/13] dnsmasq: don't source functions.sh twice It's already pulled in from /etc/rc.common. Fixes: #13758 Fixes: 6b23836071b1 ("package: avoid the use of eval to parse ipcalc.sh output") Signed-off-by: Philip Prindeville --- package/network/services/dnsmasq/files/dnsmasq.init | 2 -- 1 file changed, 2 deletions(-) diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 4cef2f4c29..d356a21f81 100755 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -1,8 +1,6 @@ #!/bin/sh /etc/rc.common # Copyright (C) 2007-2012 OpenWrt.org -. /lib/functions.sh - START=19 USE_PROCD=1 From 8de3ee2e79e324fd238491be1e102e7c043a6633 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Tue, 6 Jun 2023 13:21:53 +0200 Subject: [PATCH 10/13] ath10k-ct: bump to latest upstream 92900bf("at10k-ct: fixup version info") Tested-by: Enrico Mioso Signed-off-by: Koen Vandeputte --- package/kernel/ath10k-ct/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index 2bb7c7e2f7..cfd38120cb 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2023-05-26 -PKG_SOURCE_VERSION:=af342b6171a457e067932615deb203b68b1d076a -PKG_MIRROR_HASH:=90e145fbe6057da65b637e3a194317c1e4f529b078c7e4a245a286c37e3d1b76 +PKG_SOURCE_DATE:=2023-06-05 +PKG_SOURCE_VERSION:=fadd0768cbd22248a60efbb219ccefc9d86cd78c +PKG_MIRROR_HASH:=513f62765ba3a2f423099426fbba86b854f3de0ab13ec2ab6e2780577ea75f95 # Build the 6.2 ath10k-ct driver version. # Probably this should match as closely as From 7d3651f1b9be522e3849412d0aba010e81e15a51 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Wed, 20 Sep 2023 14:14:05 +0200 Subject: [PATCH 11/13] ath10k-ct: switch to 6.4 Switch to the latest version so we match as close as possible to our own mac80211 version. Run-time tested on hundreds of devices in the field for months now: - qca988x (wave 1) - qca4019 (wave 2) Tested-by: Enrico Mioso Signed-off-by: Koen Vandeputte --- package/kernel/ath10k-ct/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index cfd38120cb..9c0029d3bd 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -12,10 +12,10 @@ PKG_SOURCE_DATE:=2023-06-05 PKG_SOURCE_VERSION:=fadd0768cbd22248a60efbb219ccefc9d86cd78c PKG_MIRROR_HASH:=513f62765ba3a2f423099426fbba86b854f3de0ab13ec2ab6e2780577ea75f95 -# Build the 6.2 ath10k-ct driver version. +# Build the 6.4 ath10k-ct driver version. # Probably this should match as closely as # possible to whatever mac80211 backports version is being used. -CT_KVER="-6.2" +CT_KVER="-6.4" PKG_MAINTAINER:=Ben Greear PKG_BUILD_PARALLEL:=1 From 1cb85e1251a7174643993dfc6da778e31be58903 Mon Sep 17 00:00:00 2001 From: Mikhail Zhilkin Date: Sun, 29 Oct 2023 15:10:58 +0000 Subject: [PATCH 12/13] ramips: fix wrong permissions on dts files This commit fixes wrong permissions on dts files. Before the commit these dts files are executable: -rwxrwxr-x mt7620a_dlink_dir-806a-b1.dts -rwxrwxr-x mt7621_wavlink_wl-wn573hx1.dts Signed-off-by: Mikhail Zhilkin --- target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts | 0 target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts mode change 100755 => 100644 target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts diff --git a/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts b/target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts old mode 100755 new mode 100644 diff --git a/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts b/target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts old mode 100755 new mode 100644 From a0fa3a17a2f095dea27afa3a11e7674d990adbd7 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Fri, 3 Nov 2023 04:10:03 +0100 Subject: [PATCH 13/13] ath10k-ct: add patch fixing compilation error in debug ath10k-ct based on kernel 6.4 doesn't have a fix present in previous kernel. Add patch that port the compilation error fix from previous kernel in the new 6.4 kernel. Fixes: 7d3651f1b9be ("ath10k-ct: switch to 6.4") Signed-off-by: Christian Marangi --- ...ompilation-warning-for-debug-level-t.patch | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 package/kernel/ath10k-ct/patches/100-ath10k-ct-port-compilation-warning-for-debug-level-t.patch diff --git a/package/kernel/ath10k-ct/patches/100-ath10k-ct-port-compilation-warning-for-debug-level-t.patch b/package/kernel/ath10k-ct/patches/100-ath10k-ct-port-compilation-warning-for-debug-level-t.patch new file mode 100644 index 0000000000..f4522c87b4 --- /dev/null +++ b/package/kernel/ath10k-ct/patches/100-ath10k-ct-port-compilation-warning-for-debug-level-t.patch @@ -0,0 +1,111 @@ +From a227621b46df8a7a5c276131b245f40eac7513fb Mon Sep 17 00:00:00 2001 +From: Christian Marangi +Date: Fri, 3 Nov 2023 04:03:08 +0100 +Subject: [PATCH] ath10k-ct: port compilation warning for debug level to kernel + 6.4 + +Port compilation warning for debug level previously fixed in other +kernel to kernel version 6.4. + +Signed-off-by: Christian Marangi +--- + ath10k-6.4/debug.c | 85 ++++++++++++++++++++++++++-------------------- + 1 file changed, 48 insertions(+), 37 deletions(-) + +--- a/ath10k-6.4/debug.c ++++ b/ath10k-6.4/debug.c +@@ -1345,47 +1345,58 @@ static const struct file_operations fops + .llseek = default_llseek, + }; + ++static const char debug_level_buf[] = ++ "To change debug level, set value adding up desired flags:\n" ++ "PCI: 0x1\n" ++ "WMI: 0x2\n" ++ "HTC: 0x4\n" ++ "HTT: 0x8\n" ++ "MAC: 0x10\n" ++ "BOOT: 0x20\n" ++ "PCI-DUMP: 0x40\n" ++ "HTT-DUMP: 0x80\n" ++ "MGMT: 0x100\n" ++ "DATA: 0x200\n" ++ "BMI: 0x400\n" ++ "REGULATORY: 0x800\n" ++ "TESTMODE: 0x1000\n" ++ "WMI-PRINT: 0x2000\n" ++ "PCI-PS: 0x4000\n" ++ "AHB: 0x8000\n" ++ "SDIO: 0x10000\n" ++ "SDIO_DUMP: 0x20000\n" ++ "USB: 0x40000\n" ++ "USB_BULK: 0x80000\n" ++ "SNOC: 0x100000\n" ++ "QMI: 0x200000\n" ++ "BEACONS: 0x8000000\n" ++ "NO-FW-DBGLOG:0x10000000\n" ++ "MAC2: 0x20000000\n" ++ "INFO-AS-DBG: 0x40000000\n" ++ "FW: 0x80000000\n" ++ "ALL: 0xEFFFFFFF\n"; ++ ++#define READ_DEBUG_LEVEL_SIZE sizeof(debug_level_buf) + 60 ++ + static ssize_t ath10k_read_debug_level(struct file *file, + char __user *user_buf, + size_t count, loff_t *ppos) + { +- int sz; +- const char buf[] = +- "To change debug level, set value adding up desired flags:\n" +- "PCI: 0x1\n" +- "WMI: 0x2\n" +- "HTC: 0x4\n" +- "HTT: 0x8\n" +- "MAC: 0x10\n" +- "BOOT: 0x20\n" +- "PCI-DUMP: 0x40\n" +- "HTT-DUMP: 0x80\n" +- "MGMT: 0x100\n" +- "DATA: 0x200\n" +- "BMI: 0x400\n" +- "REGULATORY: 0x800\n" +- "TESTMODE: 0x1000\n" +- "WMI-PRINT: 0x2000\n" +- "PCI-PS: 0x4000\n" +- "AHB: 0x8000\n" +- "SDIO: 0x10000\n" +- "SDIO_DUMP: 0x20000\n" +- "USB: 0x40000\n" +- "USB_BULK: 0x80000\n" +- "SNOC: 0x100000\n" +- "QMI: 0x200000\n" +- "BEACONS: 0x8000000\n" +- "NO-FW-DBGLOG:0x10000000\n" +- "MAC2: 0x20000000\n" +- "INFO-AS-DBG: 0x40000000\n" +- "FW: 0x80000000\n" +- "ALL: 0xEFFFFFFF\n"; +- char wbuf[sizeof(buf) + 60]; +- sz = snprintf(wbuf, sizeof(wbuf), "Current debug level: 0x%x\n\n%s", +- ath10k_debug_mask, buf); +- wbuf[sizeof(wbuf) - 1] = 0; ++ int sz, ret; ++ char *wbuf; ++ ++ wbuf = kcalloc(READ_DEBUG_LEVEL_SIZE, sizeof(char), GFP_KERNEL); ++ if (!wbuf) ++ return -ENOMEM; ++ ++ sz = snprintf(wbuf, READ_DEBUG_LEVEL_SIZE, ++ "Current debug level: 0x%x\n\n%s", ++ ath10k_debug_mask, debug_level_buf); ++ ++ ret = simple_read_from_buffer(user_buf, count, ppos, wbuf, sz); ++ kfree(wbuf); + +- return simple_read_from_buffer(user_buf, count, ppos, wbuf, sz); ++ return ret; + } + + /* Set logging level.