Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1662221 > unrolled thread
| Started by | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
|---|---|
| First post | 2017-06-09 12:00 +0200 |
| Last post | 2017-06-09 12:10 +0200 |
| Articles | 5 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH 0/5] nvmem: patches or v4.13 Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2017-06-09 12:00 +0200
[PATCH 1/5] nvmem: correct Broadcom OTP controller driver writes Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2017-06-09 12:00 +0200
[PATCH 3/5] nvmem: core: Call put_device() in nvmem_unregister() Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2017-06-09 12:10 +0200
[PATCH 5/5] nvmem: rockchip-efuse: add support for rk322x-efuse Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2017-06-09 12:10 +0200
[PATCH 4/5] nvmem: core: add locking to nvmem_find_cell Srinivas Kandagatla <srinivas.kandagatla@linaro.org> - 2017-06-09 12:10 +0200
| From | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
|---|---|
| Date | 2017-06-09 12:00 +0200 |
| Subject | [PATCH 0/5] nvmem: patches or v4.13 |
| Message-ID | <tQoRY-8lF-23@gated-at.bofh.it> |
Hi Greg, This patchset contains few fixes to core, Broadcom OTP driver and a patch for new compatible to support rockchip rk322x-efuse. Can you please queue these for v4.13. Thanks, srini Andrey Smirnov (1): nvmem: core: Call put_device() in nvmem_unregister() Finley Xiao (1): nvmem: rockchip-efuse: add support for rk322x-efuse Heiner Kallweit (1): nvmem: core: add locking to nvmem_find_cell Johan Hovold (1): nvmem: core: fix leaks on registration errors Oza Pawandeep (1): nvmem: correct Broadcom OTP controller driver writes .../devicetree/bindings/nvmem/rockchip-efuse.txt | 1 + drivers/nvmem/bcm-ocotp.c | 4 ++-- drivers/nvmem/core.c | 22 ++++++++++++++++------ drivers/nvmem/rockchip-efuse.c | 4 ++++ 4 files changed, 23 insertions(+), 8 deletions(-) -- 2.11.0
[toc] | [next] | [standalone]
| From | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
|---|---|
| Date | 2017-06-09 12:00 +0200 |
| Subject | [PATCH 1/5] nvmem: correct Broadcom OTP controller driver writes |
| Message-ID | <tQoRZ-8lF-41@gated-at.bofh.it> |
| In reply to | #1662221 |
From: Oza Pawandeep <oza.oza@broadcom.com>
- use data write offset to write otp data instead of read offset
- use OTP program command 0x8 to write otp with ECC rather than just
command 0xA without ECC
Fixes: 9d59c6e8ae27 ("nvmem: Add the Broadcom OTP controller driver")
Signed-off-by: Oza Pawandeep <oza.oza@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
drivers/nvmem/bcm-ocotp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/nvmem/bcm-ocotp.c b/drivers/nvmem/bcm-ocotp.c
index 646cadbf1f93..3c56e3b2bd65 100644
--- a/drivers/nvmem/bcm-ocotp.c
+++ b/drivers/nvmem/bcm-ocotp.c
@@ -34,7 +34,7 @@
#define OTPC_CMD_READ 0x0
#define OTPC_CMD_OTP_PROG_ENABLE 0x2
#define OTPC_CMD_OTP_PROG_DISABLE 0x3
-#define OTPC_CMD_PROGRAM 0xA
+#define OTPC_CMD_PROGRAM 0x8
/* OTPC Status Bits */
#define OTPC_STAT_CMD_DONE BIT(1)
@@ -209,7 +209,7 @@ static int bcm_otpc_write(void *context, unsigned int offset, void *val,
set_command(priv->base, OTPC_CMD_PROGRAM);
set_cpu_address(priv->base, address++);
for (i = 0; i < priv->map->otpc_row_size; i++) {
- writel(*buf, priv->base + priv->map->data_r_offset[i]);
+ writel(*buf, priv->base + priv->map->data_w_offset[i]);
buf++;
bytes_written += sizeof(*buf);
}
--
2.11.0
[toc] | [prev] | [next] | [standalone]
| From | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
|---|---|
| Date | 2017-06-09 12:10 +0200 |
| Subject | [PATCH 3/5] nvmem: core: Call put_device() in nvmem_unregister() |
| Message-ID | <tQp1E-dV-13@gated-at.bofh.it> |
| In reply to | #1662221 |
From: Andrey Smirnov <andrew.smirnov@gmail.com> Call put_device() in nvmem_unregister() to make sure nvmem_release gets called freeing up allocated resources. Cc: cphealy@gmail.com Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> --- drivers/nvmem/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 6cf916d9db6d..0cbac71195b5 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -532,6 +532,7 @@ int nvmem_unregister(struct nvmem_device *nvmem) nvmem_device_remove_all_cells(nvmem); device_del(&nvmem->dev); + put_device(&nvmem->dev); return 0; } -- 2.11.0
[toc] | [prev] | [next] | [standalone]
| From | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
|---|---|
| Date | 2017-06-09 12:10 +0200 |
| Subject | [PATCH 5/5] nvmem: rockchip-efuse: add support for rk322x-efuse |
| Message-ID | <tQp1E-dV-19@gated-at.bofh.it> |
| In reply to | #1662221 |
From: Finley Xiao <finley.xiao@rock-chips.com>
This adds the necessary data for handling eFuse on the rk322x.
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt | 1 +
drivers/nvmem/rockchip-efuse.c | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt b/Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt
index 94aeeeabadd5..194926f77194 100644
--- a/Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt
+++ b/Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt
@@ -4,6 +4,7 @@ Required properties:
- compatible: Should be one of the following.
- "rockchip,rk3066a-efuse" - for RK3066a SoCs.
- "rockchip,rk3188-efuse" - for RK3188 SoCs.
+ - "rockchip,rk322x-efuse" - for RK322x SoCs.
- "rockchip,rk3288-efuse" - for RK3288 SoCs.
- "rockchip,rk3399-efuse" - for RK3399 SoCs.
- reg: Should contain the registers location and exact eFuse size
diff --git a/drivers/nvmem/rockchip-efuse.c b/drivers/nvmem/rockchip-efuse.c
index 423907bdd259..a0d4ede9b8fc 100644
--- a/drivers/nvmem/rockchip-efuse.c
+++ b/drivers/nvmem/rockchip-efuse.c
@@ -170,6 +170,10 @@ static const struct of_device_id rockchip_efuse_match[] = {
.data = (void *)&rockchip_rk3288_efuse_read,
},
{
+ .compatible = "rockchip,rk322x-efuse",
+ .data = (void *)&rockchip_rk3288_efuse_read,
+ },
+ {
.compatible = "rockchip,rk3288-efuse",
.data = (void *)&rockchip_rk3288_efuse_read,
},
--
2.11.0
[toc] | [prev] | [next] | [standalone]
| From | Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
|---|---|
| Date | 2017-06-09 12:10 +0200 |
| Subject | [PATCH 4/5] nvmem: core: add locking to nvmem_find_cell |
| Message-ID | <tQp1E-dV-21@gated-at.bofh.it> |
| In reply to | #1662221 |
From: Heiner Kallweit <hkallweit1@gmail.com>
Adding entries to nvmem_cells and deleting entries from it is
protected by nvmem_cells_mutex. Therefore this mutex should
also protect iterating over the list.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
drivers/nvmem/core.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
index 0cbac71195b5..4c49285168fb 100644
--- a/drivers/nvmem/core.c
+++ b/drivers/nvmem/core.c
@@ -287,9 +287,15 @@ static struct nvmem_cell *nvmem_find_cell(const char *cell_id)
{
struct nvmem_cell *p;
+ mutex_lock(&nvmem_cells_mutex);
+
list_for_each_entry(p, &nvmem_cells, node)
- if (p && !strcmp(p->name, cell_id))
+ if (p && !strcmp(p->name, cell_id)) {
+ mutex_unlock(&nvmem_cells_mutex);
return p;
+ }
+
+ mutex_unlock(&nvmem_cells_mutex);
return NULL;
}
--
2.11.0
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web