Re: [PATCH 1/5 v3] i2c/gpio: add DT support
From: Karol Lewandowski <hidden>
Date: 2012-03-08 10:52:00
Also in:
linux-arm-kernel, linux-i2c
From: Karol Lewandowski <hidden>
Date: 2012-03-08 10:52:00
Also in:
linux-arm-kernel, linux-i2c
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_.