On Thu, 14 Jun 2007 08:24:17 +0200, Jean Delvare <[EMAIL PROTECTED]> wrote: > > + if (pdev->id == -1) > > + ret = i2c_bit_add_bus(adap); > > + else > > + ret = i2c_bit_add_numbered_bus(adap); > > if (ret) > > goto err_add_bus; > > > > This isn't sufficient. Before you call i2c_bit_add_numbered_bus(adap), > you are supposed to set adap->nr to the desired i2c adapter number.
Oh, indeed. That worked for me just I only used bus number 0. Here is a revised patch. Subject: [PATCH] i2c-gpio: Add support for new-style clients (take 2) Use i2c_bit_add_numbered_bus() if platform_device id specified, so that the i2c-gpio adapter works well with new-style pre-declared devices. Signed-off-by: Atsushi Nemoto <[EMAIL PROTECTED]> --- diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c index a7dd546..88c5735 100644 --- a/drivers/i2c/busses/i2c-gpio.c +++ b/drivers/i2c/busses/i2c-gpio.c @@ -142,7 +142,12 @@ static int __init i2c_gpio_probe(struct platform_device *pdev) adap->algo_data = bit_data; adap->dev.parent = &pdev->dev; - ret = i2c_bit_add_bus(adap); + if (pdev->id == -1) + ret = i2c_bit_add_bus(adap); + else { + adap->nr = pdev->id; + ret = i2c_bit_add_numbered_bus(adap); + } if (ret) goto err_add_bus; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/