diff options
Diffstat (limited to 'drivers/i2c/i2c-mux.c')
-rw-r--r-- | drivers/i2c/i2c-mux.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/i2c/i2c-mux.c b/drivers/i2c/i2c-mux.c index d7a4833be416..26ab31dd742b 100644 --- a/drivers/i2c/i2c-mux.c +++ b/drivers/i2c/i2c-mux.c | |||
@@ -31,11 +31,11 @@ struct i2c_mux_priv { | |||
31 | struct i2c_algorithm algo; | 31 | struct i2c_algorithm algo; |
32 | 32 | ||
33 | struct i2c_adapter *parent; | 33 | struct i2c_adapter *parent; |
34 | void *mux_dev; /* the mux chip/device */ | 34 | void *mux_priv; /* the mux chip/device */ |
35 | u32 chan_id; /* the channel id */ | 35 | u32 chan_id; /* the channel id */ |
36 | 36 | ||
37 | int (*select)(struct i2c_adapter *, void *mux_dev, u32 chan_id); | 37 | int (*select)(struct i2c_adapter *, void *mux_priv, u32 chan_id); |
38 | int (*deselect)(struct i2c_adapter *, void *mux_dev, u32 chan_id); | 38 | int (*deselect)(struct i2c_adapter *, void *mux_priv, u32 chan_id); |
39 | }; | 39 | }; |
40 | 40 | ||
41 | static int i2c_mux_master_xfer(struct i2c_adapter *adap, | 41 | static int i2c_mux_master_xfer(struct i2c_adapter *adap, |
@@ -47,11 +47,11 @@ static int i2c_mux_master_xfer(struct i2c_adapter *adap, | |||
47 | 47 | ||
48 | /* Switch to the right mux port and perform the transfer. */ | 48 | /* Switch to the right mux port and perform the transfer. */ |
49 | 49 | ||
50 | ret = priv->select(parent, priv->mux_dev, priv->chan_id); | 50 | ret = priv->select(parent, priv->mux_priv, priv->chan_id); |
51 | if (ret >= 0) | 51 | if (ret >= 0) |
52 | ret = parent->algo->master_xfer(parent, msgs, num); | 52 | ret = parent->algo->master_xfer(parent, msgs, num); |
53 | if (priv->deselect) | 53 | if (priv->deselect) |
54 | priv->deselect(parent, priv->mux_dev, priv->chan_id); | 54 | priv->deselect(parent, priv->mux_priv, priv->chan_id); |
55 | 55 | ||
56 | return ret; | 56 | return ret; |
57 | } | 57 | } |
@@ -67,12 +67,12 @@ static int i2c_mux_smbus_xfer(struct i2c_adapter *adap, | |||
67 | 67 | ||
68 | /* Select the right mux port and perform the transfer. */ | 68 | /* Select the right mux port and perform the transfer. */ |
69 | 69 | ||
70 | ret = priv->select(parent, priv->mux_dev, priv->chan_id); | 70 | ret = priv->select(parent, priv->mux_priv, priv->chan_id); |
71 | if (ret >= 0) | 71 | if (ret >= 0) |
72 | ret = parent->algo->smbus_xfer(parent, addr, flags, | 72 | ret = parent->algo->smbus_xfer(parent, addr, flags, |
73 | read_write, command, size, data); | 73 | read_write, command, size, data); |
74 | if (priv->deselect) | 74 | if (priv->deselect) |
75 | priv->deselect(parent, priv->mux_dev, priv->chan_id); | 75 | priv->deselect(parent, priv->mux_priv, priv->chan_id); |
76 | 76 | ||
77 | return ret; | 77 | return ret; |
78 | } | 78 | } |
@@ -87,7 +87,8 @@ static u32 i2c_mux_functionality(struct i2c_adapter *adap) | |||
87 | } | 87 | } |
88 | 88 | ||
89 | struct i2c_adapter *i2c_add_mux_adapter(struct i2c_adapter *parent, | 89 | struct i2c_adapter *i2c_add_mux_adapter(struct i2c_adapter *parent, |
90 | void *mux_dev, u32 force_nr, u32 chan_id, | 90 | struct device *mux_dev, |
91 | void *mux_priv, u32 force_nr, u32 chan_id, | ||
91 | int (*select) (struct i2c_adapter *, | 92 | int (*select) (struct i2c_adapter *, |
92 | void *, u32), | 93 | void *, u32), |
93 | int (*deselect) (struct i2c_adapter *, | 94 | int (*deselect) (struct i2c_adapter *, |
@@ -102,7 +103,7 @@ struct i2c_adapter *i2c_add_mux_adapter(struct i2c_adapter *parent, | |||
102 | 103 | ||
103 | /* Set up private adapter data */ | 104 | /* Set up private adapter data */ |
104 | priv->parent = parent; | 105 | priv->parent = parent; |
105 | priv->mux_dev = mux_dev; | 106 | priv->mux_priv = mux_priv; |
106 | priv->chan_id = chan_id; | 107 | priv->chan_id = chan_id; |
107 | priv->select = select; | 108 | priv->select = select; |
108 | priv->deselect = deselect; | 109 | priv->deselect = deselect; |