diff options
author | Baruch Siach <baruch@tkos.co.il> | 2019-08-05 09:03:30 +0300 |
---|---|---|
committer | Heiko Schocher <hs@denx.de> | 2019-08-27 06:26:49 +0200 |
commit | 5ae84860b0428b37063a6d7b03cae26a4e772da7 (patch) | |
tree | 93c4681cd9a1d10264fc6d1cf5e917b26259578b /drivers/misc | |
parent | d7d864017d7f21a4cc3ff2a902024724c26ad213 (diff) | |
download | u-boot-5ae84860b0428b37063a6d7b03cae26a4e772da7.tar.gz |
misc: i2c_eeprom: verify that the chip is functional at probe()
Read a single byte from EEPROM to verify that it is actually there.
This is equivalent to Linux kernel commit 00f0ea70d2b8 ("eeprom: at24:
check if the chip is functional in probe()").
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
hs: fixed style check prefer kernel type 'u8' over 'uint8_t'
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/i2c_eeprom.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/misc/i2c_eeprom.c b/drivers/misc/i2c_eeprom.c index f25d054007..8f2349ad5a 100644 --- a/drivers/misc/i2c_eeprom.c +++ b/drivers/misc/i2c_eeprom.c @@ -84,6 +84,14 @@ static int i2c_eeprom_std_ofdata_to_platdata(struct udevice *dev) static int i2c_eeprom_std_probe(struct udevice *dev) { + u8 test_byte; + int ret; + + /* Verify that the chip is functional */ + ret = i2c_eeprom_read(dev, 0, &test_byte, 1); + if (ret) + return -ENODEV; + return 0; } |