[PATCH] i2c: i2c-gpio: fix issue when DT node greater than 1
Stephen Warren
swarren at wwwdotorg.org
Tue Sep 18 10:51:59 EDT 2012
On 09/18/2012 03:02 AM, Bo Shen wrote:
> When i2c-gpio node number is greater than 1, the second can not sucessfully
> regiter
>
> Using alias method to get the pdev->id, or else the second device will use
> the same id which will cause fail to register
pdev->id shouldn't be used at all with device tree. Why does
registration fail without this change?
> diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
> index e62d2d9..051fbb3 100644
> --- a/drivers/i2c/busses/i2c-gpio.c
> +++ b/drivers/i2c/busses/i2c-gpio.c
> @@ -136,6 +136,7 @@ static int __devinit i2c_gpio_probe(struct platform_device *pdev)
> ret = of_i2c_gpio_probe(pdev->dev.of_node, pdata);
> if (ret)
> return ret;
> + pdev->id = of_alias_get_id(pdev->dev.of_node, "i2c-gpio");
> } else {
> if (!pdev->dev.platform_data)
> return -ENXIO;
>
More information about the linux-arm-kernel
mailing list