All of lore.kernel.org
 help / color / mirror / Atom feed
From: srinivas.kandagatla@linaro.org
To: gregkh@linuxfoundation.org
Cc: linux-kernel@vger.kernel.org,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Subject: [PATCH 18/26] Documentation: nvmem: document cell tables and lookup entries
Date: Fri, 21 Sep 2018 06:40:18 -0700	[thread overview]
Message-ID: <20180921134026.4596-19-srinivas.kandagatla@linaro.org> (raw)
In-Reply-To: <20180921134026.4596-1-srinivas.kandagatla@linaro.org>

From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

Document the new nvmem kernel APIs.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 Documentation/nvmem/nvmem.txt | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/Documentation/nvmem/nvmem.txt b/Documentation/nvmem/nvmem.txt
index 8d8d8f58f96f..fc2fe4b18655 100644
--- a/Documentation/nvmem/nvmem.txt
+++ b/Documentation/nvmem/nvmem.txt
@@ -58,6 +58,37 @@ static int qfprom_probe(struct platform_device *pdev)
 It is mandatory that the NVMEM provider has a regmap associated with its
 struct device. Failure to do would return error code from nvmem_register().
 
+Users of board files can define and register nvmem cells using the
+nvmem_cell_table struct:
+
+static struct nvmem_cell_info foo_nvmem_cells[] = {
+	{
+		.name		= "macaddr",
+		.offset		= 0x7f00,
+		.bytes		= ETH_ALEN,
+	}
+};
+
+static struct nvmem_cell_table foo_nvmem_cell_table = {
+	.nvmem_name		= "i2c-eeprom",
+	.cells			= foo_nvmem_cells,
+	.ncells			= ARRAY_SIZE(foo_nvmem_cells),
+};
+
+nvmem_add_cell_table(&foo_nvmem_cell_table);
+
+Additionally it is possible to create nvmem cell lookup entries and register
+them with the nvmem framework from machine code as shown in the example below:
+
+static struct nvmem_cell_lookup foo_nvmem_lookup = {
+	.nvmem_name		= "i2c-eeprom",
+	.cell_name		= "macaddr",
+	.dev_id			= "foo_mac.0",
+	.con_id			= "mac-address",
+};
+
+nvmem_add_cell_lookups(&foo_nvmem_lookup, 1);
+
 NVMEM Consumers
 +++++++++++++++
 
-- 
2.19.0


  parent reply	other threads:[~2018-09-21 13:40 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-21 13:40 [PATCH 00/26] nvmem: patches for 4.20 srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 01/26] eeprom: eeprom_93xx46: use resource management srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 02/26] eeprom: at25: use devm_nvmem_register() srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 03/26] nvmem: provide nvmem_dev_name() srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 04/26] nvmem: remove the name field from struct nvmem_device srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 05/26] nvmem: use list_for_each_entry_safe in nvmem_device_remove_all_cells() srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 06/26] nvmem: remove a stray newline srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 07/26] nvmem: check the return value of nvmem_add_cells() srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 08/26] nvmem: use kref srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 09/26] nvmem: sunxi_sid: return -ENOMEM if kzalloc() fails srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 10/26] nvmem: sunxi_sid: use devm_nvmem_register() srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 11/26] nvmem: lpc18xx_eeprom: " srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 12/26] nvmem: mxs-ocotp: " srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 13/26] nvmem: change the signature of nvmem_unregister() srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 14/26] nvmem: remove the global cell list srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 15/26] nvmem: add support for cell info srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 16/26] nvmem: resolve cells from DT at registration time srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 17/26] nvmem: add support for cell lookups from machine code srinivas.kandagatla
2018-09-21 13:40 ` srinivas.kandagatla [this message]
2018-09-21 13:40 ` [PATCH 19/26] nvmem: add a notifier chain srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 20/26] nvmem: use SPDX license identifiers srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 21/26] nvmem: make the naming of arguments in nvmem_cell_get() consistent srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 22/26] nvmem: use EOPNOTSUPP instead of ENOSYS srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 23/26] nvmem: fix commenting style srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 24/26] nvmem: use octal permissions instead of constants srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 25/26] nvmem: sunxi_sid: remove unused variable in probe srinivas.kandagatla
2018-09-21 13:40 ` [PATCH 26/26] nvmem: make nvmem_add_cells() static srinivas.kandagatla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180921134026.4596-19-srinivas.kandagatla@linaro.org \
    --to=srinivas.kandagatla@linaro.org \
    --cc=bgolaszewski@baylibre.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.