All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarkko Nikula <jarkko.nikula@linux.intel.com>
To: Yann Sionneau <yann@sionneau.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Jan Dabros <jsd@semihalf.com>, Andi Shyti <andi.shyti@kernel.org>
Cc: linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	Yann Sionneau <ysionneau@kalray.eu>
Subject: Re: [PATCH v2] i2c: designware: add support for pinctrl for recovery
Date: Fri, 18 Aug 2023 16:51:57 +0300	[thread overview]
Message-ID: <49384d62-7c5c-41d7-bbbd-b9aee5d1d0a3@linux.intel.com> (raw)
In-Reply-To: <685b10d2-7627-eea8-69e4-454af039fa5d@sionneau.net>

On 8/17/23 17:27, Yann Sionneau wrote:
> Hi
> 
> Le 17/08/2023 à 10:07, Jarkko Nikula a écrit :
>> Hi
>>
>> On 8/16/23 12:50, Yann Sionneau wrote:
>>> From: Yann Sionneau <ysionneau@kalray.eu>
>>>
>>> Currently if the SoC needs pinctrl to switch the SCL and SDA
>>> from the I2C function to GPIO function, the recovery won't work.
>>>
>>> scl-gpio = <>;
>>> sda-gpio = <>;
>>>
>>> Are not enough for some SoCs to have a working recovery.
>>> Some need:
>>>
>>> scl-gpio = <>;
>>> sda-gpio = <>;
>>> pinctrl-names = "default", "recovery";
>>> pinctrl-0 = <&i2c_pins_hw>;
>>> pinctrl-1 = <&i2c_pins_gpio>;
>>>
>>> The driver was not filling rinfo->pinctrl with the device node
>>> pinctrl data which is needed by generic recovery code.
>>>
>>> Tested-by: Yann Sionneau <ysionneau@kalray.eu>
>>> Signed-off-by: Yann Sionneau <ysionneau@kalray.eu>
>>
>> Tested-by from author is needless. Expectation is that author has 
>> tested the patch while not always true :-)
> Ok, I just wanted to emphasize the fact that I have the device and I 
> tested the change with the device. Ack!
>>
>>> @@ -905,6 +906,15 @@ static int i2c_dw_init_recovery_info(struct 
>>> dw_i2c_dev *dev)
>>>           return PTR_ERR(gpio);
>>>       rinfo->sda_gpiod = gpio;
>>>   +    rinfo->pinctrl = devm_pinctrl_get(dev->dev);
>>> +    if (IS_ERR(rinfo->pinctrl)) {
>>> +        if (PTR_ERR(rinfo->pinctrl) == -EPROBE_DEFER)
>>> +            return PTR_ERR(rinfo->pinctrl);
>>> +
>>> +        rinfo->pinctrl = NULL;
>>> +        dev_info(dev->dev, "can't get pinctrl, bus recovery might 
>>> not work\n");
>>
>> I think dev_dbg() suits better here or is it needed at all? End user 
>> may not be able to do anything when sees this in dmesg. I.e. more like 
>> development time dev_dbg() information.
> I agree dev_dbg() is a better idea.
>>
>> Does i2c-core-base.c: i2c_gpio_init_pinctrl_recovery() already do 
>> dev_info() print when pinctrl & GPIO are set properly making above 
>> also kind of needless?
> 
> Thanks for the review. In fact I had to use gdb to understand why the 
> recovery was not working. Because as you said, it only prints something 
> to say "everything looks ok!".
> 
> I kind of prefer when it prints when something goes wrong.
> 
> But I let you decide what you think is the best.
> 
Fair enough, dev_dbg() is justified when it makes developer's life 
easier :-)

  reply	other threads:[~2023-08-18 13:52 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-16  9:50 [PATCH v2] i2c: designware: add support for pinctrl for recovery Yann Sionneau
2023-08-17  8:07 ` Jarkko Nikula
2023-08-17 14:27   ` Yann Sionneau
2023-08-18 13:51     ` Jarkko Nikula [this message]
2023-08-20 11:01     ` Andi Shyti
2023-08-21  9:03       ` Yann
2023-08-23 14:43         ` Andi Shyti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49384d62-7c5c-41d7-bbbd-b9aee5d1d0a3@linux.intel.com \
    --to=jarkko.nikula@linux.intel.com \
    --cc=andi.shyti@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=jsd@semihalf.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=yann@sionneau.net \
    --cc=ysionneau@kalray.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.