From: "Uwe Kleine-König" <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
To: Viresh Kumar <viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org,
ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
spear-devel-nkJGhpqTU55BDgjK7y7TUQ@public.gmane.org,
paul-YHLC2tV1sDlxR4N9A70vTlRxknfHcPLb9dF7HbQ/qKg@public.gmane.org
Subject: Re: [PATCH V9 1/2] i2c/adapter: Add bus recovery infrastructure
Date: Thu, 24 Jan 2013 12:06:43 +0100 [thread overview]
Message-ID: <20130124110643.GC8668@pengutronix.de> (raw)
In-Reply-To: <fe4fba74b7bac4fe56e26b2a947280390182c66c.1359023434.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Hello,
On Thu, Jan 24, 2013 at 04:06:37PM +0530, Viresh Kumar wrote:
> Most number of versions for any patchset i submitted :)
So let's see if you do a v10 ... :-)
> +static int i2c_generic_recovery(struct i2c_adapter *adap)
> +{
> + struct i2c_bus_recovery_info *bri = adap->bus_recovery_info;
> + int i = 0, val = 1, ret = 0;
> +
> + if (bri->prepare_recovery)
> + bri->prepare_recovery(bri);
> +
Do we want to break out here if sda is high?
> + /*
> + * By this time SCL is high, as we need to give 9 falling-rising edges
> + */
> + while (i++ < RECOVERY_CLK_CNT * 2) {
> + /* SCL shouldn't be low here */
> + if (val && !bri->get_scl(adap)) {
> + dev_err(&adap->dev, "SCL is stuck Low exit recovery\n");
> + ret = -EBUSY;
> + goto unprepare;
> + }
> +
> + val = !val;
> + bri->set_scl(adap, val);
> + ndelay(clk_delay);
> +
> + /* break if sda got high, check only when scl line is high */
Above you wrote "SCL", here "scl". I suggest to use one of them
consistently and use the same capitalisation for sda.
> + if (bri->get_sda && val)
> + if (bri->get_sda(adap))
> + break;
Maybe better:
/* break if sda got high */
if (bri->get_sda && bri->get_sda(adap)) {
/* don't leave with scl low */
if (!val)
bri->set_scl(adap, 1);
break;
}
> + }
> +
> +unprepare:
> + if (bri->unprepare_recovery)
> + bri->unprepare_recovery(bri);
> +
> + return ret;
> +}
> +
> +int i2c_generic_scl_recovery(struct i2c_adapter *adap)
> +{
> + adap->bus_recovery_info->set_scl(adap, 1);
Why this?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
next prev parent reply other threads:[~2013-01-24 11:06 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-24 10:36 [PATCH V9 1/2] i2c/adapter: Add bus recovery infrastructure Viresh Kumar
[not found] ` <fe4fba74b7bac4fe56e26b2a947280390182c66c.1359023434.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-01-24 10:36 ` [PATCH V9 2/2] i2c/designware: Provide i2c bus recovery support Viresh Kumar
2013-01-24 10:38 ` [PATCH V9 1/2] i2c/adapter: Add bus recovery infrastructure Viresh Kumar
2013-01-24 11:06 ` Uwe Kleine-König [this message]
[not found] ` <20130124110643.GC8668-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-01-24 11:17 ` Viresh Kumar
[not found] ` <CAKohpo=OwnPcfQxxk22nOWZ1c=Ke4s_i=GN3A6_bo6RAEa6P8w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-24 11:43 ` Uwe Kleine-König
[not found] ` <20130124114303.GE8668-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-01-24 14:09 ` Viresh Kumar
2013-01-25 9:15 ` Wolfram Sang
[not found] ` <20130125091512.GE5684-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-01-25 9:36 ` Viresh Kumar
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=20130124110643.GC8668@pengutronix.de \
--to=u.kleine-koenig-bicnvbalz9megne8c9+irq@public.gmane.org \
--cc=ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
--cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=paul-YHLC2tV1sDlxR4N9A70vTlRxknfHcPLb9dF7HbQ/qKg@public.gmane.org \
--cc=spear-devel-nkJGhpqTU55BDgjK7y7TUQ@public.gmane.org \
--cc=viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).