lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 16 Sep 2018 15:08:46 +0100 From: Srinivas Kandagatla <srinivas.kandagatla@...aro.org> To: Bartosz Golaszewski <brgl@...ev.pl>, "David S . Miller" <davem@...emloft.net>, Mauro Carvalho Chehab <mchehab+samsung@...nel.org>, Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Andrew Morton <akpm@...ux-foundation.org>, Arnd Bergmann <arnd@...db.de>, Jonathan Corbet <corbet@....net>, Sekhar Nori <nsekhar@...com>, Kevin Hilman <khilman@...nel.org>, David Lechner <david@...hnology.com>, Boris Brezillon <boris.brezillon@...tlin.com>, Andrew Lunn <andrew@...n.ch>, Alban Bedel <albeu@...e.fr>, Maxime Ripard <maxime.ripard@...tlin.com>, Chen-Yu Tsai <wens@...e.org> Cc: linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, Bartosz Golaszewski <bgolaszewski@...libre.com> Subject: Re: [PATCH v4 00/22] nvmem: rework of the subsystem for non-DT users On 14/09/18 15:39, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bgolaszewski@...libre.com> > > NOTE: I decided to post v4 despite no new reviews from Srinivas as I'll > be off next week. There were a couple issues reported by the kbuild bot > and one bug I noticed after sending v3. > > 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. > > Patch 7 changes the errno returned from the driver after kzalloc() > fails from -EINVAL to -ENOMEM which makes more sense. > > Patches 8-10 convert last remaining users of nvmem_unregister() who > still check its return value to using devm_nvmem_unregister() and > patch 11 changes its return value from int to void. > > Patches 12-15 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 16 updates the documentation. > > Patch 17 adds support for notifiers to nvmem so that users can > subscribe for events such as device or cell registration or removal. > > Patches 18 & 19 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 > > v3 -> v4: > - fixed the notifier chain call when removing nvmem devices: call the > notifier chain for NVMEM_REMOVE before releasing any resources > - added patch 7/22 ("sunxi_sid: return -ENOMEM if kzalloc() fails") > - fixed the return value in error path for patch 8/22 ("sunxi_sid: use > devm_nvmem_register())" > - fixed the return value of devm_nvmem_unregister() in > patch 11/22 ("change the signature of nvmem_unregister()") > > Bartosz Golaszewski (22): > 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: sunxi_sid: return -ENOMEM if kzalloc() fails > nvmem: sunxi_sid: use devm_nvmem_register() > nvmem: lpc18xx_eeprom: 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 Thanks for working on this! Nice work! Overall the patchset looks good! I will send these to Greg KH along with other nvmem patches sometime this week! -srini
Powered by blists - more mailing lists