stats: i2c: I2C stats

Adds the ability for I2C drivers to report synchronous transfer stats
using a I2C specific macro to define the device instance.

The macro creates a container for device_state which allows for per
instance device class common data structure to be used in the device
class api (ex: i2c.h). This is used to maintain per driver instance
stats for all i2c drivers. This is a reusable idea across other device
classes as desired.

Using Kconfig device class stats may be turned on/off individually
this way as well, in this case I2C_STATS.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
This commit is contained in:
Tom Burdick 2021-10-27 15:07:10 -05:00 committed by Anas Nashif
commit 7b1349cfe6
37 changed files with 253 additions and 66 deletions

View file

@ -38,7 +38,7 @@ static int vnd_i2c_init(const struct device *dev)
}
#define VND_I2C_INIT(n) \
DEVICE_DT_INST_DEFINE(n, &vnd_i2c_init, NULL, \
I2C_DEVICE_DT_INST_DEFINE(n, vnd_i2c_init, NULL, \
NULL, NULL, POST_KERNEL, \
CONFIG_KERNEL_INIT_PRIORITY_DEVICE, \
&vnd_i2c_api);