• Sven Van Asbroeck's avatar
    eeprom: at24: convert magic numbers to structs · b680f4fa
    Sven Van Asbroeck authored
    Fundamental properties such as capacity and page size differ among
    at24-type chips. But these chips do not have an id register, so this
    can't be discovered at runtime.
    
    Traditionally, at24-type eeprom properties were determined in two ways:
    - by passing a 'struct at24_platform_data' via platform_data, or
    - by naming the chip type in the devicetree, which passes a 'magic
      number' to probe(), which is then converted to a 'struct
      at24_platform_data'.
    
    Recently a bug was discovered because the magic number rounds down all
    chip sizes to the lowest power of two. This was addressed by
    a work-around commit 5478e478 ("eeprom: at24: correctly set the
    size for at24mac402"), with the wish that magic numbers should over
    time be converted to structs.
    
    This patch replaces the magic numbers with 'struct at24_chip_data'.
    Signed-off-by: default avatarSven Van Asbroeck <svendev@arcx.com>
    Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
    b680f4fa
at24.c 21.3 KB