[PATCHv7 0/7] Convert exiting EEPROM drivers to NVMEM
From: Andrew Lunn
Date: Fri Feb 26 2016 - 14:59:43 EST
This patch set converts the old EEPROM drivers in driver/misc/eeprom to
use the NVMEM framework. These drivers export there content in /sys as
read only to root, since the EEPROM may contain sensitive information.
So the first patch adds a flag so the NVMEM framework will create its
file in /sys as root read only.
To keep backwards compatibility with these older drivers, the contents
of the EEPROM must be exports in sysfs in a file called eeprom in the
devices node in sys, where as the NVMEM places them under class/nvmem.
So add this optional backwards compatible to the framework, again
using a flag.
Then convert the at24, at25 and 93xx46 by adding regmap support,
removing each drivers own /sys code and registering with the NVMEM
framework.
Lastly, the old memory accessor mechanism has been replaced with the
nvmem equivalent.
v7:
Added more acked-by
Added tested-by for patch #7
Rebased onto current misc-char/misc-char-next.
Andrew Lunn (7):
nvmem: Add flag to export NVMEM to root only
nvmem: Add backwards compatibility support for older EEPROM drivers.
eeprom: at24: extend driver to plug into the NVMEM framework
eeprom: at25: Remove in kernel API for accessing the EEPROM
eeprom: at25: extend driver to plug into the NVMEM framework
eeprom: 93xx46: extend driver to plug into the NVMEM framework
misc: at24: replace memory_accessor with nvmem_device_read
arch/arm/mach-davinci/board-mityomapl138.c | 5 +-
arch/arm/mach-davinci/common.c | 4 +-
drivers/misc/eeprom/Kconfig | 6 ++
drivers/misc/eeprom/at24.c | 130 +++++++++++++------------
drivers/misc/eeprom/at25.c | 148 +++++++++++++----------------
drivers/misc/eeprom/eeprom_93xx46.c | 120 +++++++++++++++++------
drivers/nvmem/core.c | 141 +++++++++++++++++++++++++--
include/linux/davinci_emac.h | 4 +-
include/linux/memory.h | 11 ---
include/linux/nvmem-provider.h | 5 +-
include/linux/platform_data/at24.h | 10 +-
include/linux/spi/eeprom.h | 2 -
12 files changed, 384 insertions(+), 202 deletions(-)
--
2.7.0