[PatchV2 0/6] Convert exiting EEPROM drivers to NVMEM

From: Andrew Lunn
Date: Mon Dec 21 2015 - 03:22:28 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.

AT24 and 93xx46 has been boot tested, at25 compile tested only.

v2:

nvmem_register() now supports a backwards compatible flag, and the
Kconfig option has been removed.

Andrew Lunn (6):
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

drivers/misc/eeprom/Kconfig | 6 ++
drivers/misc/eeprom/at24.c | 121 +++++++++++++++++++----------
drivers/misc/eeprom/at25.c | 148 +++++++++++++++++-------------------
drivers/misc/eeprom/eeprom_93xx46.c | 122 ++++++++++++++++++++++-------
drivers/nvmem/core.c | 134 +++++++++++++++++++++++++++++---
include/linux/nvmem-provider.h | 5 +-
include/linux/spi/eeprom.h | 2 -
7 files changed, 378 insertions(+), 160 deletions(-)

--
2.6.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/