coreboot-kgpe-d16/src/include/device
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
..
dram device/dram/ddr3.h: Add brackets around macro 2017-06-22 15:21:49 +00:00
azalia.h src/include: Remove use of binary constants 2017-03-13 17:22:59 +01:00
azalia_device.h src/include: Wrap lines at 80 columns 2017-03-13 17:23:37 +01:00
cardbus.h
device.h device/pci: untangle struct device and device_t 2017-08-09 17:47:18 +00:00
drm_dp_helper.h
early_smbus.h include/device/early_smbus.h: Declare smbus write function 2016-11-23 22:52:58 +01:00
hypertransport.h
hypertransport_def.h src/include: Wrap lines at 80 columns 2017-03-13 17:23:37 +01:00
i2c.h include/device: Split i2c.h into three 2017-08-18 15:33:29 +00:00
i2c_bus.h Reinvent I2C ops 2017-08-18 15:33:45 +00:00
i2c_simple.h include/device: Split i2c.h into three 2017-08-18 15:33:29 +00:00
path.h src/include: Open brace on same line as enum or struct 2017-03-12 15:46:23 +01:00
pci.h device/pci: untangle struct device and device_t 2017-08-09 17:47:18 +00:00
pci_def.h src/include: Wrap lines at 80 columns 2017-03-13 17:23:37 +01:00
pci_ehci.h usbdebug: Refactor early enable 2017-08-07 12:35:42 +00:00
pci_ids.h src/include: Add guards on all header files 2017-08-01 23:04:15 +00:00
pci_ops.h PCI ops: Remove pci_mmio_xx() in ramstage 2016-12-06 20:47:49 +01:00
pci_rom.h src/include: Wrap lines at 80 columns 2017-03-13 17:23:37 +01:00
pciexp.h
pcix.h
pnp.h device/pnp: remove struct io_info 2017-06-13 15:21:58 +02:00
pnp_def.h
resource.h lib: provide clearer devicetree semantics 2017-04-25 18:14:38 +02:00
smbus.h device/smbus: Drop some never used boilerplate 2017-08-15 13:20:59 +00:00
smbus_def.h Reinvent I2C ops 2017-08-18 15:33:45 +00:00
spi.h device: Add a new "SPI" device type 2017-02-16 08:41:28 +01:00