[PATCH v3 0/1][SRU][Bionic] add 16-bit width registers support for EEPROM at24 device

AceLan Kao acelan.kao at canonical.com
Mon Jun 1 05:54:30 UTC 2020


BugLink: https://bugs.launchpad.net/bugs/1876699

[Impact]
Larger EEPROM devices that use 16-bit addresses couldn't be accessed.

The i2c/smbus currently only support to access data with 8-bit width of
address. In some larger device, such as larger EEPROM, it requires to
access the address large than 0xff, so it needs to extend address space
to 16-bit width.

[Fix]
This commit is derivated from below commit, and then modified and provided
by customer
https://patchwork.ozlabs.org/patch/545292/

Unfortunately, this commit doesn't get into mainline in the end, so I
migrate the commit to latest kernel and finally get it merged.
https://lkml.org/lkml/2020/4/24/635

[Test]
Verified on Eurotech's platforms.

[Regression Potential]
Low, this patch only changes the behavior of the device which has
AT24_FLAG_ADDR16 flag and change the page_size to 64 if the device name
is 24c256.

Pieri (1):
  UBUNTU: SAUCE: at24-smbus-16bit-address

 drivers/misc/eeprom/Kconfig |   5 +-
 drivers/misc/eeprom/at24.c  | 139 +++++++++++++++++++++++++++++++-----
 2 files changed, 127 insertions(+), 17 deletions(-)

-- 
2.25.1




More information about the kernel-team mailing list