diff --git a/Documentation/i2c/muxes/gpio-i2cmux b/Documentation/i2c/muxes/i2c-mux-gpio similarity index 85% rename from Documentation/i2c/muxes/gpio-i2cmux rename to Documentation/i2c/muxes/i2c-mux-gpio index 811cd78d4cdc..bd9b2299b739 100644 --- a/Documentation/i2c/muxes/gpio-i2cmux +++ b/Documentation/i2c/muxes/i2c-mux-gpio @@ -1,11 +1,11 @@ -Kernel driver gpio-i2cmux +Kernel driver i2c-gpio-mux Author: Peter Korsgaard Description ----------- -gpio-i2cmux is an i2c mux driver providing access to I2C bus segments +i2c-gpio-mux is an i2c mux driver providing access to I2C bus segments from a master I2C bus and a hardware MUX controlled through GPIO pins. E.G.: @@ -26,16 +26,16 @@ according to the settings of the GPIO pins 1..N. Usage ----- -gpio-i2cmux uses the platform bus, so you need to provide a struct +i2c-gpio-mux uses the platform bus, so you need to provide a struct platform_device with the platform_data pointing to a struct gpio_i2cmux_platform_data with the I2C adapter number of the master bus, the number of bus segments to create and the GPIO pins used -to control it. See include/linux/gpio-i2cmux.h for details. +to control it. See include/linux/i2c-gpio-mux.h for details. E.G. something like this for a MUX providing 4 bus segments controlled through 3 GPIO pins: -#include +#include #include static const unsigned myboard_gpiomux_gpios[] = { @@ -57,7 +57,7 @@ static struct gpio_i2cmux_platform_data myboard_i2cmux_data = { }; static struct platform_device myboard_i2cmux = { - .name = "gpio-i2cmux", + .name = "i2c-gpio-mux", .id = 0, .dev = { .platform_data = &myboard_i2cmux_data, diff --git a/MAINTAINERS b/MAINTAINERS index f0c3b4558381..4241699adea3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2937,9 +2937,9 @@ GENERIC GPIO I2C MULTIPLEXER DRIVER M: Peter Korsgaard L: linux-i2c@vger.kernel.org S: Supported -F: drivers/i2c/muxes/gpio-i2cmux.c -F: include/linux/gpio-i2cmux.h -F: Documentation/i2c/muxes/gpio-i2cmux +F: drivers/i2c/muxes/i2c-mux-gpio.c +F: include/linux/i2c-mux-gpio.h +F: Documentation/i2c/muxes/i2c-mux-gpio GENERIC HDLC (WAN) DRIVERS M: Krzysztof Halasa diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig index e14a4205e5c6..beb2491db274 100644 --- a/drivers/i2c/muxes/Kconfig +++ b/drivers/i2c/muxes/Kconfig @@ -15,7 +15,7 @@ config I2C_MUX_GPIO through GPIO pins. This driver can also be built as a module. If so, the module - will be called gpio-i2cmux. + will be called i2c-mux-gpio. config I2C_MUX_PCA9541 tristate "NXP PCA9541 I2C Master Selector" diff --git a/drivers/i2c/muxes/Makefile b/drivers/i2c/muxes/Makefile index 0868335cff11..5826249b29ca 100644 --- a/drivers/i2c/muxes/Makefile +++ b/drivers/i2c/muxes/Makefile @@ -1,7 +1,7 @@ # # Makefile for multiplexer I2C chip drivers. -obj-$(CONFIG_I2C_MUX_GPIO) += gpio-i2cmux.o +obj-$(CONFIG_I2C_MUX_GPIO) += i2c-mux-gpio.o obj-$(CONFIG_I2C_MUX_PCA9541) += i2c-mux-pca9541.o obj-$(CONFIG_I2C_MUX_PCA954x) += i2c-mux-pca954x.o diff --git a/drivers/i2c/muxes/gpio-i2cmux.c b/drivers/i2c/muxes/i2c-mux-gpio.c similarity index 73% rename from drivers/i2c/muxes/gpio-i2cmux.c rename to drivers/i2c/muxes/i2c-mux-gpio.c index fc5c1ef9b6ec..68b1f8ec3436 100644 --- a/drivers/i2c/muxes/gpio-i2cmux.c +++ b/drivers/i2c/muxes/i2c-mux-gpio.c @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include #include @@ -20,10 +20,10 @@ struct gpiomux { struct i2c_adapter *parent; struct i2c_adapter **adap; /* child busses */ - struct gpio_i2cmux_platform_data data; + struct i2c_mux_gpio_platform_data data; }; -static void gpiomux_set(const struct gpiomux *mux, unsigned val) +static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigned val) { int i; @@ -31,28 +31,28 @@ static void gpiomux_set(const struct gpiomux *mux, unsigned val) gpio_set_value(mux->data.gpios[i], val & (1 << i)); } -static int gpiomux_select(struct i2c_adapter *adap, void *data, u32 chan) +static int i2c_mux_gpio_select(struct i2c_adapter *adap, void *data, u32 chan) { struct gpiomux *mux = data; - gpiomux_set(mux, mux->data.values[chan]); + i2c_mux_gpio_set(mux, mux->data.values[chan]); return 0; } -static int gpiomux_deselect(struct i2c_adapter *adap, void *data, u32 chan) +static int i2c_mux_gpio_deselect(struct i2c_adapter *adap, void *data, u32 chan) { struct gpiomux *mux = data; - gpiomux_set(mux, mux->data.idle); + i2c_mux_gpio_set(mux, mux->data.idle); return 0; } -static int __devinit gpiomux_probe(struct platform_device *pdev) +static int __devinit i2c_mux_gpio_probe(struct platform_device *pdev) { struct gpiomux *mux; - struct gpio_i2cmux_platform_data *pdata; + struct i2c_mux_gpio_platform_data *pdata; struct i2c_adapter *parent; int (*deselect) (struct i2c_adapter *, void *, u32); unsigned initial_state; @@ -86,16 +86,16 @@ static int __devinit gpiomux_probe(struct platform_device *pdev) goto alloc_failed2; } - if (pdata->idle != GPIO_I2CMUX_NO_IDLE) { + if (pdata->idle != I2C_MUX_GPIO_NO_IDLE) { initial_state = pdata->idle; - deselect = gpiomux_deselect; + deselect = i2c_mux_gpio_deselect; } else { initial_state = pdata->values[0]; deselect = NULL; } for (i = 0; i < pdata->n_gpios; i++) { - ret = gpio_request(pdata->gpios[i], "gpio-i2cmux"); + ret = gpio_request(pdata->gpios[i], "i2c-mux-gpio"); if (ret) goto err_request_gpio; gpio_direction_output(pdata->gpios[i], @@ -105,9 +105,8 @@ static int __devinit gpiomux_probe(struct platform_device *pdev) for (i = 0; i < pdata->n_values; i++) { u32 nr = pdata->base_nr ? (pdata->base_nr + i) : 0; - mux->adap[i] = i2c_add_mux_adapter(parent, &pdev->dev, mux, - nr, i, - gpiomux_select, deselect); + mux->adap[i] = i2c_add_mux_adapter(parent, &pdev->dev, mux, nr, i, + i2c_mux_gpio_select, deselect); if (!mux->adap[i]) { ret = -ENODEV; dev_err(&pdev->dev, "Failed to add adapter %d\n", i); @@ -138,7 +137,7 @@ alloc_failed: return ret; } -static int __devexit gpiomux_remove(struct platform_device *pdev) +static int __devexit i2c_mux_gpio_remove(struct platform_device *pdev) { struct gpiomux *mux = platform_get_drvdata(pdev); int i; @@ -157,18 +156,18 @@ static int __devexit gpiomux_remove(struct platform_device *pdev) return 0; } -static struct platform_driver gpiomux_driver = { - .probe = gpiomux_probe, - .remove = __devexit_p(gpiomux_remove), +static struct platform_driver i2c_mux_gpio_driver = { + .probe = i2c_mux_gpio_probe, + .remove = __devexit_p(i2c_mux_gpio_remove), .driver = { .owner = THIS_MODULE, - .name = "gpio-i2cmux", + .name = "i2c-mux-gpio", }, }; -module_platform_driver(gpiomux_driver); +module_platform_driver(i2c_mux_gpio_driver); MODULE_DESCRIPTION("GPIO-based I2C multiplexer driver"); MODULE_AUTHOR("Peter Korsgaard "); MODULE_LICENSE("GPL"); -MODULE_ALIAS("platform:gpio-i2cmux"); +MODULE_ALIAS("platform:i2c-mux-gpio"); diff --git a/include/linux/gpio-i2cmux.h b/include/linux/i2c-mux-gpio.h similarity index 74% rename from include/linux/gpio-i2cmux.h rename to include/linux/i2c-mux-gpio.h index 4a333bb0bd0d..a36343a37ebc 100644 --- a/include/linux/gpio-i2cmux.h +++ b/include/linux/i2c-mux-gpio.h @@ -1,5 +1,5 @@ /* - * gpio-i2cmux interface to platform code + * i2c-mux-gpio interface to platform code * * Peter Korsgaard * @@ -8,14 +8,14 @@ * published by the Free Software Foundation. */ -#ifndef _LINUX_GPIO_I2CMUX_H -#define _LINUX_GPIO_I2CMUX_H +#ifndef _LINUX_I2C_MUX_GPIO_H +#define _LINUX_I2C_MUX_GPIO_H /* MUX has no specific idle mode */ -#define GPIO_I2CMUX_NO_IDLE ((unsigned)-1) +#define I2C_MUX_GPIO_NO_IDLE ((unsigned)-1) /** - * struct gpio_i2cmux_platform_data - Platform-dependent data for gpio-i2cmux + * struct i2c_mux_gpio_platform_data - Platform-dependent data for i2c-mux-gpio * @parent: Parent I2C bus adapter number * @base_nr: Base I2C bus number to number adapters from or zero for dynamic * @values: Array of bitmasks of GPIO settings (low/high) for each @@ -25,7 +25,7 @@ * @n_gpios: Number of GPIOs used to control MUX * @idle: Bitmask to write to MUX when idle or GPIO_I2CMUX_NO_IDLE if not used */ -struct gpio_i2cmux_platform_data { +struct i2c_mux_gpio_platform_data { int parent; int base_nr; const unsigned *values; @@ -35,4 +35,4 @@ struct gpio_i2cmux_platform_data { unsigned idle; }; -#endif /* _LINUX_GPIO_I2CMUX_H */ +#endif /* _LINUX_I2C_MUX_GPIO_H */