diff options
Diffstat (limited to 'drivers/i2c/muxes')
-rw-r--r-- | drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 2 | ||||
-rw-r--r-- | drivers/i2c/muxes/i2c-mux-gpio.c | 10 | ||||
-rw-r--r-- | drivers/i2c/muxes/i2c-mux-pinctrl.c | 1 |
3 files changed, 7 insertions, 6 deletions
diff --git a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c index 928656e241dd..c58e093b6032 100644 --- a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c +++ b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c | |||
@@ -238,7 +238,7 @@ static struct platform_driver i2c_arbitrator_driver = { | |||
238 | .driver = { | 238 | .driver = { |
239 | .owner = THIS_MODULE, | 239 | .owner = THIS_MODULE, |
240 | .name = "i2c-arb-gpio-challenge", | 240 | .name = "i2c-arb-gpio-challenge", |
241 | .of_match_table = of_match_ptr(i2c_arbitrator_of_match), | 241 | .of_match_table = i2c_arbitrator_of_match, |
242 | }, | 242 | }, |
243 | }; | 243 | }; |
244 | 244 | ||
diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c index a764da777f08..8a8c56f4b026 100644 --- a/drivers/i2c/muxes/i2c-mux-gpio.c +++ b/drivers/i2c/muxes/i2c-mux-gpio.c | |||
@@ -30,15 +30,15 @@ static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigned val) | |||
30 | int i; | 30 | int i; |
31 | 31 | ||
32 | for (i = 0; i < mux->data.n_gpios; i++) | 32 | for (i = 0; i < mux->data.n_gpios; i++) |
33 | gpio_set_value(mux->gpio_base + mux->data.gpios[i], | 33 | gpio_set_value_cansleep(mux->gpio_base + mux->data.gpios[i], |
34 | val & (1 << i)); | 34 | val & (1 << i)); |
35 | } | 35 | } |
36 | 36 | ||
37 | static int i2c_mux_gpio_select(struct i2c_adapter *adap, void *data, u32 chan) | 37 | static int i2c_mux_gpio_select(struct i2c_adapter *adap, void *data, u32 chan) |
38 | { | 38 | { |
39 | struct gpiomux *mux = data; | 39 | struct gpiomux *mux = data; |
40 | 40 | ||
41 | i2c_mux_gpio_set(mux, mux->data.values[chan]); | 41 | i2c_mux_gpio_set(mux, chan); |
42 | 42 | ||
43 | return 0; | 43 | return 0; |
44 | } | 44 | } |
@@ -228,7 +228,7 @@ static int i2c_mux_gpio_probe(struct platform_device *pdev) | |||
228 | unsigned int class = mux->data.classes ? mux->data.classes[i] : 0; | 228 | unsigned int class = mux->data.classes ? mux->data.classes[i] : 0; |
229 | 229 | ||
230 | mux->adap[i] = i2c_add_mux_adapter(parent, &pdev->dev, mux, nr, | 230 | mux->adap[i] = i2c_add_mux_adapter(parent, &pdev->dev, mux, nr, |
231 | i, class, | 231 | mux->data.values[i], class, |
232 | i2c_mux_gpio_select, deselect); | 232 | i2c_mux_gpio_select, deselect); |
233 | if (!mux->adap[i]) { | 233 | if (!mux->adap[i]) { |
234 | ret = -ENODEV; | 234 | ret = -ENODEV; |
@@ -283,7 +283,7 @@ static struct platform_driver i2c_mux_gpio_driver = { | |||
283 | .driver = { | 283 | .driver = { |
284 | .owner = THIS_MODULE, | 284 | .owner = THIS_MODULE, |
285 | .name = "i2c-mux-gpio", | 285 | .name = "i2c-mux-gpio", |
286 | .of_match_table = of_match_ptr(i2c_mux_gpio_of_match), | 286 | .of_match_table = i2c_mux_gpio_of_match, |
287 | }, | 287 | }, |
288 | }; | 288 | }; |
289 | 289 | ||
diff --git a/drivers/i2c/muxes/i2c-mux-pinctrl.c b/drivers/i2c/muxes/i2c-mux-pinctrl.c index 68a37157377d..d7978dc4ad0b 100644 --- a/drivers/i2c/muxes/i2c-mux-pinctrl.c +++ b/drivers/i2c/muxes/i2c-mux-pinctrl.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/i2c-mux-pinctrl.h> | 24 | #include <linux/i2c-mux-pinctrl.h> |
25 | #include <linux/platform_device.h> | 25 | #include <linux/platform_device.h> |
26 | #include <linux/slab.h> | 26 | #include <linux/slab.h> |
27 | #include <linux/of.h> | ||
27 | 28 | ||
28 | struct i2c_mux_pinctrl { | 29 | struct i2c_mux_pinctrl { |
29 | struct device *dev; | 30 | struct device *dev; |