linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bartosz Golaszewski <brgl@bgdev.pl>
To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	"David S . Miller" <davem@davemloft.net>,
	Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>, Jonathan Corbet <corbet@lwn.net>,
	Sekhar Nori <nsekhar@ti.com>, Kevin Hilman <khilman@kernel.org>,
	David Lechner <david@lechnology.com>,
	Boris Brezillon <boris.brezillon@bootlin.com>,
	Andrew Lunn <andrew@lunn.ch>, Alban Bedel <albeu@free.fr>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Chen-Yu Tsai <wens@csie.org>
Cc: linux-doc <linux-doc@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>
Subject: Re: [PATCH v3 00/21] nvmem: rework of the subsystem for non-DT users
Date: Fri, 14 Sep 2018 16:43:13 +0200	[thread overview]
Message-ID: <CAMRc=MeiT_QADv69AktgmOZPNJbNChmU9YK=p3f4SZ8j2mCS_g@mail.gmail.com> (raw)
In-Reply-To: <20180912075129.25185-1-brgl@bgdev.pl>

2018-09-12 9:51 GMT+02:00 Bartosz Golaszewski <brgl@bgdev.pl>:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> This series contains nvmem framework changes prerequisite for further
> development of my previous series[1] that aims at removal of the
> platform data struct from at24 EEPROM driver.
>
> The patches are conceptually split into a couple groups.
>
> First five patches fix issues with existing issues.
>
> Patch 6 switches the nvmem providers to using kref which is necessary
> for removal of the return value from nvmem_unregister(). This is an
> approach similar to the one used in the clock framework where the
> provider is only removed after the last reference to it is dropped.
>
> Patches 7-9 convert last remaining users of nvmem_unregister() who
> still check its return value to using devm_nvmem_unregister() and
> patch 10 changes its return value from int to void.
>
> Patches 11-14 introduce the most significant changes of this series:
> we remove the global cell list, add support for static cell definitions
> external to the provider structure, change the way DT lookup works and
> allow to associate resources and consumers using lookup tables. The way
> nvmem_cell_get() for non-DT users is changed but there are no current
> users and it's currently broken anyway (cell being removed after a call
> to nvmem_cell_put()).
>
> Patch 15 updates the documentation.
>
> Patch 16 adds support for notifiers to nvmem so that users can
> subscribe for events such as device or cell registration or removal.
>
> Patches 17 & 18 add some minor improvements to the codebase.
>
> Last three patches contain fixes to warnings emitted by checkpatch.
> It's a good moment to add them if we're already touching a big part
> of the subsystem's code.
>
> Tested both DT and non-DT use cases.
>
> [1] https://lkml.org/lkml/2018/8/10/149
>
> v1 -> v2:
> - extended the lookup structure with a proper con_id independent from the
>   cell name defined in the cell definition table
> - added a patch that makes the naming convention for the cell name argument
>   in the nvmem_cell_get() family of functions consistent
> - there were two users of nvmem_unregister() that still checked the return
>   value, now switched to devm_nvmem_register()
> - fixed build failures reported by kbuild test robot
>
> v2 -> v3:
> - dropped the patch removing unused APIs and introduced changes on top of
>   existing code instead
> - fixed nvmem provider reference decreasing in error paths
> - added checkpatch fixes
> - removed nvmem-machine.h and distributed new definitions among existing
>   consumer and provider headers
> - reordered patches thematically
> - added more patches fixing issues in existing codebase
>
> Bartosz Golaszewski (21):
>   nvmem: provide nvmem_dev_name()
>   nvmem: remove the name field from struct nvmem_device
>   nvmem: use list_for_each_entry_safe in nvmem_device_remove_all_cells()
>   nvmem: remove a stray newline
>   nvmem: check the return value of nvmem_add_cells()
>   nvmem: use kref
>   nvmem: lpc18xx_eeprom: use devm_nvmem_register()
>   nvmem: sunxi_sid: use devm_nvmem_register()
>   nvmem: mxs-ocotp: use devm_nvmem_register()
>   nvmem: change the signature of nvmem_unregister()
>   nvmem: remove the global cell list
>   nvmem: add support for cell info
>   nvmem: resolve cells from DT at registration time
>   nvmem: add support for cell lookups from machine code
>   Documentation: nvmem: document cell tables and lookup entries
>   nvmem: add a notifier chain
>   nvmem: use SPDX license identifiers
>   nvmem: make the naming of arguments in nvmem_cell_get() consistent
>   nvmem: use EOPNOTSUPP instead of ENOSYS
>   nvmem: fix commenting style
>   nvmem: use octal permissions instead of constants
>
>  Documentation/nvmem/nvmem.txt  |  31 ++
>  drivers/nvmem/core.c           | 527 ++++++++++++++++++++++-----------
>  drivers/nvmem/lpc18xx_eeprom.c |   6 +-
>  drivers/nvmem/mxs-ocotp.c      |   4 +-
>  drivers/nvmem/sunxi_sid.c      |  20 +-
>  include/linux/nvmem-consumer.h | 100 +++++--
>  include/linux/nvmem-provider.h |  49 +--
>  7 files changed, 497 insertions(+), 240 deletions(-)
>
> --
> 2.18.0
>

