From: Baruch Siach Date: Mon, 5 Aug 2019 06:03:30 +0000 (+0300) Subject: misc: i2c_eeprom: verify that the chip is functional at probe() X-Git-Tag: v2019.10-rc4~33^2 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5ae84860b0428b37063a6d7b03cae26a4e772da7;p=oweals%2Fu-boot.git 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 Signed-off-by: Baruch Siach hs: fixed style check prefer kernel type 'u8' over 'uint8_t' --- 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; }