kernel: bump 5.15 to 5.15.163
Manually adapted: lantiq/patches-5.15/0028-NET-lantiq-various-etop-fixes.patch Link: https://github.com/openwrt/openwrt/pull/15982 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.15 = .162
|
||||
LINUX_KERNEL_HASH-5.15.162 = 91bfc0ea152ce7b102a0b79d35a7c92843874ebf085c99d2ba8b4d85e62b1a7c
|
||||
LINUX_VERSION-5.15 = .163
|
||||
LINUX_KERNEL_HASH-5.15.163 = 025fc7d8b1560cf456ccae50591fe1ca21c990645df9791aed25820fe78db302
|
||||
|
||||
@@ -751,7 +751,7 @@ SVN-Revision: 35130
|
||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -4192,14 +4192,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
@@ -4201,14 +4201,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
{
|
||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
--- a/drivers/gpio/gpiolib-of.c
|
||||
+++ b/drivers/gpio/gpiolib-of.c
|
||||
@@ -646,23 +646,30 @@ static struct gpio_desc *of_parse_own_gp
|
||||
@@ -698,23 +698,30 @@ static struct gpio_desc *of_parse_own_gp
|
||||
* of_gpiochip_add_hog - Add all hogs in a hog device node
|
||||
* @chip: gpio chip to act on
|
||||
* @hog: device node describing the hogs
|
||||
@@ -62,7 +62,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
ret = gpiod_hog(desc, name, lflags, dflags);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
@@ -678,12 +685,15 @@ static int of_gpiochip_add_hog(struct gp
|
||||
@@ -730,12 +737,15 @@ static int of_gpiochip_add_hog(struct gp
|
||||
/**
|
||||
* of_gpiochip_scan_gpios - Scan gpio-controller for gpio definitions
|
||||
* @chip: gpio chip to act on
|
||||
@@ -81,7 +81,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
{
|
||||
struct device_node *np;
|
||||
int ret;
|
||||
@@ -692,7 +702,7 @@ static int of_gpiochip_scan_gpios(struct
|
||||
@@ -744,7 +754,7 @@ static int of_gpiochip_scan_gpios(struct
|
||||
if (!of_property_read_bool(np, "gpio-hog"))
|
||||
continue;
|
||||
|
||||
@@ -90,7 +90,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
if (ret < 0) {
|
||||
of_node_put(np);
|
||||
return ret;
|
||||
@@ -758,7 +768,7 @@ static int of_gpio_notify(struct notifie
|
||||
@@ -810,7 +820,7 @@ static int of_gpio_notify(struct notifie
|
||||
if (chip == NULL)
|
||||
return NOTIFY_OK; /* not for us */
|
||||
|
||||
@@ -99,7 +99,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
if (ret < 0) {
|
||||
pr_err("%s: failed to add hogs for %pOF\n", __func__,
|
||||
rd->dn);
|
||||
@@ -1037,9 +1047,11 @@ int of_gpiochip_add(struct gpio_chip *ch
|
||||
@@ -1089,9 +1099,11 @@ int of_gpiochip_add(struct gpio_chip *ch
|
||||
|
||||
of_node_get(chip->of_node);
|
||||
|
||||
|
||||
@@ -372,7 +372,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
#ifdef __KERNEL__
|
||||
--- a/kernel/exit.c
|
||||
+++ b/kernel/exit.c
|
||||
@@ -469,6 +469,7 @@ assign_new_owner:
|
||||
@@ -471,6 +471,7 @@ assign_new_owner:
|
||||
goto retry;
|
||||
}
|
||||
WRITE_ONCE(mm->owner, c);
|
||||
|
||||
@@ -97,7 +97,7 @@ Link: https://lore.kernel.org/linux-mtd/20220629125737.14418-4-kernel@kempniu.pl
|
||||
return ret;
|
||||
--- a/drivers/mtd/nand/raw/nand_base.c
|
||||
+++ b/drivers/mtd/nand/raw/nand_base.c
|
||||
@@ -3815,6 +3815,7 @@ static int nand_read_oob(struct mtd_info
|
||||
@@ -3822,6 +3822,7 @@ static int nand_read_oob(struct mtd_info
|
||||
struct mtd_oob_ops *ops)
|
||||
{
|
||||
struct nand_chip *chip = mtd_to_nand(mtd);
|
||||
@@ -105,7 +105,7 @@ Link: https://lore.kernel.org/linux-mtd/20220629125737.14418-4-kernel@kempniu.pl
|
||||
int ret;
|
||||
|
||||
ops->retlen = 0;
|
||||
@@ -3826,11 +3827,20 @@ static int nand_read_oob(struct mtd_info
|
||||
@@ -3833,11 +3834,20 @@ static int nand_read_oob(struct mtd_info
|
||||
|
||||
nand_get_device(chip);
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
static DEFINE_MUTEX(nvmem_mutex);
|
||||
static DEFINE_IDA(nvmem_ida);
|
||||
|
||||
@@ -424,7 +428,7 @@ static struct bus_type nvmem_bus_type =
|
||||
@@ -423,7 +427,7 @@ static struct bus_type nvmem_bus_type =
|
||||
.name = "nvmem",
|
||||
};
|
||||
|
||||
@@ -65,7 +65,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
{
|
||||
blocking_notifier_call_chain(&nvmem_notifier, NVMEM_CELL_REMOVE, cell);
|
||||
mutex_lock(&nvmem_mutex);
|
||||
@@ -437,13 +441,13 @@ static void nvmem_cell_drop(struct nvmem
|
||||
@@ -436,13 +440,13 @@ static void nvmem_cell_drop(struct nvmem
|
||||
|
||||
static void nvmem_device_remove_all_cells(const struct nvmem_device *nvmem)
|
||||
{
|
||||
@@ -82,7 +82,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
{
|
||||
mutex_lock(&nvmem_mutex);
|
||||
list_add_tail(&cell->node, &cell->nvmem->cells);
|
||||
@@ -451,9 +455,9 @@ static void nvmem_cell_add(struct nvmem_
|
||||
@@ -450,9 +454,9 @@ static void nvmem_cell_add(struct nvmem_
|
||||
blocking_notifier_call_chain(&nvmem_notifier, NVMEM_CELL_ADD, cell);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
{
|
||||
cell->nvmem = nvmem;
|
||||
cell->offset = info->offset;
|
||||
@@ -477,13 +481,13 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
@@ -476,13 +480,13 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
@@ -507,7 +511,7 @@ static int nvmem_add_cells(struct nvmem_
|
||||
@@ -506,7 +510,7 @@ static int nvmem_add_cells(struct nvmem_
|
||||
const struct nvmem_cell_info *info,
|
||||
int ncells)
|
||||
{
|
||||
@@ -122,7 +122,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
int i, rval;
|
||||
|
||||
cells = kcalloc(ncells, sizeof(*cells), GFP_KERNEL);
|
||||
@@ -521,13 +525,13 @@ static int nvmem_add_cells(struct nvmem_
|
||||
@@ -520,13 +524,13 @@ static int nvmem_add_cells(struct nvmem_
|
||||
goto err;
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
}
|
||||
|
||||
/* remove tmp array */
|
||||
@@ -536,7 +540,7 @@ static int nvmem_add_cells(struct nvmem_
|
||||
@@ -535,7 +539,7 @@ static int nvmem_add_cells(struct nvmem_
|
||||
return 0;
|
||||
err:
|
||||
while (i--)
|
||||
@@ -147,7 +147,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
kfree(cells);
|
||||
|
||||
@@ -573,7 +577,7 @@ static int nvmem_add_cells_from_table(st
|
||||
@@ -572,7 +576,7 @@ static int nvmem_add_cells_from_table(st
|
||||
{
|
||||
const struct nvmem_cell_info *info;
|
||||
struct nvmem_cell_table *table;
|
||||
@@ -156,7 +156,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
int rval = 0, i;
|
||||
|
||||
mutex_lock(&nvmem_cell_mutex);
|
||||
@@ -588,15 +592,13 @@ static int nvmem_add_cells_from_table(st
|
||||
@@ -587,15 +591,13 @@ static int nvmem_add_cells_from_table(st
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -606,10 +608,10 @@ out:
|
||||
@@ -605,10 +607,10 @@ out:
|
||||
return rval;
|
||||
}
|
||||
|
||||
@@ -188,7 +188,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
mutex_lock(&nvmem_mutex);
|
||||
list_for_each_entry(iter, &nvmem->cells, node) {
|
||||
@@ -680,7 +682,7 @@ static int nvmem_add_cells_from_of(struc
|
||||
@@ -679,7 +681,7 @@ static int nvmem_add_cells_from_of(struc
|
||||
{
|
||||
struct device_node *parent, *child;
|
||||
struct device *dev = &nvmem->dev;
|
||||
@@ -197,7 +197,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
const __be32 *addr;
|
||||
int len;
|
||||
|
||||
@@ -729,7 +731,7 @@ static int nvmem_add_cells_from_of(struc
|
||||
@@ -728,7 +730,7 @@ static int nvmem_add_cells_from_of(struc
|
||||
}
|
||||
|
||||
cell->np = of_node_get(child);
|
||||
@@ -206,7 +206,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -1142,9 +1144,33 @@ struct nvmem_device *devm_nvmem_device_g
|
||||
@@ -1141,9 +1143,33 @@ struct nvmem_device *devm_nvmem_device_g
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(devm_nvmem_device_get);
|
||||
|
||||
@@ -240,7 +240,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
struct nvmem_cell *cell = ERR_PTR(-ENOENT);
|
||||
struct nvmem_cell_lookup *lookup;
|
||||
struct nvmem_device *nvmem;
|
||||
@@ -1169,11 +1195,15 @@ nvmem_cell_get_from_lookup(struct device
|
||||
@@ -1168,11 +1194,15 @@ nvmem_cell_get_from_lookup(struct device
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -259,7 +259,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1184,10 +1214,10 @@ nvmem_cell_get_from_lookup(struct device
|
||||
@@ -1183,10 +1213,10 @@ nvmem_cell_get_from_lookup(struct device
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_OF)
|
||||
@@ -273,7 +273,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
mutex_lock(&nvmem_mutex);
|
||||
list_for_each_entry(iter, &nvmem->cells, node) {
|
||||
@@ -1217,6 +1247,7 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
@@ -1216,6 +1246,7 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
{
|
||||
struct device_node *cell_np, *nvmem_np;
|
||||
struct nvmem_device *nvmem;
|
||||
@@ -281,7 +281,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
struct nvmem_cell *cell;
|
||||
int index = 0;
|
||||
|
||||
@@ -1237,12 +1268,16 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
@@ -1236,12 +1267,16 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
if (IS_ERR(nvmem))
|
||||
return ERR_CAST(nvmem);
|
||||
|
||||
@@ -300,7 +300,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
return cell;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_nvmem_cell_get);
|
||||
@@ -1348,13 +1383,17 @@ EXPORT_SYMBOL(devm_nvmem_cell_put);
|
||||
@@ -1347,13 +1382,17 @@ EXPORT_SYMBOL(devm_nvmem_cell_put);
|
||||
*/
|
||||
void nvmem_cell_put(struct nvmem_cell *cell)
|
||||
{
|
||||
@@ -320,7 +320,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
{
|
||||
u8 *p, *b;
|
||||
int i, extra, bit_offset = cell->bit_offset;
|
||||
@@ -1388,8 +1427,8 @@ static void nvmem_shift_read_buffer_in_p
|
||||
@@ -1387,8 +1426,8 @@ static void nvmem_shift_read_buffer_in_p
|
||||
}
|
||||
|
||||
static int __nvmem_cell_read(struct nvmem_device *nvmem,
|
||||
@@ -331,7 +331,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
{
|
||||
int rc;
|
||||
|
||||
@@ -1420,18 +1459,18 @@ static int __nvmem_cell_read(struct nvme
|
||||
@@ -1419,18 +1458,18 @@ static int __nvmem_cell_read(struct nvme
|
||||
*/
|
||||
void *nvmem_cell_read(struct nvmem_cell *cell, size_t *len)
|
||||
{
|
||||
@@ -353,7 +353,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (rc) {
|
||||
kfree(buf);
|
||||
return ERR_PTR(rc);
|
||||
@@ -1441,7 +1480,7 @@ void *nvmem_cell_read(struct nvmem_cell
|
||||
@@ -1440,7 +1479,7 @@ void *nvmem_cell_read(struct nvmem_cell
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nvmem_cell_read);
|
||||
|
||||
@@ -362,7 +362,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
u8 *_buf, int len)
|
||||
{
|
||||
struct nvmem_device *nvmem = cell->nvmem;
|
||||
@@ -1494,16 +1533,7 @@ err:
|
||||
@@ -1493,16 +1532,7 @@ err:
|
||||
return ERR_PTR(rc);
|
||||
}
|
||||
|
||||
@@ -380,7 +380,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
{
|
||||
struct nvmem_device *nvmem = cell->nvmem;
|
||||
int rc;
|
||||
@@ -1529,6 +1559,21 @@ int nvmem_cell_write(struct nvmem_cell *
|
||||
@@ -1528,6 +1558,21 @@ int nvmem_cell_write(struct nvmem_cell *
|
||||
|
||||
return len;
|
||||
}
|
||||
@@ -402,7 +402,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
EXPORT_SYMBOL_GPL(nvmem_cell_write);
|
||||
|
||||
static int nvmem_cell_read_common(struct device *dev, const char *cell_id,
|
||||
@@ -1631,7 +1676,7 @@ static const void *nvmem_cell_read_varia
|
||||
@@ -1630,7 +1675,7 @@ static const void *nvmem_cell_read_varia
|
||||
if (IS_ERR(cell))
|
||||
return cell;
|
||||
|
||||
@@ -411,7 +411,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
buf = nvmem_cell_read(cell, len);
|
||||
nvmem_cell_put(cell);
|
||||
if (IS_ERR(buf))
|
||||
@@ -1727,18 +1772,18 @@ EXPORT_SYMBOL_GPL(nvmem_cell_read_variab
|
||||
@@ -1726,18 +1771,18 @@ EXPORT_SYMBOL_GPL(nvmem_cell_read_variab
|
||||
ssize_t nvmem_device_cell_read(struct nvmem_device *nvmem,
|
||||
struct nvmem_cell_info *info, void *buf)
|
||||
{
|
||||
@@ -433,7 +433,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
@@ -1758,17 +1803,17 @@ EXPORT_SYMBOL_GPL(nvmem_device_cell_read
|
||||
@@ -1757,17 +1802,17 @@ EXPORT_SYMBOL_GPL(nvmem_device_cell_read
|
||||
int nvmem_device_cell_write(struct nvmem_device *nvmem,
|
||||
struct nvmem_cell_info *info, void *buf)
|
||||
{
|
||||
|
||||
@@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
struct gpio_desc *wp_gpio;
|
||||
void *priv;
|
||||
};
|
||||
@@ -799,6 +800,7 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -798,6 +799,7 @@ struct nvmem_device *nvmem_register(cons
|
||||
nvmem->type = config->type;
|
||||
nvmem->reg_read = config->reg_read;
|
||||
nvmem->reg_write = config->reg_write;
|
||||
@@ -38,7 +38,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
nvmem->keepout = config->keepout;
|
||||
nvmem->nkeepout = config->nkeepout;
|
||||
if (config->of_node)
|
||||
@@ -1441,6 +1443,13 @@ static int __nvmem_cell_read(struct nvme
|
||||
@@ -1440,6 +1442,13 @@ static int __nvmem_cell_read(struct nvme
|
||||
if (cell->bit_offset || cell->nbits)
|
||||
nvmem_shift_read_buffer_in_place(cell, buf);
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -943,28 +943,6 @@ struct nvmem_device *devm_nvmem_register
|
||||
@@ -942,28 +942,6 @@ struct nvmem_device *devm_nvmem_register
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(devm_nvmem_register);
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -905,9 +905,9 @@ void nvmem_unregister(struct nvmem_devic
|
||||
@@ -904,9 +904,9 @@ void nvmem_unregister(struct nvmem_devic
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nvmem_unregister);
|
||||
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -924,20 +924,16 @@ static void devm_nvmem_release(struct de
|
||||
@@ -923,20 +923,16 @@ static void devm_nvmem_release(struct de
|
||||
struct nvmem_device *devm_nvmem_register(struct device *dev,
|
||||
const struct nvmem_config *config)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -901,7 +901,8 @@ static void nvmem_device_release(struct
|
||||
@@ -900,7 +900,8 @@ static void nvmem_device_release(struct
|
||||
*/
|
||||
void nvmem_unregister(struct nvmem_device *nvmem)
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -467,6 +467,7 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
@@ -466,6 +466,7 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
|
||||
cell->bit_offset = info->bit_offset;
|
||||
cell->nbits = info->nbits;
|
||||
|
||||
@@ -21,7 +21,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -1237,16 +1237,21 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
@@ -1236,16 +1236,21 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
if (!cell_np)
|
||||
return ERR_PTR(-ENOENT);
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -764,7 +764,7 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -763,7 +763,7 @@ struct nvmem_device *nvmem_register(cons
|
||||
if (!nvmem)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
};
|
||||
|
||||
static DEFINE_MUTEX(nvmem_mutex);
|
||||
@@ -1122,7 +1123,8 @@ struct nvmem_device *devm_nvmem_device_g
|
||||
@@ -1121,7 +1122,8 @@ struct nvmem_device *devm_nvmem_device_g
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(devm_nvmem_device_get);
|
||||
|
||||
@@ -57,7 +57,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
{
|
||||
struct nvmem_cell *cell;
|
||||
const char *name = NULL;
|
||||
@@ -1141,6 +1143,7 @@ static struct nvmem_cell *nvmem_create_c
|
||||
@@ -1140,6 +1142,7 @@ static struct nvmem_cell *nvmem_create_c
|
||||
|
||||
cell->id = name;
|
||||
cell->entry = entry;
|
||||
@@ -65,7 +65,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
return cell;
|
||||
}
|
||||
@@ -1179,7 +1182,7 @@ nvmem_cell_get_from_lookup(struct device
|
||||
@@ -1178,7 +1181,7 @@ nvmem_cell_get_from_lookup(struct device
|
||||
__nvmem_device_put(nvmem);
|
||||
cell = ERR_PTR(-ENOENT);
|
||||
} else {
|
||||
@@ -74,7 +74,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (IS_ERR(cell))
|
||||
__nvmem_device_put(nvmem);
|
||||
}
|
||||
@@ -1227,15 +1230,27 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
@@ -1226,15 +1229,27 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
struct nvmem_device *nvmem;
|
||||
struct nvmem_cell_entry *cell_entry;
|
||||
struct nvmem_cell *cell;
|
||||
@@ -105,7 +105,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
nvmem_np = of_get_parent(cell_np);
|
||||
if (!nvmem_np) {
|
||||
@@ -1257,7 +1272,7 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
@@ -1256,7 +1271,7 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
return ERR_PTR(-ENOENT);
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (IS_ERR(cell))
|
||||
__nvmem_device_put(nvmem);
|
||||
|
||||
@@ -1410,8 +1425,8 @@ static void nvmem_shift_read_buffer_in_p
|
||||
@@ -1409,8 +1424,8 @@ static void nvmem_shift_read_buffer_in_p
|
||||
}
|
||||
|
||||
static int __nvmem_cell_read(struct nvmem_device *nvmem,
|
||||
@@ -125,7 +125,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
{
|
||||
int rc;
|
||||
|
||||
@@ -1425,7 +1440,7 @@ static int __nvmem_cell_read(struct nvme
|
||||
@@ -1424,7 +1439,7 @@ static int __nvmem_cell_read(struct nvme
|
||||
nvmem_shift_read_buffer_in_place(cell, buf);
|
||||
|
||||
if (nvmem->cell_post_process) {
|
||||
@@ -134,7 +134,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
cell->offset, buf, cell->bytes);
|
||||
if (rc)
|
||||
return rc;
|
||||
@@ -1460,7 +1475,7 @@ void *nvmem_cell_read(struct nvmem_cell
|
||||
@@ -1459,7 +1474,7 @@ void *nvmem_cell_read(struct nvmem_cell
|
||||
if (!buf)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
@@ -143,7 +143,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (rc) {
|
||||
kfree(buf);
|
||||
return ERR_PTR(rc);
|
||||
@@ -1773,7 +1788,7 @@ ssize_t nvmem_device_cell_read(struct nv
|
||||
@@ -1772,7 +1787,7 @@ ssize_t nvmem_device_cell_read(struct nv
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -515,7 +515,7 @@ static int nvmem_add_cells(struct nvmem_
|
||||
@@ -514,7 +514,7 @@ static int nvmem_add_cells(struct nvmem_
|
||||
int ncells)
|
||||
{
|
||||
struct nvmem_cell_entry **cells;
|
||||
@@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
cells = kcalloc(ncells, sizeof(*cells), GFP_KERNEL);
|
||||
if (!cells)
|
||||
@@ -525,28 +525,22 @@ static int nvmem_add_cells(struct nvmem_
|
||||
@@ -524,28 +524,22 @@ static int nvmem_add_cells(struct nvmem_
|
||||
cells[i] = kzalloc(sizeof(**cells), GFP_KERNEL);
|
||||
if (!cells[i]) {
|
||||
rval = -ENOMEM;
|
||||
|
||||
@@ -19,7 +19,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -502,6 +502,36 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
@@ -501,6 +501,36 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -56,7 +56,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
* nvmem_add_cells() - Add cell information to an nvmem device
|
||||
*
|
||||
* @nvmem: nvmem device to add cells to.
|
||||
@@ -514,34 +544,15 @@ static int nvmem_add_cells(struct nvmem_
|
||||
@@ -513,34 +543,15 @@ static int nvmem_add_cells(struct nvmem_
|
||||
const struct nvmem_cell_info *info,
|
||||
int ncells)
|
||||
{
|
||||
|
||||
@@ -19,7 +19,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -688,15 +688,14 @@ static int nvmem_validate_keepouts(struc
|
||||
@@ -687,15 +687,14 @@ static int nvmem_validate_keepouts(struc
|
||||
|
||||
static int nvmem_add_cells_from_of(struct nvmem_device *nvmem)
|
||||
{
|
||||
@@ -39,7 +39,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
addr = of_get_property(child, "reg", &len);
|
||||
if (!addr)
|
||||
continue;
|
||||
@@ -706,40 +705,24 @@ static int nvmem_add_cells_from_of(struc
|
||||
@@ -705,40 +704,24 @@ static int nvmem_add_cells_from_of(struc
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
static int __nvmem_reg_read(struct nvmem_device *nvmem, unsigned int offset,
|
||||
void *val, size_t bytes)
|
||||
{
|
||||
@@ -728,6 +732,101 @@ static int nvmem_add_cells_from_of(struc
|
||||
@@ -727,6 +731,101 @@ static int nvmem_add_cells_from_of(struc
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -205,7 +205,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
/**
|
||||
* nvmem_register() - Register a nvmem device for given nvmem_config.
|
||||
* Also creates a binary entry in /sys/bus/nvmem/devices/dev-name/nvmem
|
||||
@@ -834,6 +933,12 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -833,6 +932,12 @@ struct nvmem_device *nvmem_register(cons
|
||||
goto err_put_device;
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (config->cells) {
|
||||
rval = nvmem_add_cells(nvmem, config->cells, config->ncells);
|
||||
if (rval)
|
||||
@@ -854,12 +959,17 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -853,12 +958,17 @@ struct nvmem_device *nvmem_register(cons
|
||||
if (rval)
|
||||
goto err_remove_cells;
|
||||
|
||||
@@ -236,7 +236,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (config->compat)
|
||||
nvmem_sysfs_remove_compat(nvmem, config);
|
||||
err_put_device:
|
||||
@@ -881,6 +991,7 @@ static void nvmem_device_release(struct
|
||||
@@ -880,6 +990,7 @@ static void nvmem_device_release(struct
|
||||
device_remove_bin_file(nvmem->base_dev, &nvmem->eeprom);
|
||||
|
||||
nvmem_device_remove_all_cells(nvmem);
|
||||
@@ -244,7 +244,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
device_unregister(&nvmem->dev);
|
||||
}
|
||||
|
||||
@@ -1246,6 +1357,15 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
@@ -1245,6 +1356,15 @@ struct nvmem_cell *of_nvmem_cell_get(str
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -755,7 +755,7 @@ EXPORT_SYMBOL_GPL(nvmem_layout_unregiste
|
||||
@@ -754,7 +754,7 @@ EXPORT_SYMBOL_GPL(nvmem_layout_unregiste
|
||||
static struct nvmem_layout *nvmem_layout_get(struct nvmem_device *nvmem)
|
||||
{
|
||||
struct device_node *layout_np, *np = nvmem->dev.of_node;
|
||||
@@ -37,7 +37,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
layout_np = of_get_child_by_name(np, "nvmem-layout");
|
||||
if (!layout_np)
|
||||
@@ -938,6 +938,13 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -937,6 +937,13 @@ struct nvmem_device *nvmem_register(cons
|
||||
* pointer will be NULL and nvmem_layout_put() will be a noop.
|
||||
*/
|
||||
nvmem->layout = config->layout ?: nvmem_layout_get(nvmem);
|
||||
@@ -51,7 +51,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
if (config->cells) {
|
||||
rval = nvmem_add_cells(nvmem, config->cells, config->ncells);
|
||||
@@ -970,6 +977,7 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -969,6 +976,7 @@ struct nvmem_device *nvmem_register(cons
|
||||
err_remove_cells:
|
||||
nvmem_device_remove_all_cells(nvmem);
|
||||
nvmem_layout_put(nvmem->layout);
|
||||
|
||||
@@ -36,7 +36,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
#include <linux/slab.h>
|
||||
|
||||
struct nvmem_device {
|
||||
@@ -761,6 +762,13 @@ static struct nvmem_layout *nvmem_layout
|
||||
@@ -760,6 +761,13 @@ static struct nvmem_layout *nvmem_layout
|
||||
if (!layout_np)
|
||||
return NULL;
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
struct device_node *np;
|
||||
struct nvmem_device *nvmem;
|
||||
struct list_head node;
|
||||
@@ -470,6 +471,7 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
@@ -469,6 +470,7 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
cell->offset = info->offset;
|
||||
cell->bytes = info->bytes;
|
||||
cell->name = info->name;
|
||||
@@ -36,7 +36,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
cell->bit_offset = info->bit_offset;
|
||||
cell->nbits = info->nbits;
|
||||
@@ -1563,6 +1565,13 @@ static int __nvmem_cell_read(struct nvme
|
||||
@@ -1562,6 +1564,13 @@ static int __nvmem_cell_read(struct nvme
|
||||
if (cell->bit_offset || cell->nbits)
|
||||
nvmem_shift_read_buffer_in_place(cell, buf);
|
||||
|
||||
@@ -50,7 +50,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (nvmem->cell_post_process) {
|
||||
rc = nvmem->cell_post_process(nvmem->priv, id, index,
|
||||
cell->offset, buf, cell->bytes);
|
||||
@@ -1671,6 +1680,14 @@ static int __nvmem_cell_entry_write(stru
|
||||
@@ -1670,6 +1679,14 @@ static int __nvmem_cell_entry_write(stru
|
||||
(cell->bit_offset == 0 && len != cell->bytes))
|
||||
return -EINVAL;
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -695,6 +695,7 @@ static int nvmem_validate_keepouts(struc
|
||||
@@ -694,6 +694,7 @@ static int nvmem_validate_keepouts(struc
|
||||
|
||||
static int nvmem_add_cells_from_of(struct nvmem_device *nvmem)
|
||||
{
|
||||
@@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
struct device *dev = &nvmem->dev;
|
||||
struct device_node *child;
|
||||
const __be32 *addr;
|
||||
@@ -724,6 +725,9 @@ static int nvmem_add_cells_from_of(struc
|
||||
@@ -723,6 +724,9 @@ static int nvmem_add_cells_from_of(struc
|
||||
|
||||
info.np = of_node_get(child);
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
struct gpio_desc *wp_gpio;
|
||||
struct nvmem_layout *layout;
|
||||
void *priv;
|
||||
@@ -903,7 +902,6 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -902,7 +901,6 @@ struct nvmem_device *nvmem_register(cons
|
||||
nvmem->type = config->type;
|
||||
nvmem->reg_read = config->reg_read;
|
||||
nvmem->reg_write = config->reg_write;
|
||||
@@ -34,7 +34,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
nvmem->keepout = config->keepout;
|
||||
nvmem->nkeepout = config->nkeepout;
|
||||
if (config->of_node)
|
||||
@@ -1575,13 +1573,6 @@ static int __nvmem_cell_read(struct nvme
|
||||
@@ -1574,13 +1572,6 @@ static int __nvmem_cell_read(struct nvme
|
||||
if (rc)
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
struct device_node *np;
|
||||
struct nvmem_device *nvmem;
|
||||
struct list_head node;
|
||||
@@ -471,6 +472,7 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
@@ -470,6 +471,7 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
cell->bytes = info->bytes;
|
||||
cell->name = info->name;
|
||||
cell->read_post_process = info->read_post_process;
|
||||
@@ -37,7 +37,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
cell->bit_offset = info->bit_offset;
|
||||
cell->nbits = info->nbits;
|
||||
@@ -1568,7 +1570,7 @@ static int __nvmem_cell_read(struct nvme
|
||||
@@ -1567,7 +1569,7 @@ static int __nvmem_cell_read(struct nvme
|
||||
nvmem_shift_read_buffer_in_place(cell, buf);
|
||||
|
||||
if (cell->read_post_process) {
|
||||
|
||||
@@ -51,7 +51,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
int bytes;
|
||||
int bit_offset;
|
||||
int nbits;
|
||||
@@ -469,6 +470,7 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
@@ -468,6 +469,7 @@ static int nvmem_cell_info_to_nvmem_cell
|
||||
{
|
||||
cell->nvmem = nvmem;
|
||||
cell->offset = info->offset;
|
||||
@@ -59,7 +59,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
cell->bytes = info->bytes;
|
||||
cell->name = info->name;
|
||||
cell->read_post_process = info->read_post_process;
|
||||
@@ -1560,7 +1562,7 @@ static int __nvmem_cell_read(struct nvme
|
||||
@@ -1559,7 +1561,7 @@ static int __nvmem_cell_read(struct nvme
|
||||
{
|
||||
int rc;
|
||||
|
||||
@@ -68,7 +68,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
if (rc)
|
||||
return rc;
|
||||
@@ -1571,7 +1573,7 @@ static int __nvmem_cell_read(struct nvme
|
||||
@@ -1570,7 +1572,7 @@ static int __nvmem_cell_read(struct nvme
|
||||
|
||||
if (cell->read_post_process) {
|
||||
rc = cell->read_post_process(cell->priv, id, index,
|
||||
@@ -77,7 +77,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (rc)
|
||||
return rc;
|
||||
}
|
||||
@@ -1594,14 +1596,15 @@ static int __nvmem_cell_read(struct nvme
|
||||
@@ -1593,14 +1595,15 @@ static int __nvmem_cell_read(struct nvme
|
||||
*/
|
||||
void *nvmem_cell_read(struct nvmem_cell *cell, size_t *len)
|
||||
{
|
||||
|
||||
@@ -27,7 +27,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -696,7 +696,7 @@ static int nvmem_validate_keepouts(struc
|
||||
@@ -695,7 +695,7 @@ static int nvmem_validate_keepouts(struc
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
{
|
||||
struct nvmem_layout *layout = nvmem->layout;
|
||||
struct device *dev = &nvmem->dev;
|
||||
@@ -704,7 +704,7 @@ static int nvmem_add_cells_from_of(struc
|
||||
@@ -703,7 +703,7 @@ static int nvmem_add_cells_from_of(struc
|
||||
const __be32 *addr;
|
||||
int len, ret;
|
||||
|
||||
@@ -45,7 +45,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
struct nvmem_cell_info info = {0};
|
||||
|
||||
addr = of_get_property(child, "reg", &len);
|
||||
@@ -742,6 +742,28 @@ static int nvmem_add_cells_from_of(struc
|
||||
@@ -741,6 +741,28 @@ static int nvmem_add_cells_from_of(struc
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
int __nvmem_layout_register(struct nvmem_layout *layout, struct module *owner)
|
||||
{
|
||||
layout->owner = owner;
|
||||
@@ -972,7 +994,7 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -971,7 +993,7 @@ struct nvmem_device *nvmem_register(cons
|
||||
if (rval)
|
||||
goto err_remove_cells;
|
||||
|
||||
@@ -83,7 +83,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (rval)
|
||||
goto err_remove_cells;
|
||||
|
||||
@@ -982,6 +1004,10 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -981,6 +1003,10 @@ struct nvmem_device *nvmem_register(cons
|
||||
if (rval)
|
||||
goto err_remove_cells;
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -998,17 +998,17 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -997,17 +997,17 @@ struct nvmem_device *nvmem_register(cons
|
||||
if (rval)
|
||||
goto err_remove_cells;
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -786,10 +786,10 @@ EXPORT_SYMBOL_GPL(nvmem_layout_unregiste
|
||||
@@ -785,10 +785,10 @@ EXPORT_SYMBOL_GPL(nvmem_layout_unregiste
|
||||
|
||||
static struct nvmem_layout *nvmem_layout_get(struct nvmem_device *nvmem)
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -772,12 +772,16 @@ int __nvmem_layout_register(struct nvmem
|
||||
@@ -771,12 +771,16 @@ int __nvmem_layout_register(struct nvmem
|
||||
list_add(&layout->node, &nvmem_layouts);
|
||||
spin_unlock(&nvmem_layout_lock);
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
.stride = sizeof(u32),
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -998,9 +998,11 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -997,9 +997,11 @@ struct nvmem_device *nvmem_register(cons
|
||||
if (rval)
|
||||
goto err_remove_cells;
|
||||
|
||||
@@ -132,7 +132,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
imx_ocotp_nvmem_config.priv = priv;
|
||||
--- a/drivers/nvmem/meson-efuse.c
|
||||
+++ b/drivers/nvmem/meson-efuse.c
|
||||
@@ -74,6 +74,7 @@ static int meson_efuse_probe(struct plat
|
||||
@@ -80,6 +80,7 @@ static int meson_efuse_probe(struct plat
|
||||
|
||||
econfig->dev = dev;
|
||||
econfig->name = dev_name(dev);
|
||||
|
||||
@@ -48,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
mtd->nvmem = nvmem_register(&config);
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -936,7 +936,7 @@ struct nvmem_device *nvmem_register(cons
|
||||
@@ -935,7 +935,7 @@ struct nvmem_device *nvmem_register(cons
|
||||
nvmem->nkeepout = config->nkeepout;
|
||||
if (config->of_node)
|
||||
nvmem->dev.of_node = config->of_node;
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
#include "gpiolib.h"
|
||||
#include "gpiolib-of.h"
|
||||
@@ -1059,3 +1061,72 @@ void of_gpio_dev_init(struct gpio_chip *
|
||||
@@ -1111,3 +1113,72 @@ void of_gpio_dev_init(struct gpio_chip *
|
||||
else
|
||||
gc->of_node = gdev->dev.of_node;
|
||||
}
|
||||
|
||||
@@ -244,7 +244,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
|
||||
+}
|
||||
--- a/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_summary) != 32);
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
|
||||
--- a/drivers/nvmem/core.c
|
||||
+++ b/drivers/nvmem/core.c
|
||||
@@ -798,6 +798,19 @@ static struct nvmem_layout *nvmem_layout
|
||||
@@ -797,6 +797,19 @@ static struct nvmem_layout *nvmem_layout
|
||||
return NULL;
|
||||
|
||||
/*
|
||||
|
||||
@@ -33,7 +33,7 @@ string.
|
||||
#include <linux/init.h>
|
||||
#include <linux/kref.h>
|
||||
#include <linux/module.h>
|
||||
@@ -696,6 +699,62 @@ static int nvmem_validate_keepouts(struc
|
||||
@@ -695,6 +698,62 @@ static int nvmem_validate_keepouts(struc
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ string.
|
||||
static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np)
|
||||
{
|
||||
struct nvmem_layout *layout = nvmem->layout;
|
||||
@@ -731,6 +790,25 @@ static int nvmem_add_cells_from_dt(struc
|
||||
@@ -730,6 +789,25 @@ static int nvmem_add_cells_from_dt(struc
|
||||
if (layout && layout->fixup_cell_info)
|
||||
layout->fixup_cell_info(nvmem, layout, &info);
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ Subject: [PATCH] UGW_SW-29163: ATM oam support
|
||||
|
||||
--- a/drivers/net/ppp/ppp_generic.c
|
||||
+++ b/drivers/net/ppp/ppp_generic.c
|
||||
@@ -2952,6 +2952,22 @@ char *ppp_dev_name(struct ppp_channel *c
|
||||
@@ -2967,6 +2967,22 @@ char *ppp_dev_name(struct ppp_channel *c
|
||||
return name;
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ Subject: [PATCH] UGW_SW-29163: ATM oam support
|
||||
|
||||
/*
|
||||
* Disconnect a channel from the generic layer.
|
||||
@@ -3598,6 +3614,7 @@ EXPORT_SYMBOL(ppp_unregister_channel);
|
||||
@@ -3613,6 +3629,7 @@ EXPORT_SYMBOL(ppp_unregister_channel);
|
||||
EXPORT_SYMBOL(ppp_channel_index);
|
||||
EXPORT_SYMBOL(ppp_unit_number);
|
||||
EXPORT_SYMBOL(ppp_dev_name);
|
||||
|
||||
@@ -272,10 +272,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
free_irq(ch->dma.irq, priv);
|
||||
- if (IS_RX(ch->idx)) {
|
||||
+ if (ch == &priv->txch) {
|
||||
int desc;
|
||||
for (desc = 0; desc < LTQ_DESC_NUM; desc++)
|
||||
dev_kfree_skb_any(ch->skb[ch->dma.desc]);
|
||||
@@ -223,66 +300,135 @@ static void
|
||||
struct ltq_dma_channel *dma = &ch->dma;
|
||||
|
||||
for (dma->desc = 0; dma->desc < LTQ_DESC_NUM; dma->desc++)
|
||||
@@ -224,66 +301,135 @@ static void
|
||||
ltq_etop_hw_exit(struct net_device *dev)
|
||||
{
|
||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||
@@ -446,7 +446,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -301,6 +447,39 @@ static const struct ethtool_ops ltq_etop
|
||||
@@ -302,6 +448,39 @@ static const struct ethtool_ops ltq_etop
|
||||
};
|
||||
|
||||
static int
|
||||
@@ -486,7 +486,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
ltq_etop_mdio_wr(struct mii_bus *bus, int phy_addr, int phy_reg, u16 phy_data)
|
||||
{
|
||||
u32 val = MDIO_REQUEST |
|
||||
@@ -308,9 +487,9 @@ ltq_etop_mdio_wr(struct mii_bus *bus, in
|
||||
@@ -309,9 +488,9 @@ ltq_etop_mdio_wr(struct mii_bus *bus, in
|
||||
((phy_reg & MDIO_REG_MASK) << MDIO_REG_OFFSET) |
|
||||
phy_data;
|
||||
|
||||
@@ -498,7 +498,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -321,12 +500,12 @@ ltq_etop_mdio_rd(struct mii_bus *bus, in
|
||||
@@ -322,12 +501,12 @@ ltq_etop_mdio_rd(struct mii_bus *bus, in
|
||||
((phy_addr & MDIO_ADDR_MASK) << MDIO_ADDR_OFFSET) |
|
||||
((phy_reg & MDIO_REG_MASK) << MDIO_REG_OFFSET);
|
||||
|
||||
@@ -515,7 +515,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
return val;
|
||||
}
|
||||
|
||||
@@ -342,7 +521,10 @@ ltq_etop_mdio_probe(struct net_device *d
|
||||
@@ -343,7 +522,10 @@ ltq_etop_mdio_probe(struct net_device *d
|
||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||
struct phy_device *phydev;
|
||||
|
||||
@@ -527,7 +527,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
if (!phydev) {
|
||||
netdev_err(dev, "no PHY found\n");
|
||||
@@ -350,14 +532,17 @@ ltq_etop_mdio_probe(struct net_device *d
|
||||
@@ -351,14 +533,17 @@ ltq_etop_mdio_probe(struct net_device *d
|
||||
}
|
||||
|
||||
phydev = phy_connect(dev, phydev_name(phydev),
|
||||
@@ -547,7 +547,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
phy_attached_info(phydev);
|
||||
|
||||
@@ -378,8 +563,13 @@ ltq_etop_mdio_init(struct net_device *de
|
||||
@@ -379,8 +564,13 @@ ltq_etop_mdio_init(struct net_device *de
|
||||
}
|
||||
|
||||
priv->mii_bus->priv = dev;
|
||||
@@ -563,7 +563,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
priv->mii_bus->name = "ltq_mii";
|
||||
snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
|
||||
priv->pdev->name, priv->pdev->id);
|
||||
@@ -416,18 +606,21 @@ static int
|
||||
@@ -417,18 +607,21 @@ static int
|
||||
ltq_etop_open(struct net_device *dev)
|
||||
{
|
||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||
@@ -595,7 +595,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
netif_tx_start_all_queues(dev);
|
||||
return 0;
|
||||
}
|
||||
@@ -436,18 +629,19 @@ static int
|
||||
@@ -437,18 +630,19 @@ static int
|
||||
ltq_etop_stop(struct net_device *dev)
|
||||
{
|
||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||
@@ -625,7 +625,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -457,15 +651,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
@@ -458,15 +652,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
int queue = skb_get_queue_mapping(skb);
|
||||
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
|
||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||
@@ -646,7 +646,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
netdev_err(dev, "tx ring full\n");
|
||||
netif_tx_stop_queue(txq);
|
||||
return NETDEV_TX_BUSY;
|
||||
@@ -473,7 +668,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
@@ -474,7 +669,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
|
||||
/* dma needs to start on a 16 byte aligned address */
|
||||
byte_offset = CPHYSADDR(skb->data) % 16;
|
||||
@@ -655,7 +655,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
netif_trans_update(dev);
|
||||
|
||||
@@ -483,11 +678,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
@@ -484,11 +679,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
wmb();
|
||||
desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
|
||||
LTQ_DMA_TX_OFFSET(byte_offset) | (len & LTQ_DMA_SIZE_MASK);
|
||||
@@ -670,7 +670,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
netif_tx_stop_queue(txq);
|
||||
|
||||
return NETDEV_TX_OK;
|
||||
@@ -498,11 +693,14 @@ ltq_etop_change_mtu(struct net_device *d
|
||||
@@ -499,11 +694,14 @@ ltq_etop_change_mtu(struct net_device *d
|
||||
{
|
||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||
unsigned long flags;
|
||||
@@ -686,7 +686,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
|
||||
return 0;
|
||||
@@ -555,6 +753,9 @@ ltq_etop_init(struct net_device *dev)
|
||||
@@ -556,6 +754,9 @@ ltq_etop_init(struct net_device *dev)
|
||||
if (err)
|
||||
goto err_hw;
|
||||
ltq_etop_change_mtu(dev, 1500);
|
||||
@@ -696,7 +696,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr));
|
||||
if (!is_valid_ether_addr(mac.sa_data)) {
|
||||
@@ -572,9 +773,10 @@ ltq_etop_init(struct net_device *dev)
|
||||
@@ -573,9 +774,10 @@ ltq_etop_init(struct net_device *dev)
|
||||
dev->addr_assign_type = NET_ADDR_RANDOM;
|
||||
|
||||
ltq_etop_set_multicast_list(dev);
|
||||
@@ -710,7 +710,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
return 0;
|
||||
|
||||
err_netdev:
|
||||
@@ -594,6 +796,9 @@ ltq_etop_tx_timeout(struct net_device *d
|
||||
@@ -595,6 +797,9 @@ ltq_etop_tx_timeout(struct net_device *d
|
||||
err = ltq_etop_hw_init(dev);
|
||||
if (err)
|
||||
goto err_hw;
|
||||
@@ -720,7 +720,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
netif_trans_update(dev);
|
||||
netif_wake_queue(dev);
|
||||
return;
|
||||
@@ -617,14 +822,18 @@ static const struct net_device_ops ltq_e
|
||||
@@ -618,14 +823,18 @@ static const struct net_device_ops ltq_e
|
||||
.ndo_tx_timeout = ltq_etop_tx_timeout,
|
||||
};
|
||||
|
||||
@@ -743,7 +743,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res) {
|
||||
@@ -650,31 +859,62 @@ ltq_etop_probe(struct platform_device *p
|
||||
@@ -651,31 +860,62 @@ ltq_etop_probe(struct platform_device *p
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
@@ -821,7 +821,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
err = register_netdev(dev);
|
||||
if (err)
|
||||
@@ -703,31 +943,22 @@ ltq_etop_remove(struct platform_device *
|
||||
@@ -704,31 +944,22 @@ ltq_etop_remove(struct platform_device *
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -203,7 +203,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
+early_param("ethaddr", setup_ethaddr);
|
||||
--- a/drivers/net/ethernet/lantiq_etop.c
|
||||
+++ b/drivers/net/ethernet/lantiq_etop.c
|
||||
@@ -757,7 +757,11 @@ ltq_etop_init(struct net_device *dev)
|
||||
@@ -758,7 +758,11 @@ ltq_etop_init(struct net_device *dev)
|
||||
if (err)
|
||||
goto err_hw;
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ Signed-off-by: Johann Neuhauser <johann@it-neuhauser.de>
|
||||
|
||||
#include <asm/checksum.h>
|
||||
|
||||
@@ -553,7 +554,8 @@ static int
|
||||
@@ -554,7 +555,8 @@ static int
|
||||
ltq_etop_mdio_init(struct net_device *dev)
|
||||
{
|
||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Johann Neuhauser <johann@it-neuhauser.de>
|
||||
|
||||
priv->mii_bus = mdiobus_alloc();
|
||||
if (!priv->mii_bus) {
|
||||
@@ -573,7 +575,15 @@ ltq_etop_mdio_init(struct net_device *de
|
||||
@@ -574,7 +576,15 @@ ltq_etop_mdio_init(struct net_device *de
|
||||
priv->mii_bus->name = "ltq_mii";
|
||||
snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
|
||||
priv->pdev->name, priv->pdev->id);
|
||||
|
||||
@@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
int tx_irq;
|
||||
int rx_irq;
|
||||
|
||||
@@ -399,7 +402,7 @@ ltq_etop_dma_init(struct net_device *dev
|
||||
@@ -400,7 +403,7 @@ ltq_etop_dma_init(struct net_device *dev
|
||||
int rx = priv->rx_irq - LTQ_DMA_ETOP;
|
||||
int err;
|
||||
|
||||
@@ -43,7 +43,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
priv->txch.dma.nr = tx;
|
||||
priv->txch.dma.dev = &priv->pdev->dev;
|
||||
@@ -676,8 +679,8 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
@@ -677,8 +680,8 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
return NETDEV_TX_BUSY;
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
priv->txch.skb[priv->txch.dma.desc] = skb;
|
||||
|
||||
netif_trans_update(dev);
|
||||
@@ -925,6 +928,18 @@ static int ltq_etop_probe(struct platfor
|
||||
@@ -926,6 +929,18 @@ static int ltq_etop_probe(struct platfor
|
||||
spin_lock_init(&priv->lock);
|
||||
SET_NETDEV_DEV(dev, &pdev->dev);
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/lantiq_etop.c
|
||||
+++ b/drivers/net/ethernet/lantiq_etop.c
|
||||
@@ -402,7 +402,7 @@ ltq_etop_dma_init(struct net_device *dev
|
||||
@@ -403,7 +403,7 @@ ltq_etop_dma_init(struct net_device *dev
|
||||
int rx = priv->rx_irq - LTQ_DMA_ETOP;
|
||||
int err;
|
||||
|
||||
|
||||
@@ -436,7 +436,7 @@ Signed-off-by: Wolfram Sang <wsa@kernel.org>
|
||||
pm_runtime_use_autosuspend(qup->dev);
|
||||
--- a/drivers/i2c/busses/i2c-rcar.c
|
||||
+++ b/drivers/i2c/busses/i2c-rcar.c
|
||||
@@ -1059,7 +1059,7 @@ static int rcar_i2c_probe(struct platfor
|
||||
@@ -1068,7 +1068,7 @@ static int rcar_i2c_probe(struct platfor
|
||||
adap->bus_recovery_info = &rcar_i2c_bri;
|
||||
adap->quirks = &rcar_i2c_quirks;
|
||||
i2c_set_adapdata(adap, priv);
|
||||
|
||||
Reference in New Issue
Block a user