From: dan.j.williams@intel.com (Dan Williams)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 00/11] Add simple NVMEM Framework via regmap.
Date: Thu, 28 May 2015 18:20:50 -0700 [thread overview]
Message-ID: <CAA9_cmetqnqTQPCd8ya5AJPKQw8ary8CwsE6TUv=f57O=_MH5w@mail.gmail.com> (raw)
In-Reply-To: <1432226535-8640-1-git-send-email-srinivas.kandagatla@linaro.org>
On Thu, May 21, 2015 at 9:42 AM, Srinivas Kandagatla
<srinivas.kandagatla@linaro.org> wrote:
> Thankyou all for providing inputs and comments on previous versions of this patchset.
> Here is the v5 of the patchset addressing all the issues raised as
> part of previous versions review.
>
> This patchset adds a new simple NVMEM framework to kernel.
>
> Up until now, NVMEM drivers were stored in drivers/misc, where they all had to
> duplicate pretty much the same code to register a sysfs file, allow in-kernel
> users to access the content of the devices they were driving, etc.
>
> This was also a problem as far as other in-kernel users were involved, since
> the solutions used were pretty much different from on driver to another, there
> was a rather big abstraction leak.
>
> Introduction of this framework aims at solving this. It also introduces DT
> representation for consumer devices to go get the data they require (MAC
> Addresses, SoC/Revision ID, part numbers, and so on) from the NVMEMs.
>
> After learning few things about QCOM qfprom and other eeprom/efuses, which
> has packed fields at bit level. Which makes it important to add support to
> such memories. This version adds support to this type of non volatile
> memories by adding support to bit level nvmem-cells.
>
> Having regmap interface to this framework would give much better
> abstraction for nvmems on different buses.
>
> patch 1-2 Introduces two regmap helper functions.
> patch 3-6 Introduces the NVMEM framework.
> Patch 7 Adds helper functions for nvmems based on mmio.
> Patch 8 migrates an existing driver to nvmem framework.
> Patch 9-10 Adds Qualcomm specific qfprom driver.
> Patch 11 adds entry in MAINTAINERS.
>
> Its also possible to migrate other nvmem drivers to this framework.
>
> Providers APIs:
> nvmem_register/unregister();
>
> Consumers APIs:
> Cell based apis for both DT/Non-DT:
> nvmem_cell_get()/nvmem_cell_put();
> nvmem_cell_read()/nvmem_cell_write();
>
> Raw byte access apis for both DT/non-DT.
> nvmem_device_get()/nvmem_device_put()
> nvmem_device_read()/nvmem_device_write();
> nvmem_device_cell_read()/nvmem_device_cell_write();
>
> Device Tree:
>
> /* Provider */
> qfprom: qfprom at 00700000 {
> ...
>
> /* Data cells */
> tsens_calibration: calib at 404 {
> reg = <0x404 0x10>;
> };
>
> tsens_calibration_bckp: calib_bckp at 504 {
> reg = <0x504 0x11>;
> bit-offset = 6;
> nbits = 128;
> };
>
> pvs_version: pvs-version at 6 {
> reg = <0x6 0x2>
> bit-offset = 7;
> nbits = 2;
> };
>
> speed_bin: speed-bin at c{
> reg = <0xc 0x1>;
> bit-offset = 2;
> nbits = 3;
>
> };
> ...
> };
>
> userspace interface: binary file in /sys/class/nvmem/*/nvmem
>
> ex:
> hexdump /sys/class/nvmem/qfprom0/nvmem
>
> 0000000 0000 0000 0000 0000 0000 0000 0000 0000
> *
> 00000a0 db10 2240 0000 e000 0c00 0c00 0000 0c00
> 0000000 0000 0000 0000 0000 0000 0000 0000 0000
> ...
> *
> 0001000
>
> Changes since v4(https://lkml.org/lkml/2015/3/30/725)
> * rename eeprom to nvmem suggested by Matt Porter
Apologies for the bikeshed fly-by review, but given we already have
NVME and are adding an NVDIMM driver sub-system is s/eeprom/nvmem/ a
good idea?
next prev parent reply other threads:[~2015-05-29 1:20 UTC|newest]
Thread overview: 153+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-19 17:07 [RFC PATCH 0/3] Add simple EEPROM Framework via regmap Srinivas Kandagatla
2015-02-19 17:08 ` [RFC PATCH 1/3] eeprom: Add a simple EEPROM framework Srinivas Kandagatla
2015-02-19 18:12 ` Andrew Lunn
2015-02-20 8:27 ` Srinivas Kandagatla
2015-02-20 2:36 ` Stephen Boyd
2015-02-20 8:14 ` Srinivas Kandagatla
2015-02-20 10:24 ` Srinivas Kandagatla
2015-02-20 17:21 ` Rob Herring
2015-02-20 19:25 ` Srinivas Kandagatla
2015-02-20 22:01 ` Rob Herring
2015-02-21 11:31 ` Srinivas Kandagatla
2015-02-22 14:34 ` Maxime Ripard
2015-02-22 14:32 ` Maxime Ripard
2015-02-23 0:57 ` Rob Herring
2015-02-23 23:11 ` Stephen Boyd
2015-02-24 7:08 ` Srinivas Kandagatla
2015-02-24 9:21 ` Maxime Ripard
2015-02-25 1:30 ` Stephen Boyd
2015-02-26 9:16 ` Srinivas Kandagatla
2015-02-26 13:21 ` Maxime Ripard
2015-02-26 14:56 ` Srinivas Kandagatla
2015-02-26 13:18 ` Maxime Ripard
2015-02-23 9:15 ` Sascha Hauer
2015-02-20 17:46 ` Russell King - ARM Linux
2015-02-20 19:00 ` Srinivas Kandagatla
2015-02-23 15:04 ` Mark Brown
2015-02-23 15:38 ` Srinivas Kandagatla
2015-02-19 17:08 ` [RFC PATCH 2/3] eeprom: sunxi: Move the SID driver to the eeprom framework Srinivas Kandagatla
2015-02-20 17:47 ` Russell King - ARM Linux
2015-02-19 17:08 ` [RFC PATCH 3/3] eeprom: qfprom: Add Qualcomm QFPROM support Srinivas Kandagatla
2015-02-20 17:48 ` Russell King - ARM Linux
2015-03-05 9:44 ` [PATCH v1 0/6] Add simple EEPROM Framework via regmap Srinivas Kandagatla
2015-03-05 9:45 ` [PATCH v1 1/6] eeprom: Add a simple EEPROM framework for eeprom providers Srinivas Kandagatla
2015-03-05 10:23 ` Paul Bolle
2015-03-05 10:35 ` Srinivas Kandagatla
2015-03-07 15:00 ` Mark Brown
2015-03-09 7:13 ` Srinivas Kandagatla
2015-03-05 9:45 ` [PATCH v1 2/6] eeprom: Add a simple EEPROM framework for eeprom consumers Srinivas Kandagatla
2015-03-05 9:46 ` [PATCH v1 3/6] eeprom: Add bindings for simple eeprom framework Srinivas Kandagatla
2015-03-05 20:11 ` Rob Herring
2015-03-05 22:34 ` Srinivas Kandagatla
2015-03-05 9:46 ` [PATCH v1 4/6] eeprom: sunxi: Move the SID driver to the " Srinivas Kandagatla
2015-03-05 10:15 ` Paul Bolle
2015-03-05 18:36 ` Maxime Ripard
2015-03-05 9:46 ` [PATCH v1 5/6] eeprom: qfprom: Add Qualcomm QFPROM support Srinivas Kandagatla
2015-03-05 10:02 ` Paul Bolle
2015-03-05 10:10 ` Srinivas Kandagatla
2015-03-05 9:46 ` [PATCH v1 6/6] eeprom: Add to MAINTAINERS for eeprom framework Srinivas Kandagatla
2015-03-13 9:49 ` [PATCH v2 0/7] Add simple EEPROM Framework via regmap Srinivas Kandagatla
2015-03-13 9:50 ` [PATCH v2 1/7] eeprom: Add a simple EEPROM framework for eeprom providers Srinivas Kandagatla
2015-03-23 21:09 ` Mark Brown
2015-03-23 22:05 ` Srinivas Kandagatla
2015-03-24 9:18 ` Srinivas Kandagatla
2015-03-24 17:23 ` Mark Brown
2015-03-24 18:34 ` Srinivas Kandagatla
2015-03-24 19:02 ` Mark Brown
2015-03-24 19:26 ` Srinivas Kandagatla
2015-03-24 20:55 ` Mark Brown
2015-03-13 9:50 ` [PATCH v2 2/7] eeprom: Add a simple EEPROM framework for eeprom consumers Srinivas Kandagatla
2015-03-13 9:50 ` [PATCH v2 3/7] eeprom: Add bindings for simple eeprom framework Srinivas Kandagatla
2015-03-13 9:50 ` [PATCH v2 4/7] eeprom: sunxi: Move the SID driver to the " Srinivas Kandagatla
2015-03-13 9:50 ` [PATCH v2 5/7] eeprom: qfprom: Add Qualcomm QFPROM support Srinivas Kandagatla
2015-03-13 9:50 ` [PATCH v2 6/7] eeprom: qfprom: Add bindings for qfprom Srinivas Kandagatla
2015-03-13 9:51 ` [PATCH v2 7/7] eeprom: Add to MAINTAINERS for eeprom framework Srinivas Kandagatla
2015-03-24 22:28 ` [PATCH v3 0/9] Add simple EEPROM Framework via regmap Srinivas Kandagatla
2015-03-24 22:29 ` [PATCH v3 1/9] regmap: Introduce regmap_get_max_register Srinivas Kandagatla
2015-03-24 22:36 ` Mark Brown
2015-03-24 23:05 ` Srinivas Kandagatla
2015-03-24 23:23 ` Joe Perches
2015-03-24 22:30 ` [PATCH v3 2/9] regmap: Introduce regmap_get_reg_stride Srinivas Kandagatla
2015-03-24 22:37 ` Mark Brown
2015-03-24 23:07 ` Srinivas Kandagatla
2015-03-24 22:30 ` [PATCH v3 3/9] eeprom: Add a simple EEPROM framework for eeprom providers Srinivas Kandagatla
2015-03-24 22:53 ` Mark Brown
2015-03-26 16:23 ` Srinivas Kandagatla
2015-03-24 22:30 ` [PATCH v3 4/9] eeprom: Add a simple EEPROM framework for eeprom consumers Srinivas Kandagatla
2015-03-25 7:16 ` Sascha Hauer
2015-03-25 12:29 ` Srinivas Kandagatla
2015-03-24 22:30 ` [PATCH v3 5/9] eeprom: Add bindings for simple eeprom framework Srinivas Kandagatla
2015-03-25 7:10 ` Sascha Hauer
2015-03-25 16:40 ` Maxime Ripard
2015-03-24 22:30 ` [PATCH v3 6/9] eeprom: sunxi: Move the SID driver to the " Srinivas Kandagatla
2015-03-24 22:30 ` [PATCH v3 7/9] eeprom: qfprom: Add Qualcomm QFPROM support Srinivas Kandagatla
2015-03-24 22:31 ` [PATCH v3 8/9] eeprom: qfprom: Add bindings for qfprom Srinivas Kandagatla
2015-03-25 0:28 ` Bjorn Andersson
2015-03-24 22:31 ` [PATCH v3 9/9] eeprom: Add to MAINTAINERS for eeprom framework Srinivas Kandagatla
2015-03-30 21:54 ` [PATCH v4 00/10] Add simple EEPROM Framework via regmap Srinivas Kandagatla
2015-03-30 21:56 ` [PATCH v4 01/10] regmap: Introduce regmap_get_max_register Srinivas Kandagatla
2015-05-04 12:05 ` Mark Brown
2015-03-30 21:57 ` [PATCH v4 02/10] regmap: Introduce regmap_get_reg_stride Srinivas Kandagatla
2015-03-30 21:57 ` [PATCH v4 03/10] eeprom: Add a simple EEPROM framework for eeprom providers Srinivas Kandagatla
2015-03-30 21:57 ` [PATCH v4 04/10] eeprom: Add a simple EEPROM framework for eeprom consumers Srinivas Kandagatla
2015-04-07 18:45 ` Stephen Boyd
2015-04-07 20:09 ` Srinivas Kandagatla
2015-04-09 14:45 ` Stephen Boyd
2015-04-10 11:45 ` Maxime Ripard
2015-05-05 11:46 ` Srinivas Kandagatla
2015-05-08 5:23 ` Sascha Hauer
2015-05-06 17:28 ` Mark Brown
2015-03-30 21:57 ` [PATCH v4 05/10] eeprom: Add bindings for simple eeprom framework Srinivas Kandagatla
2015-04-06 13:32 ` Matt Porter
2015-04-06 14:11 ` Rob Herring
2015-04-06 15:04 ` Matt Porter
2015-04-07 17:35 ` Srinivas Kandagatla
2015-04-07 17:46 ` Mark Brown
2015-04-07 18:03 ` Srinivas Kandagatla
2015-04-07 19:46 ` Matt Porter
2015-04-08 9:24 ` Srinivas Kandagatla
2015-03-30 21:58 ` [PATCH v4 06/10] eeprom: Add simple eeprom-mmio consumer helper functions Srinivas Kandagatla
2015-03-30 21:58 ` [PATCH v4 07/10] eeprom: qfprom: Add Qualcomm QFPROM support Srinivas Kandagatla
2015-03-30 21:58 ` [PATCH v4 08/10] eeprom: qfprom: Add bindings for qfprom Srinivas Kandagatla
2015-03-30 21:58 ` [PATCH v4 09/10] eeprom: sunxi: Move the SID driver to the eeprom framework Srinivas Kandagatla
2015-03-30 21:58 ` [PATCH v4 10/10] eeprom: Add to MAINTAINERS for " Srinivas Kandagatla
2015-05-21 16:42 ` [PATCH v5 00/11] Add simple NVMEM Framework via regmap Srinivas Kandagatla
2015-05-21 16:42 ` [PATCH v5 01/11] regmap: Introduce regmap_get_max_register Srinivas Kandagatla
2015-05-22 11:18 ` Mark Brown
2015-05-21 16:42 ` [PATCH v5 02/11] regmap: Introduce regmap_get_reg_stride Srinivas Kandagatla
2015-05-22 11:19 ` Mark Brown
2015-05-21 16:43 ` [PATCH v5 03/11] nvmem: Add a simple NVMEM framework for nvmem providers Srinivas Kandagatla
2015-06-16 22:43 ` Stephen Boyd
2015-06-18 12:46 ` Srinivas Kandagatla
2015-06-24 0:24 ` Stephen Boyd
2015-06-24 10:05 ` Srinivas Kandagatla
2015-05-21 16:43 ` [PATCH v5 04/11] nvmem: Add a simple NVMEM framework for consumers Srinivas Kandagatla
2015-06-16 22:29 ` Stephen Boyd
2015-06-17 8:00 ` Sascha Hauer
2015-06-18 12:56 ` Srinivas Kandagatla
2015-05-21 16:43 ` [PATCH v5 05/11] nvmem: Add nvmem_device based consumer apis Srinivas Kandagatla
2015-06-16 22:49 ` Stephen Boyd
2015-06-18 12:57 ` Srinivas Kandagatla
2015-05-21 16:44 ` [PATCH v5 06/11] nvmem: Add bindings for simple nvmem framework Srinivas Kandagatla
2015-06-16 22:53 ` Stephen Boyd
2015-06-18 13:01 ` Srinivas Kandagatla
2015-06-19 10:36 ` maitysanchayan at gmail.com
2015-06-19 10:59 ` Srinivas Kandagatla
2015-05-21 16:44 ` [PATCH v5 07/11] nvmem: Add simple nvmem-mmio consumer helper functions Srinivas Kandagatla
2015-06-16 22:58 ` Stephen Boyd
2015-06-18 13:08 ` Srinivas Kandagatla
2015-05-21 16:44 ` [PATCH v5 08/11] nvmem: qfprom: Add Qualcomm QFPROM support Srinivas Kandagatla
2015-06-16 23:00 ` Stephen Boyd
2015-06-18 13:22 ` Srinivas Kandagatla
2015-05-21 16:44 ` [PATCH v5 09/11] nvmem: qfprom: Add bindings for qfprom Srinivas Kandagatla
2015-06-16 23:01 ` Stephen Boyd
2015-05-21 16:45 ` [PATCH v5 11/11] nvmem: Add to MAINTAINERS for nvmem framework Srinivas Kandagatla
2015-05-21 16:45 ` [PATCH v5 10/11] nvmem: sunxi: Move the SID driver to the " Srinivas Kandagatla
2015-06-16 23:04 ` Stephen Boyd
2015-06-18 13:09 ` Srinivas Kandagatla
2015-05-25 16:51 ` [PATCH v5 00/11] Add simple NVMEM Framework via regmap Pantelis Antoniou
2015-05-26 9:12 ` Srinivas Kandagatla
2015-05-26 17:54 ` Pantelis Antoniou
2015-05-29 1:20 ` Dan Williams [this message]
2015-05-29 7:09 ` Srinivas Kandagatla
2015-05-29 21:44 ` Dan Williams
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='CAA9_cmetqnqTQPCd8ya5AJPKQw8ary8CwsE6TUv=f57O=_MH5w@mail.gmail.com' \
--to=dan.j.williams@intel.com \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).