mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 03:35:32 -04:00
eeprom: move nvmem EEPROM drivers to drivers/nvmem/
For historical reasons EEPROM drivers have lived under drivers/misc/eeprom/. Also for historical reasons changes to most of them would go through the char-misc tree while some would be queued through the I2C tree. Over the years some of them have also been converted to using nvmem - the dedicated subsystem for non-volatile memory - while get_maintainer.pl does not Cc the maintainer of nvmem on patches changing them. Move the EEPROM drivers using nvmem under drivers/nvmem/ for consistency of the review process and path upstream. Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Signed-off-by: Srinivas Kandagatla <srini@kernel.org> Link: https://patch.msgid.link/20260729094647.111468-11-srini@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b594cbb7e8
commit
cf09b7a056
@@ -4176,11 +4176,11 @@ F: include/linux/async_tx.h
|
||||
|
||||
AT24 EEPROM DRIVER
|
||||
M: Bartosz Golaszewski <brgl@kernel.org>
|
||||
L: linux-i2c@vger.kernel.org
|
||||
L: linux-kernel@vger.kernel.org
|
||||
S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
|
||||
F: Documentation/devicetree/bindings/eeprom/at24.yaml
|
||||
F: drivers/misc/eeprom/at24.c
|
||||
F: drivers/nvmem/at24.c
|
||||
|
||||
ATA OVER ETHERNET (AOE) DRIVER
|
||||
M: "Justin Sanders" <justin@coraid.com>
|
||||
|
||||
@@ -1,52 +1,6 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
menu "EEPROM support"
|
||||
|
||||
config EEPROM_AT24
|
||||
tristate "I2C EEPROMs / RAMs / ROMs from most vendors"
|
||||
depends on I2C && SYSFS
|
||||
select NVMEM
|
||||
select NVMEM_SYSFS
|
||||
select REGMAP
|
||||
select REGMAP_I2C
|
||||
help
|
||||
Enable this driver to get read/write support to most I2C EEPROMs
|
||||
and compatible devices like FRAMs, SRAMs, ROMs etc. After you
|
||||
configure the driver to know about each chip on your target
|
||||
board. Use these generic chip names, instead of vendor-specific
|
||||
ones like at24c64, 24lc02 or fm24c04:
|
||||
|
||||
24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08,
|
||||
24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024, 24c2048
|
||||
|
||||
Unless you like data loss puzzles, always be sure that any chip
|
||||
you configure as a 24c32 (32 kbit) or larger is NOT really a
|
||||
24c16 (16 kbit) or smaller, and vice versa. Marking the chip
|
||||
as read-only won't help recover from this. Also, if your chip
|
||||
has any software write-protect mechanism you may want to review the
|
||||
code to make sure this driver won't turn it on by accident.
|
||||
|
||||
If you use this with an SMBus adapter instead of an I2C adapter,
|
||||
full functionality is not available. Only smaller devices are
|
||||
supported (24c16 and below, max 4 kByte).
|
||||
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called at24.
|
||||
|
||||
config EEPROM_AT25
|
||||
tristate "SPI EEPROMs (FRAMs) from most vendors"
|
||||
depends on SPI && SYSFS
|
||||
select NVMEM
|
||||
select NVMEM_SYSFS
|
||||
select SPI_MEM
|
||||
help
|
||||
Enable this driver to get read/write support to most SPI EEPROMs
|
||||
and Cypress FRAMs,
|
||||
after you configure the board init code to know about each eeprom
|
||||
on your target board.
|
||||
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called at25.
|
||||
|
||||
config EEPROM_MAX6875
|
||||
tristate "Maxim MAX6874/5 power supply supervisor"
|
||||
depends on I2C
|
||||
@@ -69,22 +23,6 @@ config EEPROM_93CX6
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config EEPROM_93XX46
|
||||
tristate "Microwire EEPROM 93XX46 support"
|
||||
depends on SPI && SYSFS
|
||||
select REGMAP
|
||||
select NVMEM
|
||||
select NVMEM_SYSFS
|
||||
help
|
||||
Driver for the microwire EEPROM chipsets 93xx46x. The driver
|
||||
supports both read and write commands and also the command to
|
||||
erase the whole EEPROM.
|
||||
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called eeprom_93xx46.
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config EEPROM_DIGSY_MTC_CFG
|
||||
bool "DigsyMTC display configuration EEPROMs device"
|
||||
depends on GPIO_MPC5200 && SPI_GPIO
|
||||
@@ -107,35 +45,4 @@ config EEPROM_IDT_89HPESX
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called idt_89hpesx.
|
||||
|
||||
config EEPROM_EE1004
|
||||
tristate "SPD EEPROMs on DDR4 memory modules"
|
||||
depends on I2C && SYSFS
|
||||
select NVMEM
|
||||
select NVMEM_SYSFS
|
||||
help
|
||||
Enable this driver to get read support to SPD EEPROMs following
|
||||
the JEDEC EE1004 standard. These are typically found on DDR4
|
||||
SDRAM memory modules.
|
||||
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called ee1004.
|
||||
|
||||
config EEPROM_M24LR
|
||||
tristate "STMicroelectronics M24LR RFID/NFC EEPROM support"
|
||||
depends on I2C && SYSFS
|
||||
select REGMAP_I2C
|
||||
select NVMEM
|
||||
select NVMEM_SYSFS
|
||||
help
|
||||
This enables support for STMicroelectronics M24LR RFID/NFC EEPROM
|
||||
chips. These dual-interface devices expose two I2C addresses:
|
||||
one for EEPROM memory access and another for control and system
|
||||
configuration (e.g. UID, password handling).
|
||||
|
||||
This driver provides a sysfs interface for control functions and
|
||||
integrates with the nvmem subsystem for EEPROM access.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called m24lr.
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
obj-$(CONFIG_EEPROM_AT24) += at24.o
|
||||
obj-$(CONFIG_EEPROM_AT25) += at25.o
|
||||
obj-$(CONFIG_EEPROM_MAX6875) += max6875.o
|
||||
obj-$(CONFIG_EEPROM_93CX6) += eeprom_93cx6.o
|
||||
obj-$(CONFIG_EEPROM_93XX46) += eeprom_93xx46.o
|
||||
obj-$(CONFIG_EEPROM_DIGSY_MTC_CFG) += digsy_mtc_eeprom.o
|
||||
obj-$(CONFIG_EEPROM_IDT_89HPESX) += idt_89hpesx.o
|
||||
obj-$(CONFIG_EEPROM_EE1004) += ee1004.o
|
||||
obj-$(CONFIG_EEPROM_M24LR) += m24lr.o
|
||||
|
||||
@@ -28,6 +28,93 @@ source "drivers/nvmem/layouts/Kconfig"
|
||||
|
||||
# Devices
|
||||
|
||||
if NVMEM_SYSFS
|
||||
|
||||
config EEPROM_AT24
|
||||
tristate "I2C EEPROMs / RAMs / ROMs from most vendors"
|
||||
depends on I2C && SYSFS
|
||||
select REGMAP
|
||||
select REGMAP_I2C
|
||||
help
|
||||
Enable this driver to get read/write support to most I2C EEPROMs
|
||||
and compatible devices like FRAMs, SRAMs, ROMs etc. After you
|
||||
configure the driver to know about each chip on your target
|
||||
board. Use these generic chip names, instead of vendor-specific
|
||||
ones like at24c64, 24lc02 or fm24c04:
|
||||
|
||||
24c00, 24c01, 24c02, spd (readonly 24c02), 24c04, 24c08,
|
||||
24c16, 24c32, 24c64, 24c128, 24c256, 24c512, 24c1024, 24c2048
|
||||
|
||||
Unless you like data loss puzzles, always be sure that any chip
|
||||
you configure as a 24c32 (32 kbit) or larger is NOT really a
|
||||
24c16 (16 kbit) or smaller, and vice versa. Marking the chip
|
||||
as read-only won't help recover from this. Also, if your chip
|
||||
has any software write-protect mechanism you may want to review the
|
||||
code to make sure this driver won't turn it on by accident.
|
||||
|
||||
If you use this with an SMBus adapter instead of an I2C adapter,
|
||||
full functionality is not available. Only smaller devices are
|
||||
supported (24c16 and below, max 4 kByte).
|
||||
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called at24.
|
||||
|
||||
config EEPROM_AT25
|
||||
tristate "SPI EEPROMs (FRAMs) from most vendors"
|
||||
depends on SPI && SYSFS
|
||||
select SPI_MEM
|
||||
help
|
||||
Enable this driver to get read/write support to most SPI EEPROMs
|
||||
and Cypress FRAMs,
|
||||
after you configure the board init code to know about each eeprom
|
||||
on your target board.
|
||||
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called at25.
|
||||
|
||||
config EEPROM_93XX46
|
||||
tristate "Microwire EEPROM 93XX46 support"
|
||||
depends on SPI && SYSFS
|
||||
select REGMAP
|
||||
help
|
||||
Driver for the microwire EEPROM chipsets 93xx46x. The driver
|
||||
supports both read and write commands and also the command to
|
||||
erase the whole EEPROM.
|
||||
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called eeprom_93xx46.
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config EEPROM_EE1004
|
||||
tristate "SPD EEPROMs on DDR4 memory modules"
|
||||
depends on I2C && SYSFS
|
||||
help
|
||||
Enable this driver to get read support to SPD EEPROMs following
|
||||
the JEDEC EE1004 standard. These are typically found on DDR4
|
||||
SDRAM memory modules.
|
||||
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called ee1004.
|
||||
|
||||
config EEPROM_M24LR
|
||||
tristate "STMicroelectronics M24LR RFID/NFC EEPROM support"
|
||||
depends on I2C && SYSFS
|
||||
select REGMAP_I2C
|
||||
help
|
||||
This enables support for STMicroelectronics M24LR RFID/NFC EEPROM
|
||||
chips. These dual-interface devices expose two I2C addresses:
|
||||
one for EEPROM memory access and another for control and system
|
||||
configuration (e.g. UID, password handling).
|
||||
|
||||
This driver provides a sysfs interface for control functions and
|
||||
integrates with the nvmem subsystem for EEPROM access.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called m24lr.
|
||||
|
||||
endif # NVMEM_SYSFS
|
||||
|
||||
config NVMEM_AIROHA_SMC_EFUSES
|
||||
tristate "Airoha SMC eFuse support"
|
||||
depends on ARCH_AIROHA || COMPILE_TEST
|
||||
|
||||
@@ -10,6 +10,11 @@ nvmem_layouts-y := layouts.o
|
||||
obj-y += layouts/
|
||||
|
||||
# Devices
|
||||
obj-$(CONFIG_EEPROM_AT24) += at24.o
|
||||
obj-$(CONFIG_EEPROM_AT25) += at25.o
|
||||
obj-$(CONFIG_EEPROM_93XX46) += eeprom_93xx46.o
|
||||
obj-$(CONFIG_EEPROM_EE1004) += ee1004.o
|
||||
obj-$(CONFIG_EEPROM_M24LR) += m24lr.o
|
||||
obj-$(CONFIG_NVMEM_AIROHA_SMC_EFUSES) += nvmem-airoha-smc-efuses.o
|
||||
nvmem-airoha-smc-efuses-y := airoha-smc-efuses.o
|
||||
obj-$(CONFIG_NVMEM_AN8855_EFUSE) += nvmem-an8855-efuse.o
|
||||
|
||||
Reference in New Issue
Block a user