[PATCH 1/5 v3] i2c/gpio: add DT support
Karol Lewandowski
k.lewandowsk at samsung.com
Thu Mar 8 05:52:00 EST 2012
On 08.03.2012 09:50, Jean-Christophe PLAGNIOL-VILLARD wrote:
> +static int __devinit of_i2c_gpio_probe(struct device_node *np,
> + struct i2c_gpio_platform_data *pdata)
> +{
> + u32 reg;
> +
> + if (of_gpio_count(np) < 2)
> + return -ENODEV;
> +
> + pdata->sda_pin = of_get_gpio(np, 0);
> + pdata->scl_pin = of_get_gpio(np, 1);
> +
> + if (pdata->sda_pin < 0 || pdata->scl_pin < 0) {
> + pr_err("%s: invalid GPIO pins, sda=%d/scl=%d\n",
> + np->full_name, pdata->sda_pin, pdata->scl_pin);
> + return -ENODEV;
> + }
> +
> + of_property_read_u32(np, "i2c-gpio,delay-us", &pdata->udelay);
> +
> + if (of_property_read_u32(np, "i2c-gpio,timeout-ms", ®))
> + pdata->timeout = msecs_to_jiffies(reg);
I've already said (two times!) that of_property_read_u32() returns
nonzero (negative) error code on _error_.
Don't you see obvious error in above code fragment?
You assign to pdata->timeout on _error_.
More information about the linux-arm-kernel
mailing list