-LINUX_VERSION-5.15 = .162
-LINUX_KERNEL_HASH-5.15.162 = 110405a8b87968c6f2fc3e1c74439f44d566c3260117af560d1f40198dba8aa7
+LINUX_VERSION-5.15 = .164
+LINUX_KERNEL_HASH-5.15.164 = a3b0130416d7acfd46334dbc921b25688ba7e552deb74e612dd2c290b7967835
#endif /* _LINUX_TYPES_H */
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
-@@ -1489,8 +1489,8 @@ struct sk_buff *inet_gro_receive(struct
+@@ -1491,8 +1491,8 @@ struct sk_buff *inet_gro_receive(struct
if (unlikely(ip_fast_csum((u8 *)iph, 5)))
goto out_unlock;
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);
#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);
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);
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);
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",
};
{
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)
{
{
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);
}
{
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;
}
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)
{
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;
}
}
/* 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--)
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;
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;
}
}
}
}
-@@ -606,10 +608,10 @@ out:
+@@ -605,10 +607,10 @@ out:
return rval;
}
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;
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);
}
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);
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;
}
}
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)
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;
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);
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)
{
{
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,
{
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)
{
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);
u8 *_buf, int len)
{
struct nvmem_device *nvmem = cell->nvmem;
-@@ -1494,16 +1533,7 @@ err:
+@@ -1493,16 +1532,7 @@ err:
return ERR_PTR(rc);
}
{
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;
}
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;
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)
{
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)
{
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;
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);
--- 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);
--- 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);
}
/**
-@@ -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)
{
--- 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)
{
--- 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;
--- 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);
--- 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);
};
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);
{
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;
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 {
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;
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);
}
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,
{
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) {
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);
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;
--- 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;
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;
--- 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
}
/**
* 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)
{
--- 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)
{
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;
}
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;
}
/**
* 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;
}
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;
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);
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);
}
--- 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;
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);
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);
#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;
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;
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);
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;
--- 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)
{
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);
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;
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;
}
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;
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) {
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;
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;
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,
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)
{
--- 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;
}
{
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;
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;
}
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;
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;
--- 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;
--- 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)
{
--- 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);
.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;
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);
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;
#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;
}
--- a/fs/locks.c
+++ b/fs/locks.c
-@@ -3008,6 +3008,8 @@ static const struct seq_operations locks
+@@ -3006,6 +3006,8 @@ static const struct seq_operations locks
static int __init proc_locks_init(void)
{
#endif /* __KERNEL__ */
/*
-@@ -252,6 +254,4 @@ static inline void *offset_to_ptr(const
+@@ -258,6 +260,4 @@ static inline void *offset_to_ptr(const
*/
#define prevent_tail_call_optimization() mb()
+}
--- 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);
--- 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;
/*
#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;
}
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);