Skip to content

Commit 85f2901

Browse files
committed
Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang: "This has a mixture of merge window cleanups and bugfixes" * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: st: add include for pinctrl i2c: mux: use proper dev when removing "channel-X" symlinks i2c: digicolor: remove duplicate include i2c: Mark adapter devices with pm_runtime_no_callbacks i2c: pca-platform: fix broken email address i2c: mxs: fix broken email address i2c: rk3x: report number of messages transmitted
2 parents f583381 + fcdd5f0 commit 85f2901

File tree

7 files changed

+18
-14
lines changed

7 files changed

+18
-14
lines changed

drivers/i2c/busses/i2c-digicolor.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,10 @@
1212

1313
#include <linux/clk.h>
1414
#include <linux/completion.h>
15+
#include <linux/delay.h>
1516
#include <linux/i2c.h>
1617
#include <linux/interrupt.h>
1718
#include <linux/io.h>
18-
#include <linux/clk.h>
19-
#include <linux/delay.h>
2019
#include <linux/kernel.h>
2120
#include <linux/module.h>
2221
#include <linux/of.h>

drivers/i2c/busses/i2c-mxs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -913,7 +913,7 @@ static void __exit mxs_i2c_exit(void)
913913
module_exit(mxs_i2c_exit);
914914

915915
MODULE_AUTHOR("Marek Vasut <[email protected]>");
916-
MODULE_AUTHOR("Wolfram Sang <w.sang@pengutronix.de>");
916+
MODULE_AUTHOR("Wolfram Sang <kernel@pengutronix.de>");
917917
MODULE_DESCRIPTION("MXS I2C Bus Driver");
918918
MODULE_LICENSE("GPL");
919919
MODULE_ALIAS("platform:" DRIVER_NAME);

drivers/i2c/busses/i2c-pca-platform.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,6 @@ static struct platform_driver i2c_pca_pf_driver = {
285285

286286
module_platform_driver(i2c_pca_pf_driver);
287287

288-
MODULE_AUTHOR("Wolfram Sang <w.sang@pengutronix.de>");
288+
MODULE_AUTHOR("Wolfram Sang <kernel@pengutronix.de>");
289289
MODULE_DESCRIPTION("I2C-PCA9564/PCA9665 platform driver");
290290
MODULE_LICENSE("GPL");

drivers/i2c/busses/i2c-rk3x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -833,7 +833,7 @@ static int rk3x_i2c_xfer(struct i2c_adapter *adap,
833833
clk_disable(i2c->clk);
834834
spin_unlock_irqrestore(&i2c->lock, flags);
835835

836-
return ret;
836+
return ret < 0 ? ret : num;
837837
}
838838

839839
static u32 rk3x_i2c_func(struct i2c_adapter *adap)

drivers/i2c/busses/i2c-st.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,18 @@
1010
* published by the Free Software Foundation.
1111
*/
1212

13-
#include <linux/module.h>
14-
#include <linux/platform_device.h>
15-
#include <linux/i2c.h>
1613
#include <linux/clk.h>
17-
#include <linux/io.h>
1814
#include <linux/delay.h>
19-
#include <linux/interrupt.h>
2015
#include <linux/err.h>
21-
#include <linux/of.h>
16+
#include <linux/i2c.h>
17+
#include <linux/interrupt.h>
18+
#include <linux/io.h>
19+
#include <linux/module.h>
2220
#include <linux/of_address.h>
2321
#include <linux/of_irq.h>
22+
#include <linux/of.h>
23+
#include <linux/pinctrl/consumer.h>
24+
#include <linux/platform_device.h>
2425

2526
/* SSC registers */
2627
#define SSC_BRG 0x000

drivers/i2c/i2c-core.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1413,6 +1413,8 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
14131413

14141414
dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name);
14151415

1416+
pm_runtime_no_callbacks(&adap->dev);
1417+
14161418
#ifdef CONFIG_I2C_COMPAT
14171419
res = class_compat_create_link(i2c_adapter_compat_class, &adap->dev,
14181420
adap->dev.parent);

drivers/i2c/i2c-mux.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ struct i2c_mux_priv {
3232
struct i2c_algorithm algo;
3333

3434
struct i2c_adapter *parent;
35-
void *mux_priv; /* the mux chip/device */
36-
u32 chan_id; /* the channel id */
35+
struct device *mux_dev;
36+
void *mux_priv;
37+
u32 chan_id;
3738

3839
int (*select)(struct i2c_adapter *, void *mux_priv, u32 chan_id);
3940
int (*deselect)(struct i2c_adapter *, void *mux_priv, u32 chan_id);
@@ -119,6 +120,7 @@ struct i2c_adapter *i2c_add_mux_adapter(struct i2c_adapter *parent,
119120

120121
/* Set up private adapter data */
121122
priv->parent = parent;
123+
priv->mux_dev = mux_dev;
122124
priv->mux_priv = mux_priv;
123125
priv->chan_id = chan_id;
124126
priv->select = select;
@@ -203,7 +205,7 @@ void i2c_del_mux_adapter(struct i2c_adapter *adap)
203205
char symlink_name[20];
204206

205207
snprintf(symlink_name, sizeof(symlink_name), "channel-%u", priv->chan_id);
206-
sysfs_remove_link(&adap->dev.parent->kobj, symlink_name);
208+
sysfs_remove_link(&priv->mux_dev->kobj, symlink_name);
207209

208210
sysfs_remove_link(&priv->adap.dev.kobj, "mux_device");
209211
i2c_del_adapter(adap);

0 commit comments

Comments
 (0)