freebsd-skq/sys/dev/iicbus
Andriy Gapon f1519c0157 convert iicsmb to use iicbus_transfer for all operations
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
2016-10-13 07:25:18 +00:00
..
twsi EXTRES: Add OF node as argument to all <foo>_get_by_ofw_<bar>() functions. 2016-07-10 18:28:15 +00:00
ad7417.c
ad7418.c
adm1030.c
adt746x.c Use OF_prop_free instead of direct call to free(9) 2016-05-14 20:06:38 +00:00
ds133x.c sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ds1307.c Fix ds1307 probing 2016-09-24 05:27:12 +00:00
ds1307reg.h Add support for the Microchip mcp7941x. 2016-04-05 03:27:33 +00:00
ds1374.c
ds1631.c
ds1672.c
ds1775.c
ds3231.c
ds3231reg.h Fix the deciKelvin to Celsius conversion in kernel. 2016-05-22 13:58:32 +00:00
icee.c Add FDT compatibility to the icee driver. 2015-10-22 01:04:31 +00:00
if_ic.c sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
iic.c iic_rdwr_data->nmsgs is uint32_t, so limit the allowable number of messages to prevent memory exhaustion and short allocations on 32-bit systems. Since iicrdwr is intended to be a workalike of a Linux i2c-dev call, use the same limit of 42 that Linux uses. 2016-05-20 03:03:04 +00:00
iic.h iic_rdwr_data->nmsgs is uint32_t, so limit the allowable number of messages to prevent memory exhaustion and short allocations on 32-bit systems. Since iicrdwr is intended to be a workalike of a Linux i2c-dev call, use the same limit of 42 that Linux uses. 2016-05-20 03:03:04 +00:00
iicbb_if.m Remove a couple of extra blank lines. 2016-05-22 04:09:05 +00:00
iicbb.c iicbus: Use device_delete_children() instead of explicit child removal 2015-10-20 19:52:59 +00:00
iicbus_if.m
iicbus.c Implement iicbus_write_ivar and impelemnt the NOSTOP ivar in both read 2016-10-02 17:36:55 +00:00
iicbus.h
iicoc.c Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere(). 2016-02-27 03:38:01 +00:00
iicoc.h
iiconf.c Remove a couple of extra blank lines. 2016-05-22 04:09:05 +00:00
iiconf.h sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
iicsmb.c convert iicsmb to use iicbus_transfer for all operations 2016-10-13 07:25:18 +00:00
lm75.c Fix the deciKelvin to Celsius conversion in kernel. 2016-05-22 13:58:32 +00:00
max6690.c
ofw_iicbus.c INTRNG: Rework handling with resources. Partially revert r301453. 2016-08-19 10:52:39 +00:00
pcf8563.c
pcf8563reg.h
s35390a.c
sy8106a.c Add driver for Silergy Corp. SY8106A buck regulator. 2016-09-05 13:39:54 +00:00