aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/i2c/muxes/i2c-mux-gpio20
1 files changed, 10 insertions, 10 deletions
diff --git a/Documentation/i2c/muxes/i2c-mux-gpio b/Documentation/i2c/muxes/i2c-mux-gpio
index d4d91a53fc39..7a8d7d261632 100644
--- a/Documentation/i2c/muxes/i2c-mux-gpio
+++ b/Documentation/i2c/muxes/i2c-mux-gpio
@@ -1,11 +1,11 @@
1Kernel driver i2c-gpio-mux 1Kernel driver i2c-mux-gpio
2 2
3Author: Peter Korsgaard <peter.korsgaard@barco.com> 3Author: Peter Korsgaard <peter.korsgaard@barco.com>
4 4
5Description 5Description
6----------- 6-----------
7 7
8i2c-gpio-mux is an i2c mux driver providing access to I2C bus segments 8i2c-mux-gpio is an i2c mux driver providing access to I2C bus segments
9from a master I2C bus and a hardware MUX controlled through GPIO pins. 9from a master I2C bus and a hardware MUX controlled through GPIO pins.
10 10
11E.G.: 11E.G.:
@@ -26,16 +26,16 @@ according to the settings of the GPIO pins 1..N.
26Usage 26Usage
27----- 27-----
28 28
29i2c-gpio-mux uses the platform bus, so you need to provide a struct 29i2c-mux-gpio uses the platform bus, so you need to provide a struct
30platform_device with the platform_data pointing to a struct 30platform_device with the platform_data pointing to a struct
31gpio_i2cmux_platform_data with the I2C adapter number of the master 31i2c_mux_gpio_platform_data with the I2C adapter number of the master
32bus, the number of bus segments to create and the GPIO pins used 32bus, the number of bus segments to create and the GPIO pins used
33to control it. See include/linux/i2c-gpio-mux.h for details. 33to control it. See include/linux/i2c-mux-gpio.h for details.
34 34
35E.G. something like this for a MUX providing 4 bus segments 35E.G. something like this for a MUX providing 4 bus segments
36controlled through 3 GPIO pins: 36controlled through 3 GPIO pins:
37 37
38#include <linux/i2c-gpio-mux.h> 38#include <linux/i2c-mux-gpio.h>
39#include <linux/platform_device.h> 39#include <linux/platform_device.h>
40 40
41static const unsigned myboard_gpiomux_gpios[] = { 41static const unsigned myboard_gpiomux_gpios[] = {
@@ -46,7 +46,7 @@ static const unsigned myboard_gpiomux_values[] = {
46 0, 1, 2, 3 46 0, 1, 2, 3
47}; 47};
48 48
49static struct gpio_i2cmux_platform_data myboard_i2cmux_data = { 49static struct i2c_mux_gpio_platform_data myboard_i2cmux_data = {
50 .parent = 1, 50 .parent = 1,
51 .base_nr = 2, /* optional */ 51 .base_nr = 2, /* optional */
52 .values = myboard_gpiomux_values, 52 .values = myboard_gpiomux_values,
@@ -57,7 +57,7 @@ static struct gpio_i2cmux_platform_data myboard_i2cmux_data = {
57}; 57};
58 58
59static struct platform_device myboard_i2cmux = { 59static struct platform_device myboard_i2cmux = {
60 .name = "i2c-gpio-mux", 60 .name = "i2c-mux-gpio",
61 .id = 0, 61 .id = 0,
62 .dev = { 62 .dev = {
63 .platform_data = &myboard_i2cmux_data, 63 .platform_data = &myboard_i2cmux_data,
@@ -66,14 +66,14 @@ static struct platform_device myboard_i2cmux = {
66 66
67If you don't know the absolute GPIO pin numbers at registration time, 67If you don't know the absolute GPIO pin numbers at registration time,
68you can instead provide a chip name (.chip_name) and relative GPIO pin 68you can instead provide a chip name (.chip_name) and relative GPIO pin
69numbers, and the i2c-gpio-mux driver will do the work for you, 69numbers, and the i2c-mux-gpio driver will do the work for you,
70including deferred probing if the GPIO chip isn't immediately 70including deferred probing if the GPIO chip isn't immediately
71available. 71available.
72 72
73Device Registration 73Device Registration
74------------------- 74-------------------
75 75
76When registering your i2c-gpio-mux device, you should pass the number 76When registering your i2c-mux-gpio device, you should pass the number
77of any GPIO pin it uses as the device ID. This guarantees that every 77of any GPIO pin it uses as the device ID. This guarantees that every
78instance has a different ID. 78instance has a different ID.
79 79