summaryrefslogtreecommitdiffstats
path: root/drivers/nvmem/core.c
diff options
context:
space:
mode:
authorVivek Gautam <vivek.gautam@codeaurora.org>2017-01-23 00:02:38 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-01-25 11:49:39 +0100
commit3b4a687726f0019115bd903d9724db6cdcbb00fe (patch)
treee6209f4fd1eeae6e56b8dbd5575bdcaee1541001 /drivers/nvmem/core.c
parentdevicetree: bindings: nvmem: Add compatible string for imx6ul (diff)
downloadlinux-3b4a687726f0019115bd903d9724db6cdcbb00fe.tar.xz
linux-3b4a687726f0019115bd903d9724db6cdcbb00fe.zip
nvmem: core: Allow ignoring length when reading a cell
nvmem_cell_read() API fills in the argument 'len' with the number of bytes read from the cell. Many users don't care about this length value. So allow users to pass a NULL pointer to this len field. Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/nvmem/core.c')
-rw-r--r--drivers/nvmem/core.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
index 398ea7f54826..78aa06a578d0 100644
--- a/drivers/nvmem/core.c
+++ b/drivers/nvmem/core.c
@@ -970,7 +970,8 @@ static int __nvmem_cell_read(struct nvmem_device *nvmem,
if (cell->bit_offset || cell->nbits)
nvmem_shift_read_buffer_in_place(cell, buf);
- *len = cell->bytes;
+ if (len)
+ *len = cell->bytes;
return 0;
}
@@ -979,7 +980,8 @@ static int __nvmem_cell_read(struct nvmem_device *nvmem,
* nvmem_cell_read() - Read a given nvmem cell
*
* @cell: nvmem cell to be read.
- * @len: pointer to length of cell which will be populated on successful read.
+ * @len: pointer to length of cell which will be populated on successful read;
+ * can be NULL.
*
* Return: ERR_PTR() on error or a valid pointer to a buffer on success. The
* buffer should be freed by the consumer with a kfree().