coreboot-kgpe-d16/src
Nico Huber 581738642f Reinvent I2C ops
Do not use the global platform_i2c_transfer() function that can only be
implemented by a single driver. Instead, make a `struct device` aware
transfer() function the only interface function for I2C controller dri-
vers to implement.

To not force the slave device drivers to be implemented either above
generic I2C or specialized SMBus operations, we support SMBus control-
lers in the slave device interface too.

We start with four simple slave functions: i2c_readb(), i2c_writeb(),
i2c_readb_at() and i2c_writeb_at(). They are all compatible to respec-
tive SMBus functions. But we keep aliases because it would be weird to
force e.g. an I2C EEPROM driver to call smbus_read_byte().

Change-Id: I98386f91bf4799ba3df84ec8bc0f64edd4142818
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/20846
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
2017-08-18 15:33:45 +00:00
..
acpi src/acpi: Add guards on all header files 2017-08-01 23:04:27 +00:00
arch include/device: Split i2c.h into three 2017-08-18 15:33:29 +00:00
commonlib Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
console console: Add weak method to notify about death 2017-08-14 11:01:41 +00:00
cpu include/device: Split i2c.h into three 2017-08-18 15:33:29 +00:00
device Reinvent I2C ops 2017-08-18 15:33:45 +00:00
drivers include/device: Split i2c.h into three 2017-08-18 15:33:29 +00:00
ec include/device: Split i2c.h into three 2017-08-18 15:33:29 +00:00
include Reinvent I2C ops 2017-08-18 15:33:45 +00:00
lib lib/cbmem: provide optional cbmem top initialization hook 2017-08-04 04:29:57 +00:00
mainboard include/device: Split i2c.h into three 2017-08-18 15:33:29 +00:00
northbridge AGESA: Cleanup ACPI S3 support 2017-08-16 22:06:51 +00:00
soc Reinvent I2C ops 2017-08-18 15:33:45 +00:00
southbridge AGESA: Cleanup ACPI S3 support 2017-08-16 22:06:51 +00:00
superio superio/winbond/w83977tf: Drop early_serial.c 2017-08-15 21:03:34 +00:00
vboot vboot: Remove get_sw_write_protect_state callback 2017-07-18 23:24:01 +00:00
vendorcode AGESA f15tn: Fix MemContext buffer parser for AmdInitPost() 2017-08-16 22:06:57 +00:00
Kconfig Add support for Undefined Behavior Sanitizer 2017-06-14 19:56:59 +02:00