• Bartosz Golaszewski's avatar
    eeprom: at24: check if the chip is functional in probe() · 00f0ea70
    Bartosz Golaszewski authored
    The at24 driver doesn't check if the chip is functional in its probe
    function. This leads to instantiating devices that are not physically
    present. For example the cape EEPROMs for BeagleBone Black are defined
    in the device tree at four addresses on i2c2, but normally only one of
    them is present.
    
    If the userspace doesn't know the location in advance, it will need to
    check if reading the nvmem attributes fails to determine which EEPROM
    is actually there.
    
    Try to read a single byte in probe() and bail-out with -ENODEV if the
    read fails.
    Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
    Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
    00f0ea70
at24.c 22.8 KB