Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1662221 > unrolled thread

[PATCH 0/5] nvmem: patches or v4.13

Started bySrinivas Kandagatla <srinivas.kandagatla@linaro.org>
First post2017-06-09 12:00 +0200
Last post2017-06-09 12:10 +0200
Articles 5 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [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

#1662221 — [PATCH 0/5] nvmem: patches or v4.13

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2017-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]


#1662223 — [PATCH 1/5] nvmem: correct Broadcom OTP controller driver writes

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2017-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]


#1662231 — [PATCH 3/5] nvmem: core: Call put_device() in nvmem_unregister()

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2017-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]


#1662234 — [PATCH 5/5] nvmem: rockchip-efuse: add support for rk322x-efuse

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2017-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]


#1662235 — [PATCH 4/5] nvmem: core: add locking to nvmem_find_cell

FromSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date2017-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