From: Kyungwoo Kang Date: Tue, 23 Apr 2019 01:31:22 +0000 (+0900) Subject: [ERD][NEUS7920-226] [COMMON] i2c: core: Add client data for multi mode slave devices X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=83ddf69a9507275c1e6cb5fee93436a788f9c4e8;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [ERD][NEUS7920-226] [COMMON] i2c: core: Add client data for multi mode slave devices Change-Id: Ie43d3c5c80281fe542383de9176918a6a0e50d15 Signed-off-by: Kyungwoo Kang --- diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c index e1f44549ff1e..bc43b8fec992 100644 --- a/drivers/i2c/i2c-core-base.c +++ b/drivers/i2c/i2c-core-base.c @@ -1983,6 +1983,7 @@ int i2c_master_send(const struct i2c_client *client, const char *buf, int count) msg.flags = client->flags & I2C_M_TEN; msg.len = count; msg.buf = (char *)buf; + msg.freq = client->frequency; ret = i2c_transfer(adap, &msg, 1); diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 16a1635f2f68..9a6e6f157b5d 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -239,6 +239,7 @@ struct i2c_driver { * managing the device. */ struct i2c_client { + unsigned int frequency; unsigned short flags; /* div., see below */ unsigned short addr; /* chip address - NOTE: 7bit */ /* addresses are stored in the */ diff --git a/include/uapi/linux/i2c.h b/include/uapi/linux/i2c.h index fe648032d6b9..dfbc8bf02134 100644 --- a/include/uapi/linux/i2c.h +++ b/include/uapi/linux/i2c.h @@ -80,6 +80,7 @@ struct i2c_msg { #define I2C_M_STOP 0x8000 /* if I2C_FUNC_PROTOCOL_MANGLING */ __u16 len; /* msg length */ __u8 *buf; /* pointer to msg data */ + unsigned int freq; }; /* To determine what functionality is present */