Superseded by v4. This time I made sure all modified drivers build
fine without warnings.

Bart

      parent reply	other threads:[~2018-09-14 14:43 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-12  7:51 [PATCH v3 00/21] nvmem: rework of the subsystem for non-DT users Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 01/21] nvmem: provide nvmem_dev_name() Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 02/21] nvmem: remove the name field from struct nvmem_device Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 03/21] nvmem: use list_for_each_entry_safe in nvmem_device_remove_all_cells() Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 04/21] nvmem: remove a stray newline Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 05/21] nvmem: check the return value of nvmem_add_cells() Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 06/21] nvmem: use kref Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 07/21] nvmem: lpc18xx_eeprom: use devm_nvmem_register() Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 08/21] nvmem: sunxi_sid: " Bartosz Golaszewski
2018-09-13  1:38   ` kbuild test robot
2018-09-13  8:39     ` Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 09/21] nvmem: mxs-ocotp: " Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 10/21] nvmem: change the signature of nvmem_unregister() Bartosz Golaszewski
2018-09-13  0:34   ` kbuild test robot
2018-09-13  1:46   ` kbuild test robot
2018-09-12  7:51 ` [PATCH v3 11/21] nvmem: remove the global cell list Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 12/21] nvmem: add support for cell info Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 13/21] nvmem: resolve cells from DT at registration time Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 14/21] nvmem: add support for cell lookups from machine code Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 15/21] Documentation: nvmem: document cell tables and lookup entries Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 16/21] nvmem: add a notifier chain Bartosz Golaszewski
2018-09-12  9:33   ` Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 17/21] nvmem: use SPDX license identifiers Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 18/21] nvmem: make the naming of arguments in nvmem_cell_get() consistent Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 19/21] nvmem: use EOPNOTSUPP instead of ENOSYS Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 20/21] nvmem: fix commenting style Bartosz Golaszewski
2018-09-12  7:51 ` [PATCH v3 21/21] nvmem: use octal permissions instead of constants Bartosz Golaszewski
2018-09-14 14:43 ` Bartosz Golaszewski [this message]

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='CAMRc=MeiT_QADv69AktgmOZPNJbNChmU9YK=p3f4SZ8j2mCS_g@mail.gmail.com' \
    --to=brgl@bgdev.pl \
    --cc=akpm@linux-foundation.org \
    --cc=albeu@free.fr \
    --cc=andrew@lunn.ch \
    --cc=arnd@arndb.de \
    --cc=bgolaszewski@baylibre.com \
    --cc=boris.brezillon@bootlin.com \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=david@lechnology.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxime.ripard@bootlin.com \
    --cc=mchehab+samsung@kernel.org \
    --cc=nsekhar@ti.com \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=wens@csie.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).