Thread (1 message) 1 message, 1 author, 2012-10-15

Re: [PATCH] i2c: i2c-gpio: fix issue when DT node greater than 1

From: Jean-Christophe PLAGNIOL-VILLARD <hidden>
Date: 2012-10-15 05:55:30
Also in: linux-arm-kernel, linux-i2c

On 10:59 Mon 15 Oct     , Bo Shen wrote:
Hi Jean Delvare,

On 10/10/2012 10:54, Bo Shen wrote:
quoted
Hi Jean Delvare,

On 9/19/2012 23:54, Jean Delvare wrote:
quoted
On Wed, 19 Sep 2012 09:28:04 -0600, Stephen Warren wrote:
quoted
On 09/18/2012 07:15 PM, Bo Shen wrote:
quoted
I add the debug info, and it give the following error without this
patch.

--<8----------------------------------
adap->name = i2c-gpio-1
i2c-gpio i2c.2: using pins 30 (SDA) and 31 (SCL)
adap->name = i2c-gpio-1
i2c-gpio: probe of i2c.3 failed with error -16
-->8----------------------------------

With this patch, it successfully registered.
--<8----------------------------------
adap->name = i2c-gpio0
i2c-gpio i2c.2: using pins 30 (SDA) and 31 (SCL)
adap->name = i2c-gpio1
i2c-gpio i2c.3: using pins 90 (SDA) and 91 (SCL)
-->8----------------------------------
Yes, that explains why the registration fails, but not why this patch is
the correct solution to the problem.

The problematic code appears to be:

snprintf(adap->name, sizeof(adap->name), "i2c-gpio%d", pdev->id);

Instead, I think that should be something more like:

adap->name = dev_name(&pdev->dev);
strlcpy(adap->name, dev_name(&pdev->dev), sizeof(adap->name))
if anything, as adap->name is a buffer, not a pointer.
I am sorry for late. I have tested with DT, it works.

Please send this patch to fix the issue.
Thanks.
Ping?

Will you send this patch? Or, I send this patch and add your S.O.B,
which do you prefer?
do it

Best Regards,
J.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help