diff options
| author | Jean Delvare <khali@linux-fr.org> | 2012-10-05 22:23:51 +0200 | 
|---|---|---|
| committer | Jean Delvare <khali@endymion.delvare> | 2012-10-05 22:23:51 +0200 | 
| commit | eee543e8248150e8fb833943c71f40c7b1724600 (patch) | |
| tree | 56efec8384b2bca4cf926583b52a7cf6136fa76f /drivers/i2c/muxes/i2c-mux-gpio.c | |
| parent | 5f3d2f2e1a63679cf1c4a4210f2f1cc2f335bef6 (diff) | |
| download | olio-linux-3.10-eee543e8248150e8fb833943c71f40c7b1724600.tar.xz olio-linux-3.10-eee543e8248150e8fb833943c71f40c7b1724600.zip  | |
i2c-mux: Add support for device auto-detection
Let I2C bus segments behind multiplexers have a class. This allows for
device auto-detection on these segments. As long as parent segments
don't share the same class, it should be fine.
I implemented support in drivers i2c-mux-gpio and i2c-mux-pca954x. I
left i2c-mux-pca9541 and i2c-mux-pinctrl alone for the moment as I
don't know if this feature makes sense for the use cases of these
drivers.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Peter Korsgaard <peter.korsgaard@barco.com>
Cc: David Daney <david.daney@cavium.com>
Cc: Michael Lawnick <ml.lawnick@gmx.de>
Cc: Rodolfo Giometti <giometti@linux.it>
Diffstat (limited to 'drivers/i2c/muxes/i2c-mux-gpio.c')
| -rw-r--r-- | drivers/i2c/muxes/i2c-mux-gpio.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c index 68b1f8ec343..56889e00c76 100644 --- a/drivers/i2c/muxes/i2c-mux-gpio.c +++ b/drivers/i2c/muxes/i2c-mux-gpio.c @@ -104,8 +104,10 @@ static int __devinit i2c_mux_gpio_probe(struct platform_device *pdev)  	for (i = 0; i < pdata->n_values; i++) {  		u32 nr = pdata->base_nr ? (pdata->base_nr + i) : 0; +		unsigned int class = pdata->classes ? pdata->classes[i] : 0; -		mux->adap[i] = i2c_add_mux_adapter(parent, &pdev->dev, mux, nr, i, +		mux->adap[i] = i2c_add_mux_adapter(parent, &pdev->dev, mux, nr, +						   i, class,  						   i2c_mux_gpio_select, deselect);  		if (!mux->adap[i]) {  			ret = -ENODEV;  |