aboutsummaryrefslogtreecommitdiff
path: root/drivers/misc/eeprom/Kconfig
AgeCommit message (Collapse)AuthorFilesLines
2024-07-04eeprom: ee1004: Add nvmem supportArmin Wolf1-0/+2
Currently the driver does not register a nvmem provider, which means that userspace programs cannot access the ee1004 EEPROM through the standard nvmem sysfs API. Fix this by replacing the custom sysfs attribute with a standard nvmem interface, which also takes care of backwards compatibility. Tested on a Dell Inspiron 3505. Signed-off-by: Armin Wolf <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2023-10-05eeprom: Remove deprecated legacy eeprom driverHeiner Kallweit1-14/+0
Driver was marked deprecated 4 years ago, so it's time to remove it. This driver is the only i2c client driver using class I2C_CLASS_SPD. Apparently, as a follow-up step, we can remove I2C_CLASS_SPD altogether. Signed-off-by: Heiner Kallweit <[email protected]> Reviewed-by: Jean Delvare <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2023-06-08eeprom: at24: also select REGMAPRandy Dunlap1-0/+1
Selecting only REGMAP_I2C can leave REGMAP unset, causing build errors, so also select REGMAP to prevent the build errors. ../drivers/misc/eeprom/at24.c:540:42: warning: 'struct regmap_config' declared inside parameter list will not be visible outside of this definition or declaration 540 | struct regmap_config *regmap_config) ../drivers/misc/eeprom/at24.c: In function 'at24_make_dummy_client': ../drivers/misc/eeprom/at24.c:552:18: error: implicit declaration of function 'devm_regmap_init_i2c' [-Werror=implicit-function-declaration] 552 | regmap = devm_regmap_init_i2c(dummy_client, regmap_config); ../drivers/misc/eeprom/at24.c:552:16: warning: assignment to 'struct regmap *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 552 | regmap = devm_regmap_init_i2c(dummy_client, regmap_config); ../drivers/misc/eeprom/at24.c: In function 'at24_probe': ../drivers/misc/eeprom/at24.c:586:16: error: variable 'regmap_config' has initializer but incomplete type 586 | struct regmap_config regmap_config = { }; ../drivers/misc/eeprom/at24.c:586:30: error: storage size of 'regmap_config' isn't known 586 | struct regmap_config regmap_config = { }; ../drivers/misc/eeprom/at24.c:586:30: warning: unused variable 'regmap_config' [-Wunused-variable] Fixes: 5c015258478e ("eeprom: at24: add basic regmap_i2c support") Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
2021-06-11nvmem: prepare basics for FRAM supportJiri Prchal1-2/+3
Added enum and string for FRAM (ferroelectric RAM) to expose it as file named "fram". Added documentation of sysfs file. Signed-off-by: Jiri Prchal <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2019-09-04eeprom: Deprecate the legacy eeprom driverJean Delvare1-1/+4
Time has come to get rid of the old eeprom driver. The at24 driver should be used instead. So mark the eeprom driver as deprecated and give users some time to migrate. Then we can remove the legacy eeprom driver completely. Signed-off-by: Jean Delvare <[email protected]> Cc: Arnd Bergmann <[email protected]> Link: https://lore.kernel.org/r/20190902104838.058725c2@endymion Signed-off-by: Greg Kroah-Hartman <[email protected]>
2019-07-25eeprom: make older eeprom drivers select NVMEM_SYSFSArseny Solokha1-0/+3
misc/eeprom/{at24,at25,eeprom_93xx46} drivers all register their corresponding devices in the nvmem framework in compat mode which requires nvmem sysfs interface to be present. The latter, however, has been split out from nvmem under a separate Kconfig in commit ae0c2d725512 ("nvmem: core: add NVMEM_SYSFS Kconfig"). As a result, probing certain I2C-attached EEPROMs now fails with at24: probe of 0-0050 failed with error -38 because of a stub implementation of nvmem_sysfs_setup_compat() in drivers/nvmem/nvmem.h. Update the nvmem dependency for these drivers so they could load again: at24 0-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write Cc: Adrian Bunk <[email protected]> Cc: Bartosz Golaszewski <[email protected]> Cc: Srinivas Kandagatla <[email protected]> Cc: [email protected] # v5.2+ Signed-off-by: Arseny Solokha <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2019-05-21treewide: Add SPDX license identifier - Makefile/KconfigThomas Gleixner1-0/+1
Add SPDX license identifiers to all Make/Kconfig files which: - Have no license information of any form These files fall under the project license, GPL v2 only. The resulting SPDX license identifier is: GPL-2.0-only Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-12-10eeprom: at24: add support for 24c2048Adrian Bunk1-1/+1
Works with ST M24M02. Signed-off-by: Adrian Bunk <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
2018-10-15eeprom: New ee1004 driver for DDR4 memoryJean Delvare1-0/+11
The EEPROMs which hold the SPD data on DDR4 memory modules are no longer standard AT24C02-compatible EEPROMs. They are 512-byte EEPROMs which use only 1 I2C address for data access. You need to switch between the lower page and the upper page of data by sending commands on the SMBus. Signed-off-by: Jean Delvare <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-01-01eeprom: at24: add basic regmap_i2c supportHeiner Kallweit1-0/+1
This patch adds basic regmap support to be used by subsequent patches of this series. Signed-off-by: Heiner Kallweit <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
2017-01-19eeprom: Add IDT 89HPESx EEPROM/CSR driverSerge Semin1-0/+10
This driver provides an access to EEPROM of IDT PCIe-switches. IDT PCIe- switches expose a simple SMBus interface to perform IO-operations from/to EEPROM, which is located at private (so called Master) SMBus. The driver creates a simple binary sysfs-file to have an access to the EEPROM using the SMBus-slave interface in the i2c-device susfs-directory: /sys/bus/i2c/devices/<bus>-<devaddr>/eeprom In case if read-only flag is specified at dts-node of the device, User-space applications won't be able to write to the EEPROM sysfs-node. Additionally IDT 89HPESx SMBus interface has an ability to read/write values of device CSRs. This driver exposes debugfs-file to perform simple IO-operations using that ability for just basic debug purpose. Particularly the next file is created in the specific debugfs-directory: /sys/kernel/debug/idt_csr/ Format of the debugfs-file value is: $ cat /sys/kernel/debug/idt_csr/<bus>-<devaddr>/<devname>; <CSR address>:<CSR value> So reading the content of the file gives current CSR address and it value. If User-space application wishes to change current CSR address, it can just write a proper value to the sysfs-file: $ echo "<CSR address>" > /sys/kernel/debug/idt_csr/<bus>-<devaddr>/<devname> If it wants to change the CSR value as well, the format of the write operation is: $ echo "<CSR address>:<CSR value>" > \ /sys/kernel/debug/idt_csr/<bus>-<devaddr>/<devname>; CSR address and value can be any of hexadecimal, decimal or octal format. Signed-off-by: Serge Semin <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-05-01eeprom: at25: remove nvmem regmap dependencySrinivas Kandagatla1-1/+0
This patch moves to nvmem support in the driver to use callback instead of regmap. Signed-off-by: Srinivas Kandagatla <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-05-01eeprom: at24: remove nvmem regmap dependencySrinivas Kandagatla1-1/+0
This patch moves to nvmem support in the driver to use callback instead of regmap. Signed-off-by: Srinivas Kandagatla <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-03-01eeprom: 93xx46: extend driver to plug into the NVMEM frameworkAndrew Lunn1-0/+2
Add a regmap for accessing the EEPROM, and then use that with the NVMEM framework. Enable backward compatibility in the NVMEM config structure, so that the 'eeprom' file in sys is provided by the framework. Signed-off-by: Andrew Lunn <[email protected]> Acked-by: Srinivas Kandagatla <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-03-01eeprom: at25: extend driver to plug into the NVMEM frameworkAndrew Lunn1-0/+2
Add a regmap for accessing the EEPROM, and then use that with the NVMEM framework. Enable backwards compatibility in the NVMEM config, so that the 'eeprom' file in sys is provided by the framework. Signed-off-by: Andrew Lunn <[email protected]> Acked-by: Srinivas Kandagatla <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-03-01eeprom: at24: extend driver to plug into the NVMEM frameworkAndrew Lunn1-0/+2
Add a regmap for accessing the EEPROM, and then use that with the NVMEM framework. Set the NVMEM config structure to enable backward, so that the 'eeprom' file in sys is provided by the framework. Signed-off-by: Andrew Lunn <[email protected]> Acked-by: Srinivas Kandagatla <[email protected]> Tested-by: Bartosz Golaszewski <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-08-05nvmem: sunxi: Move the SID driver to the nvmem frameworkMaxime Ripard1-13/+0
Now that we have the nvmem framework, we can consolidate the common driver code. Move the driver to the framework, and hopefully, it will fix the sysfs file creation race. Signed-off-by: Maxime Ripard <[email protected]> [srinivas.kandagatla: Moved to regmap based EEPROM framework] Signed-off-by: Srinivas Kandagatla <[email protected]> Tested-by: Philipp Zabel <[email protected]> Tested-by: Rajendra Nayak <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-09-26ARM: sunxi: Initial support for Allwinner's Security ID fusesOliver Schinagl1-0/+13
Allwinner has electric fuses (efuse) on their line of chips. This driver reads those fuses, seeds the kernel entropy and exports them as a sysfs node. These fuses are most likely to be programmed at the factory, encoding things like Chip ID, some sort of serial number, etc. and appear to be reasonably unique. While in theory, these should be writeable by the user, it will probably be inconvenient to do so. Allwinner recommends that a certain input pin, labeled 'efuse_vddq', be connected to GND. To write these fuses however, a 2.5 V programming voltage needs to be applied to this pin. Even so, they can still be used to generate a board-unique mac from, board unique RSA key and seed the kernel RNG. On sun7i additional storage is available, this is initially used for an UEFI BOOT key, Secure JTAG key, HDMI-HDCP key and vendor specific keys. Currently supported are the following known chips: Allwinner sun4i (A10) Allwinner sun5i (A10s, A13) Allwinner sun7i (A20) Signed-off-by: Oliver Schinagl <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-01-28drivers: misc: at24: mention other supported types in KconfigLars Poeschel1-5/+6
As the at24 driver is able handle a bunch of serial storage chips other than EEPROMs this is now mentioned in Kconfig. Signed-off-by: Lars Poeschel <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
2012-09-18char/misc: remove CONFIG_EXPERIMENTAL dependenciesGreg Kroah-Hartman1-1/+1
As discussed at the kernel summit this year, CONFIG_EXPERIMENTAL means nothing, so let's get rid of it. Cc: Kees Cook <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Tomas Winkler <[email protected]> Cc: Jiri Kosina <[email protected]> Cc: Paul Bolle <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Anatolij Gustschin <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-11-15drivers/misc/eeprom: fix dependecy on 'PPC_MPC5200_GPIO'Paul Bolle1-1/+1
The driver for the DigsyMTC display configuration EEPROMs device got added by commit 469dded183 ("misc/eeprom: add eeprom access driver for digsy_mtc board"). Its Kconfig symbol depends on PPC_MPC5200_GPIO. But at the time that driver got added PPC_MPC5200_GPIO was already renamed to GPIO_MPC5200, by commit 6eae1ace68 ("gpio: Move mpc5200 gpio driver to drivers/gpio"). So make this driver depend on GPIO_MPC5200. And since GPIO_MPC5200 itself implies that GPIOLIB is set, that dependency can be dropped. Signed-off-by: Paul Bolle <[email protected]> Acked-by: Anatolij Gustschin <[email protected]> Cc: Grant Likely <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-07-25misc/eeprom: add eeprom access driver for digsy_mtc boardAnatolij Gustschin1-0/+12
Both displays on digsy_mtc board obtain their configuration from microwire EEPROMs which are connected to the SoC over GPIO lines. We need an easy way to access the EEPROMs to write the needed display configuration or to read out the currently programmed configuration. The generic eeprom_93xx46 SPI driver added by previous patch allows EEPROM access over sysfs. Using the simple driver added by this patch we provide used GPIO interface and access control description on the board for generic eeprom_93xx46 driver and spi_gpio driver. Signed-off-by: Anatolij Gustschin <[email protected]> Cc: Jonathan Cameron <[email protected]> Cc: Grant Likely <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-07-25misc/eeprom: add driver for microwire 93xx46 EEPROMsAnatolij Gustschin1-0/+13
Add EEPROM driver for 93xx46 chips. It can also be used with spi_gpio driver to access 93xx46 EEPROMs connected over GPIO lines. This driver supports read/write/erase access to the EEPROM chips over sysfs files. [[email protected]: fix printk format] Signed-off-by: Anatolij Gustschin <[email protected]> Cc: Jonathan Cameron <[email protected]> Cc: Grant Likely <[email protected]> Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-06-15i2c/chips: Move max6875 to drivers/misc/eepromWolfram Sang1-0/+14
This driver only reads the user EEPROM of that chip, so we can move it to the eeprom-directory in order to further clean up (and later remove) drivers/i2c/chips. The Kconfig text was updated to match the current functionality, dropping the meanwhile obsoleted parts. Defconfigs have been adapted. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Ben Gardner <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2009-03-28eeprom/at24: Remove EXPERIMENTALWolfram Sang1-1/+1
This driver has been widely used since inclusion and no problems have been reported. Signed-off-by: Wolfram Sang <[email protected]> Cc: David Brownell <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2009-01-26eeprom: More consistent symbol namesJean Delvare1-4/+4
Now that all EEPROM drivers live in the same place, let's harmonize their symbol names. Also fix eeprom's dependencies, it definitely needs sysfs, and is no longer experimental after many years in the kernel tree. Signed-off-by: Jean Delvare <[email protected]> Acked-by: Wolfram Sang <[email protected]> Cc: David Brownell <[email protected]>
2009-01-26eeprom: Move 93cx6 eeprom driver to /drivers/misc/eepromWolfram Sang1-0/+8
Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2009-01-26spi: Move at25 (for SPI eeproms) to /drivers/misc/eepromWolfram Sang1-0/+11
Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2009-01-26i2c: Move old eeprom driver to /drivers/misc/eepromWolfram Sang1-0/+11
Update Kconfig text to specify this driver as I2C. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Jean Delvare <[email protected]>
2009-01-26i2c: Move at24 to drivers/misc/eepromWolfram Sang1-0/+29
As drivers/i2c/chips is going to go away, move the driver to drivers/misc/eeprom. Other eeprom drivers may be moved here later, too. Update Kconfig text to specify this driver as I2C. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Jean Delvare <[email protected]>