diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-18 18:50:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-18 18:50:07 -0500 |
commit | 13509c3a9d20a9df93dc9b944e8bd20fe1b454a7 (patch) | |
tree | d7a97d1d10e88bcb93852cb0143a000710e9e246 /drivers/i2c/muxes | |
parent | 1ea406c0e08c717241275064046d29b5bac1b1db (diff) | |
parent | cfff1f4a9367bfe0d88413e8807f8369e9564729 (diff) |
Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c changes from Wolfram Sang:
- new drivers for exynos5, bcm kona, and st micro
- bigger overhauls for drivers mxs and rcar
- typical driver bugfixes, cleanups, improvements
- got rid of the superfluous 'driver' member in i2c_client struct This
touches a few drivers in other subsystems. All acked.
* 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (38 commits)
i2c: bcm-kona: fix error return code in bcm_kona_i2c_probe()
i2c: i2c-eg20t: do not print error message in syslog if no ACK received
i2c: bcm-kona: Introduce Broadcom I2C Driver
i2c: cbus-gpio: Fix device tree binding
i2c: wmt: add missing clk_disable_unprepare() on error
i2c: designware: add new ACPI IDs
i2c: i801: Add Device IDs for Intel Wildcat Point-LP PCH
i2c: exynos5: Remove incorrect clk_disable_unprepare
i2c: i2c-st: Add ST I2C controller
i2c: exynos5: add High Speed I2C controller driver
i2c: rcar: fixup rcar type naming
i2c: scmi: remove some bogus NULL checks
i2c: sh_mobile & rcar: Enable the driver on all ARM platforms
i2c: sh_mobile: Convert to clk_prepare/unprepare
i2c: mux: gpio: use reg value for i2c_add_mux_adapter
i2c: mux: gpio: use gpio_set_value_cansleep()
i2c: Include linux/of.h header
i2c: mxs: Fix PIO mode on i.MX23
i2c: mxs: Rework the PIO mode operation
i2c: mxs: distinguish i.MX23 and i.MX28 based I2C controller
...
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; |