909f36178a
Previously the driver used more low level operations like iicbus_start and iicbus_write. The problem is that those operations are not implemented by iicbus(4) and the calls were effectively routed to a driver to which the bus is attached. But not all of the controllers implement such low level operations while all of the drivers are expected to have iicbus_transfer. While there fix incorrect implementation of iicsmb_bwrite and iicsmb_bread. The former should send a byte count before the actual bytes, while the latter should first receive the byte count and then receive the bytes. I have tested only these commands: - quick (r/w) - send byte - receive byte - read byte - write byte MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D8170 |
||
---|---|---|
.. | ||
twsi | ||
ad7417.c | ||
ad7418.c | ||
adm1030.c | ||
adt746x.c | ||
ds133x.c | ||
ds1307.c | ||
ds1307reg.h | ||
ds1374.c | ||
ds1631.c | ||
ds1672.c | ||
ds1775.c | ||
ds3231.c | ||
ds3231reg.h | ||
icee.c | ||
if_ic.c | ||
iic.c | ||
iic.h | ||
iicbb_if.m | ||
iicbb.c | ||
iicbus_if.m | ||
iicbus.c | ||
iicbus.h | ||
iicoc.c | ||
iicoc.h | ||
iiconf.c | ||
iiconf.h | ||
iicsmb.c | ||
lm75.c | ||
max6690.c | ||
ofw_iicbus.c | ||
pcf8563.c | ||
pcf8563reg.h | ||
s35390a.c | ||
sy8106a.c |