Messages in this thread | | | From | Andrew Lunn <> | Subject | [PATCHv6 0/7] Convert exiting EEPROM drivers to NVMEM | Date | Fri, 19 Feb 2016 00:17:35 +0100 |
| |
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.
v3:
Rebase on v4.5-rc1. Add a patch to replace memory_accessor in the setup() callbacks with nvmem API calls
v4:
Rebase on v4.5-rc3 Fix lockdep key in patch #2
v5: Remove useless test Added Acked-bys.
v6: Fix typ0 and stray newline Add tested-by:
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
| |