Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
2e4a94099a
2
Makefile
2
Makefile
@ -14,7 +14,7 @@ $(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt dir
|
|||||||
|
|
||||||
world:
|
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 ORIG_PATH:=$(if $(ORIG_PATH),$(ORIG_PATH),$(PATH))
|
||||||
export PATH:=$(if $(STAGING_DIR),$(abspath $(STAGING_DIR)/../host/bin),$(TOPDIR)/staging_dir/host/bin):$(PATH)
|
export PATH:=$(if $(STAGING_DIR),$(abspath $(STAGING_DIR)/../host/bin),$(TOPDIR)/staging_dir/host/bin):$(PATH)
|
||||||
|
|||||||
@ -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 <linux/posix_types.h>
|
|
||||||
#include <asm/types.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
@ -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 <linux/posix_types.h>
|
|
||||||
#include <asm/types.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
@ -8,14 +8,14 @@ PKG_LICENSE_FILES:=
|
|||||||
|
|
||||||
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
|
PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_DATE:=2023-05-26
|
PKG_SOURCE_DATE:=2023-06-05
|
||||||
PKG_SOURCE_VERSION:=af342b6171a457e067932615deb203b68b1d076a
|
PKG_SOURCE_VERSION:=fadd0768cbd22248a60efbb219ccefc9d86cd78c
|
||||||
PKG_MIRROR_HASH:=90e145fbe6057da65b637e3a194317c1e4f529b078c7e4a245a286c37e3d1b76
|
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
|
# Probably this should match as closely as
|
||||||
# possible to whatever mac80211 backports version is being used.
|
# possible to whatever mac80211 backports version is being used.
|
||||||
CT_KVER="-6.2"
|
CT_KVER="-6.4"
|
||||||
|
|
||||||
PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
|
PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|||||||
@ -0,0 +1,111 @@
|
|||||||
|
From a227621b46df8a7a5c276131b245f40eac7513fb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christian Marangi <ansuelsmth@gmail.com>
|
||||||
|
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 <ansuelsmth@gmail.com>
|
||||||
|
---
|
||||||
|
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.
|
||||||
@ -1,8 +1,6 @@
|
|||||||
#!/bin/sh /etc/rc.common
|
#!/bin/sh /etc/rc.common
|
||||||
# Copyright (C) 2007-2012 OpenWrt.org
|
# Copyright (C) 2007-2012 OpenWrt.org
|
||||||
|
|
||||||
. /lib/functions.sh
|
|
||||||
|
|
||||||
START=19
|
START=19
|
||||||
|
|
||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
|
|||||||
@ -12,9 +12,9 @@ PKG_RELEASE:=1
|
|||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
|
PKG_SOURCE_URL=https://github.com/jow-/ucode.git
|
||||||
PKG_SOURCE_DATE:=2023-10-19
|
PKG_SOURCE_DATE:=2023-11-02
|
||||||
PKG_SOURCE_VERSION:=07c03173d4e6a30953f92fa88ed29b0b956c9106
|
PKG_SOURCE_VERSION:=cfb24ea4f12131dcefe4f1ede2f51d3d16b88dec
|
||||||
PKG_MIRROR_HASH:=fd770335f442ebfc0f4e28d94bb60d886c43aa239ab88e965be7c490b3283a82
|
PKG_MIRROR_HASH:=f515a23ab438f92be5788c42b9f614a82e670de2df1c01cd63143cdc77fa24fe
|
||||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||||
PKG_LICENSE:=ISC
|
PKG_LICENSE:=ISC
|
||||||
|
|
||||||
|
|||||||
@ -162,7 +162,7 @@ my %update_method = (
|
|||||||
'update_force' => "git pull --ff-only || (git reset --hard HEAD; git pull --ff-only; exit 1)",
|
'update_force' => "git pull --ff-only || (git reset --hard HEAD; git pull --ff-only; exit 1)",
|
||||||
'post_update' => "git submodule update --init --recursive",
|
'post_update' => "git submodule update --init --recursive",
|
||||||
'controldir' => ".git",
|
'controldir' => ".git",
|
||||||
'revision' => "git rev-parse --short HEAD | tr -d '\n'"},
|
'revision' => "git rev-parse HEAD | tr -d '\n'"},
|
||||||
'src-git-full' => {
|
'src-git-full' => {
|
||||||
'init' => "git clone --filter=blob:none '%s' '%s'",
|
'init' => "git clone --filter=blob:none '%s' '%s'",
|
||||||
'init_branch' => "git clone --filter=blob:none --branch '%s' '%s' '%s'",
|
'init_branch' => "git clone --filter=blob:none --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)",
|
'update_force' => "git pull --ff-only || (git reset --hard HEAD; git pull --ff-only; exit 1)",
|
||||||
'post_update' => "git submodule update --init --recursive",
|
'post_update' => "git submodule update --init --recursive",
|
||||||
'controldir' => ".git",
|
'controldir' => ".git",
|
||||||
'revision' => "git rev-parse --short HEAD | tr -d '\n'"},
|
'revision' => "git rev-parse HEAD | tr -d '\n'"},
|
||||||
'src-gitsvn' => {
|
'src-gitsvn' => {
|
||||||
'init' => "git svn clone -r HEAD '%s' '%s'",
|
'init' => "git svn clone -r HEAD '%s' '%s'",
|
||||||
'update' => "git svn rebase",
|
'update' => "git svn rebase",
|
||||||
'controldir' => ".git",
|
'controldir' => ".git",
|
||||||
'revision' => "git rev-parse --short HEAD | tr -d '\n'"},
|
'revision' => "git rev-parse HEAD | tr -d '\n'"},
|
||||||
'src-bzr' => {
|
'src-bzr' => {
|
||||||
'init' => "bzr checkout --lightweight '%s' '%s'",
|
'init' => "bzr checkout --lightweight '%s' '%s'",
|
||||||
'update' => "bzr update",
|
'update' => "bzr update",
|
||||||
|
|||||||
@ -25,23 +25,27 @@ Cc: Arınç ÜNAL <arinc.unal@arinc9.com>
|
|||||||
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
|
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||||
Cc: Scott Branden <scott.branden@broadcom.com>
|
Cc: Scott Branden <scott.branden@broadcom.com>
|
||||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||||
|
Acked-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||||
---
|
---
|
||||||
drivers/nvmem/brcm_nvram.c | 130 +++++++++++++++++++++++++------------
|
drivers/nvmem/brcm_nvram.c | 134 ++++++++++++++++++++++++++-----------
|
||||||
1 file changed, 90 insertions(+), 40 deletions(-)
|
1 file changed, 94 insertions(+), 40 deletions(-)
|
||||||
|
|
||||||
--- a/drivers/nvmem/brcm_nvram.c
|
--- a/drivers/nvmem/brcm_nvram.c
|
||||||
+++ b/drivers/nvmem/brcm_nvram.c
|
+++ b/drivers/nvmem/brcm_nvram.c
|
||||||
@@ -17,9 +17,20 @@
|
@@ -17,9 +17,23 @@
|
||||||
|
|
||||||
#define NVRAM_MAGIC "FLSH"
|
#define NVRAM_MAGIC "FLSH"
|
||||||
|
|
||||||
+/**
|
+/**
|
||||||
+ * struct brcm_nvram - driver state internal struct
|
+ * struct brcm_nvram - driver state internal struct
|
||||||
+ *
|
+ *
|
||||||
|
+ * @dev: NVMEM device pointer
|
||||||
+ * @nvmem_size: Size of the whole space available for NVRAM
|
+ * @nvmem_size: Size of the whole space available for NVRAM
|
||||||
+ * @data: NVRAM data copy stored to avoid poking underlaying flash controller
|
+ * @data: NVRAM data copy stored to avoid poking underlaying flash controller
|
||||||
+ * @data_len: NVRAM data size
|
+ * @data_len: NVRAM data size
|
||||||
+ * @padding_byte: Padding value used to fill remaining space
|
+ * @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 brcm_nvram {
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
@ -53,7 +57,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
struct nvmem_cell_info *cells;
|
struct nvmem_cell_info *cells;
|
||||||
int ncells;
|
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)
|
size_t bytes)
|
||||||
{
|
{
|
||||||
struct brcm_nvram *priv = context;
|
struct brcm_nvram *priv = context;
|
||||||
@ -104,7 +108,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
|
|
||||||
return 0;
|
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)
|
size_t len)
|
||||||
{
|
{
|
||||||
struct device *dev = priv->dev;
|
struct device *dev = priv->dev;
|
||||||
@ -119,7 +123,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
|
|
||||||
priv->ncells = 0;
|
priv->ncells = 0;
|
||||||
for (var = data + sizeof(struct brcm_nvram_header);
|
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);
|
priv->cells = devm_kcalloc(dev, priv->ncells, sizeof(*priv->cells), GFP_KERNEL);
|
||||||
@ -204,7 +208,8 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
- return err;
|
- return err;
|
||||||
+ len = le32_to_cpu(header->len);
|
+ len = le32_to_cpu(header->len);
|
||||||
+ if (len > priv->nvmem_size) {
|
+ 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;
|
+ return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,7 +220,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
|
|
||||||
return 0;
|
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,
|
.reg_read = brcm_nvram_read,
|
||||||
};
|
};
|
||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
@ -223,7 +228,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
struct brcm_nvram *priv;
|
struct brcm_nvram *priv;
|
||||||
int err;
|
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;
|
return -ENOMEM;
|
||||||
priv->dev = dev;
|
priv->dev = dev;
|
||||||
|
|
||||||
@ -25,23 +25,27 @@ Cc: Arınç ÜNAL <arinc.unal@arinc9.com>
|
|||||||
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
|
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||||
Cc: Scott Branden <scott.branden@broadcom.com>
|
Cc: Scott Branden <scott.branden@broadcom.com>
|
||||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||||
|
Acked-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||||||
---
|
---
|
||||||
drivers/nvmem/brcm_nvram.c | 130 +++++++++++++++++++++++++------------
|
drivers/nvmem/brcm_nvram.c | 134 ++++++++++++++++++++++++++-----------
|
||||||
1 file changed, 90 insertions(+), 40 deletions(-)
|
1 file changed, 94 insertions(+), 40 deletions(-)
|
||||||
|
|
||||||
--- a/drivers/nvmem/brcm_nvram.c
|
--- a/drivers/nvmem/brcm_nvram.c
|
||||||
+++ b/drivers/nvmem/brcm_nvram.c
|
+++ b/drivers/nvmem/brcm_nvram.c
|
||||||
@@ -17,9 +17,20 @@
|
@@ -17,9 +17,23 @@
|
||||||
|
|
||||||
#define NVRAM_MAGIC "FLSH"
|
#define NVRAM_MAGIC "FLSH"
|
||||||
|
|
||||||
+/**
|
+/**
|
||||||
+ * struct brcm_nvram - driver state internal struct
|
+ * struct brcm_nvram - driver state internal struct
|
||||||
+ *
|
+ *
|
||||||
|
+ * @dev: NVMEM device pointer
|
||||||
+ * @nvmem_size: Size of the whole space available for NVRAM
|
+ * @nvmem_size: Size of the whole space available for NVRAM
|
||||||
+ * @data: NVRAM data copy stored to avoid poking underlaying flash controller
|
+ * @data: NVRAM data copy stored to avoid poking underlaying flash controller
|
||||||
+ * @data_len: NVRAM data size
|
+ * @data_len: NVRAM data size
|
||||||
+ * @padding_byte: Padding value used to fill remaining space
|
+ * @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 brcm_nvram {
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
@ -53,7 +57,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
struct nvmem_cell_info *cells;
|
struct nvmem_cell_info *cells;
|
||||||
int ncells;
|
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)
|
size_t bytes)
|
||||||
{
|
{
|
||||||
struct brcm_nvram *priv = context;
|
struct brcm_nvram *priv = context;
|
||||||
@ -104,7 +108,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
|
|
||||||
return 0;
|
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)
|
size_t len)
|
||||||
{
|
{
|
||||||
struct device *dev = priv->dev;
|
struct device *dev = priv->dev;
|
||||||
@ -119,7 +123,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
|
|
||||||
priv->ncells = 0;
|
priv->ncells = 0;
|
||||||
for (var = data + sizeof(struct brcm_nvram_header);
|
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);
|
priv->cells = devm_kcalloc(dev, priv->ncells, sizeof(*priv->cells), GFP_KERNEL);
|
||||||
@ -204,7 +208,8 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
- return err;
|
- return err;
|
||||||
+ len = le32_to_cpu(header->len);
|
+ len = le32_to_cpu(header->len);
|
||||||
+ if (len > priv->nvmem_size) {
|
+ 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;
|
+ return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,7 +220,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
|
|
||||||
return 0;
|
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,
|
.reg_read = brcm_nvram_read,
|
||||||
};
|
};
|
||||||
struct device *dev = &pdev->dev;
|
struct device *dev = &pdev->dev;
|
||||||
@ -223,7 +228,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
struct brcm_nvram *priv;
|
struct brcm_nvram *priv;
|
||||||
int err;
|
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;
|
return -ENOMEM;
|
||||||
priv->dev = dev;
|
priv->dev = dev;
|
||||||
|
|
||||||
@ -52,7 +52,6 @@ CONFIG_ARM_GIC_V3_ITS=y
|
|||||||
CONFIG_ARM_GIC_V3_ITS_PCI=y
|
CONFIG_ARM_GIC_V3_ITS_PCI=y
|
||||||
# CONFIG_ARM_MHU_V2 is not set
|
# CONFIG_ARM_MHU_V2 is not set
|
||||||
CONFIG_ARM_PSCI_CPUIDLE=y
|
CONFIG_ARM_PSCI_CPUIDLE=y
|
||||||
CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
|
|
||||||
CONFIG_ARM_PSCI_FW=y
|
CONFIG_ARM_PSCI_FW=y
|
||||||
# CONFIG_ARM_QCOM_CPUFREQ_HW is not set
|
# CONFIG_ARM_QCOM_CPUFREQ_HW is not set
|
||||||
CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
|
CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
|
||||||
@ -135,7 +134,6 @@ CONFIG_DMA_ENGINE=y
|
|||||||
CONFIG_DMA_OF=y
|
CONFIG_DMA_OF=y
|
||||||
CONFIG_DMA_VIRTUAL_CHANNELS=y
|
CONFIG_DMA_VIRTUAL_CHANNELS=y
|
||||||
CONFIG_DTC=y
|
CONFIG_DTC=y
|
||||||
CONFIG_DT_IDLE_GENPD=y
|
|
||||||
CONFIG_DT_IDLE_STATES=y
|
CONFIG_DT_IDLE_STATES=y
|
||||||
CONFIG_EDAC_SUPPORT=y
|
CONFIG_EDAC_SUPPORT=y
|
||||||
CONFIG_EXCLUSIVE_SYSTEM_RAM=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_4019 is not set
|
||||||
# CONFIG_IPQ_GCC_6018 is not set
|
# CONFIG_IPQ_GCC_6018 is not set
|
||||||
# CONFIG_IPQ_GCC_806X 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_IPQ_LCC_806X is not set
|
||||||
CONFIG_IRQCHIP=y
|
CONFIG_IRQCHIP=y
|
||||||
CONFIG_IRQ_DOMAIN=y
|
CONFIG_IRQ_DOMAIN=y
|
||||||
@ -223,9 +221,7 @@ CONFIG_MDIO_IPQ4019=y
|
|||||||
# CONFIG_MDM_GCC_9615 is not set
|
# CONFIG_MDM_GCC_9615 is not set
|
||||||
# CONFIG_MDM_LCC_9615 is not set
|
# CONFIG_MDM_LCC_9615 is not set
|
||||||
CONFIG_MEMFD_CREATE=y
|
CONFIG_MEMFD_CREATE=y
|
||||||
# CONFIG_MFD_HI6421_SPMI is not set
|
|
||||||
# CONFIG_MFD_QCOM_RPM is not set
|
# CONFIG_MFD_QCOM_RPM is not set
|
||||||
CONFIG_MFD_SPMI_PMIC=y
|
|
||||||
CONFIG_MFD_SYSCON=y
|
CONFIG_MFD_SYSCON=y
|
||||||
CONFIG_MIGRATION=y
|
CONFIG_MIGRATION=y
|
||||||
CONFIG_MMC=y
|
CONFIG_MMC=y
|
||||||
@ -279,7 +275,6 @@ CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
|
|||||||
CONFIG_NVMEM=y
|
CONFIG_NVMEM=y
|
||||||
CONFIG_NVMEM_QCOM_QFPROM=y
|
CONFIG_NVMEM_QCOM_QFPROM=y
|
||||||
# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
|
# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
|
||||||
# CONFIG_NVMEM_SPMI_SDAM is not set
|
|
||||||
CONFIG_NVMEM_SYSFS=y
|
CONFIG_NVMEM_SYSFS=y
|
||||||
CONFIG_NVMEM_U_BOOT_ENV=y
|
CONFIG_NVMEM_U_BOOT_ENV=y
|
||||||
CONFIG_OF=y
|
CONFIG_OF=y
|
||||||
@ -327,7 +322,7 @@ CONFIG_PHY_QCOM_QUSB2=y
|
|||||||
# CONFIG_PHY_QCOM_USB_SS is not set
|
# CONFIG_PHY_QCOM_USB_SS is not set
|
||||||
CONFIG_PINCTRL=y
|
CONFIG_PINCTRL=y
|
||||||
# CONFIG_PINCTRL_IPQ6018 is not set
|
# CONFIG_PINCTRL_IPQ6018 is not set
|
||||||
CONFIG_PINCTRL_IPQ8074=y
|
# CONFIG_PINCTRL_IPQ8074 is not set
|
||||||
CONFIG_PINCTRL_MSM=y
|
CONFIG_PINCTRL_MSM=y
|
||||||
# CONFIG_PINCTRL_MSM8916 is not set
|
# CONFIG_PINCTRL_MSM8916 is not set
|
||||||
# CONFIG_PINCTRL_MSM8976 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_MSM8996 is not set
|
||||||
# CONFIG_PINCTRL_MSM8998 is not set
|
# CONFIG_PINCTRL_MSM8998 is not set
|
||||||
# CONFIG_PINCTRL_QCM2290 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_QCOM_SSBI_PMIC is not set
|
||||||
# CONFIG_PINCTRL_QCS404 is not set
|
# CONFIG_PINCTRL_QCS404 is not set
|
||||||
# CONFIG_PINCTRL_SC7180 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_SM8250 is not set
|
||||||
# CONFIG_PINCTRL_SM8450 is not set
|
# CONFIG_PINCTRL_SM8450 is not set
|
||||||
CONFIG_PM=y
|
CONFIG_PM=y
|
||||||
# CONFIG_PM8916_WATCHDOG is not set
|
|
||||||
CONFIG_PM_CLK=y
|
CONFIG_PM_CLK=y
|
||||||
CONFIG_PM_GENERIC_DOMAINS=y
|
|
||||||
CONFIG_PM_GENERIC_DOMAINS_OF=y
|
|
||||||
CONFIG_PM_OPP=y
|
CONFIG_PM_OPP=y
|
||||||
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
|
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
|
||||||
CONFIG_POWER_RESET=y
|
CONFIG_POWER_RESET=y
|
||||||
# CONFIG_POWER_RESET_MSM is not set
|
# CONFIG_POWER_RESET_MSM is not set
|
||||||
# CONFIG_POWER_RESET_QCOM_PON is not set
|
|
||||||
CONFIG_POWER_SUPPLY=y
|
CONFIG_POWER_SUPPLY=y
|
||||||
CONFIG_PREEMPT_NONE_BUILD=y
|
CONFIG_PREEMPT_NONE_BUILD=y
|
||||||
CONFIG_PRINTK_TIME=y
|
CONFIG_PRINTK_TIME=y
|
||||||
@ -366,18 +356,16 @@ CONFIG_PTP_1588_CLOCK_OPTIONAL=y
|
|||||||
# CONFIG_QCOM_A53PLL is not set
|
# CONFIG_QCOM_A53PLL is not set
|
||||||
# CONFIG_QCOM_AOSS_QMP is not set
|
# CONFIG_QCOM_AOSS_QMP is not set
|
||||||
CONFIG_QCOM_APCS_IPC=y
|
CONFIG_QCOM_APCS_IPC=y
|
||||||
CONFIG_QCOM_APM=y
|
# CONFIG_QCOM_APM is not set
|
||||||
# CONFIG_QCOM_APR is not set
|
# CONFIG_QCOM_APR is not set
|
||||||
CONFIG_QCOM_BAM_DMA=y
|
CONFIG_QCOM_BAM_DMA=y
|
||||||
# CONFIG_QCOM_CLK_APCC_MSM8996 is not set
|
# CONFIG_QCOM_CLK_APCC_MSM8996 is not set
|
||||||
# CONFIG_QCOM_CLK_APCS_MSM8916 is not set
|
# CONFIG_QCOM_CLK_APCS_MSM8916 is not set
|
||||||
# CONFIG_QCOM_CLK_APCS_SDX55 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_COMMAND_DB is not set
|
||||||
# CONFIG_QCOM_CPR is not set
|
# CONFIG_QCOM_CPR is not set
|
||||||
# CONFIG_QCOM_EBI2 is not set
|
# CONFIG_QCOM_EBI2 is not set
|
||||||
# CONFIG_QCOM_FASTRPC is not set
|
# CONFIG_QCOM_FASTRPC is not set
|
||||||
CONFIG_QCOM_GDSC=y
|
|
||||||
# CONFIG_QCOM_GENI_SE is not set
|
# CONFIG_QCOM_GENI_SE is not set
|
||||||
# CONFIG_QCOM_GSBI is not set
|
# CONFIG_QCOM_GSBI is not set
|
||||||
# CONFIG_QCOM_HFPLL 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_SMSM is not set
|
||||||
CONFIG_QCOM_SOCINFO=y
|
CONFIG_QCOM_SOCINFO=y
|
||||||
# CONFIG_QCOM_SPM is not set
|
# 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_STATS is not set
|
||||||
# CONFIG_QCOM_SYSMON is not set
|
# CONFIG_QCOM_SYSMON is not set
|
||||||
CONFIG_QCOM_TSENS=y
|
CONFIG_QCOM_TSENS=y
|
||||||
CONFIG_QCOM_VADC_COMMON=y
|
|
||||||
# CONFIG_QCOM_WCNSS_CTRL is not set
|
# CONFIG_QCOM_WCNSS_CTRL is not set
|
||||||
# CONFIG_QCOM_WCNSS_PIL is not set
|
# CONFIG_QCOM_WCNSS_PIL is not set
|
||||||
CONFIG_QCOM_WDT=y
|
CONFIG_QCOM_WDT=y
|
||||||
@ -425,15 +410,9 @@ CONFIG_RAS=y
|
|||||||
CONFIG_RATIONAL=y
|
CONFIG_RATIONAL=y
|
||||||
CONFIG_REGMAP=y
|
CONFIG_REGMAP=y
|
||||||
CONFIG_REGMAP_MMIO=y
|
CONFIG_REGMAP_MMIO=y
|
||||||
CONFIG_REGMAP_SPMI=y
|
|
||||||
CONFIG_REGULATOR=y
|
CONFIG_REGULATOR=y
|
||||||
CONFIG_REGULATOR_CPR3=y
|
# CONFIG_REGULATOR_CPR3 is not set
|
||||||
# CONFIG_REGULATOR_CPR3_NPU is not set
|
|
||||||
CONFIG_REGULATOR_CPR4_APSS=y
|
|
||||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
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_REGULATOR_VQMMC_IPQ4019 is not set
|
||||||
CONFIG_RELOCATABLE=y
|
CONFIG_RELOCATABLE=y
|
||||||
CONFIG_REMOTEPROC=y
|
CONFIG_REMOTEPROC=y
|
||||||
@ -454,7 +433,6 @@ CONFIG_RPMSG_QCOM_SMD=y
|
|||||||
# CONFIG_RPMSG_TTY is not set
|
# CONFIG_RPMSG_TTY is not set
|
||||||
CONFIG_RPS=y
|
CONFIG_RPS=y
|
||||||
CONFIG_RTC_CLASS=y
|
CONFIG_RTC_CLASS=y
|
||||||
CONFIG_RTC_DRV_PM8XXX=y
|
|
||||||
CONFIG_RTC_I2C_AND_SPI=y
|
CONFIG_RTC_I2C_AND_SPI=y
|
||||||
CONFIG_RWSEM_SPIN_ON_OWNER=y
|
CONFIG_RWSEM_SPIN_ON_OWNER=y
|
||||||
# CONFIG_SCHED_CORE is not set
|
# CONFIG_SCHED_CORE is not set
|
||||||
@ -512,10 +490,6 @@ CONFIG_SPI=y
|
|||||||
CONFIG_SPI_MASTER=y
|
CONFIG_SPI_MASTER=y
|
||||||
CONFIG_SPI_MEM=y
|
CONFIG_SPI_MEM=y
|
||||||
CONFIG_SPI_QUP=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_SRCU=y
|
||||||
CONFIG_SWIOTLB=y
|
CONFIG_SWIOTLB=y
|
||||||
CONFIG_SWPHY=y
|
CONFIG_SWPHY=y
|
||||||
|
|||||||
30
target/linux/qualcommax/ipq807x/config-default
Normal file
30
target/linux/qualcommax/ipq807x/config-default
Normal file
@ -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
|
||||||
0
target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts
Executable file → Normal file
0
target/linux/ramips/dts/mt7620a_dlink_dir-806a-b1.dts
Executable file → Normal file
0
target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts
Executable file → Normal file
0
target/linux/ramips/dts/mt7621_wavlink_wl-wn573hx1.dts
Executable file → Normal file
@ -10,15 +10,20 @@
|
|||||||
#define _ASM_GENERIC_INT_LL64_H
|
#define _ASM_GENERIC_INT_LL64_H
|
||||||
|
|
||||||
typedef __signed__ char __s8;
|
typedef __signed__ char __s8;
|
||||||
|
typedef unsigned char __u8;
|
||||||
|
|
||||||
typedef __signed__ short __s16;
|
typedef __signed__ short __s16;
|
||||||
|
typedef unsigned short __u16;
|
||||||
|
|
||||||
typedef __signed__ int __s32;
|
typedef __signed__ int __s32;
|
||||||
|
typedef unsigned int __u32;
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
__extension__ typedef __signed__ long long __s64;
|
__extension__ typedef __signed__ long long __s64;
|
||||||
|
__extension__ typedef unsigned long long __u64;
|
||||||
#else
|
#else
|
||||||
typedef __signed__ long long __s64;
|
typedef __signed__ long long __s64;
|
||||||
|
typedef unsigned long long __u64;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _ASM_GENERIC_INT_LL64_H */
|
#endif /* _ASM_GENERIC_INT_LL64_H */
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user