nvmem: Add a simple NVMEM framework for nvmem providers

This patch adds just providers part of the framework just to enable easy
review.

Up until now, NVMEM drivers like eeprom 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.

This 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.

Having regmap interface to this framework would give much better
abstraction for nvmems on different buses.

Signed-off-by: Maxime Ripard <[email protected]>
[Maxime Ripard: intial version of eeprom framework]
Signed-off-by: Srinivas Kandagatla <[email protected]>
Tested-by: Stefan Wahren <[email protected]>
Tested-by: Philipp Zabel <[email protected]>
Tested-by: Rajendra Nayak <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
Srinivas Kandagatla 2015-07-27 12:13:19 +01:00 • committed by Greg Kroah-Hartman
commit eace75cfdc
7 changed files with 498 additions and 0 deletions

View file

@ -184,4 +184,6 @@ source "drivers/android/Kconfig"
source "drivers/nvdimm/Kconfig"
source "drivers/nvmem/Kconfig"
endmenu