All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
To: "Michael Büsch" <m@bues.ch>
Cc: Gregory Hermant <gregory.hermant@calao-systems.com>,
	rtc-linux@googlegroups.com
Subject: [rtc-linux] Re: [PATCH] rtc-rv3029c2: Add trickle charger
Date: Wed, 2 Mar 2016 00:07:45 +0100	[thread overview]
Message-ID: <20160301230745.GJ23985@piout.net> (raw)
In-Reply-To: <20160301225401.3f0aeabb@wiggum>

On 01/03/2016 at 22:54:01 +0100, Michael B=C3=BCsch wrote :
>=20
> > > +	/* Check whether we are in the allowed voltage range. */
> > > +	for (i =3D 100; i > 0; i--) {
> > > +		ret =3D rv3029c2_i2c_get_sr(client, &sr);
> > > +		if (ret < 0)
> > > +			return ret;
> > > +		if (!(sr & (RV3029C2_STATUS_VLOW1 | RV3029C2_STATUS_VLOW2)))
> > > +			break;
> > > +
> > > +		sr &=3D ~RV3029C2_STATUS_VLOW1;
> > > +		sr &=3D ~RV3029C2_STATUS_VLOW2;
> > > +		ret =3D rv3029c2_i2c_set_sr(client, sr);
> > > +		if (ret < 0)
> > > +			return ret; =20
> >=20
> > I wouldn't reset the VLOW1 and VLOW2 flags here. Just bail out if the
> > voltage is not sufficient. I don't think that condition will actually
> > get better simply by waiting.
>=20
>=20
> I do actually think so that we should clear them at least once (that is
> retry once). According to the data sheet these bits will not reset
> automatically and might be left over from machine start (brown out).
>=20

No, this should be handled differently. I have some pending patches to
handle those bits. The main issue is that if you reset those bits there,
there is now way to know whether the date has been set or is invalid.

I think the best way to handle this case is to call the function again
when the date/time are set and we have to reset VLOW1/2.

> > > +	err =3D of_property_read_u32(of_node, "trickle-resistor-ohms", &ohm=
s);
> > > +	if (err) {
> > > +		/* Disable trickle charger. */
> > > +		eectrl &=3D ~RV3029C2_TRICKLE_MASK; =20
> >=20
> > I wouldn't touch it at all, some people may set it in the bootloader an=
d
> > don't expect linux to change the value.
>=20
> But that would mean there is no way to disable it once it got enabled.
> So I'd rather keep it like this or use special values (like a huge
> value) like we already discussed.
>=20

Agreed, keep it that way.

> > > +	rc =3D rv3029c2_of_init(client);
> > > +	if (rc < 0) {
> > > +		dev_err(&client->dev, "OF init failed.\n");
> > > +		return rc; =20
> >=20
> > I don't think this should be a hard failure, the RTC can function
> > without that particular configuration, the previous error message is
> > enough (no need for two messages).
>=20
> Only 50% agree here. :)
> And RTC without a working backup battery is not really that useful.
> But I can remove the error checking of course.
>=20

As proposed, I think we can retry to set trickle charging when
necessary, when setting the date.

--=20
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

--=20
--=20
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
---=20
You received this message because you are subscribed to the Google Groups "=
rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to rtc-linux+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

  reply	other threads:[~2016-03-01 23:08 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-01 20:33 [rtc-linux] [PATCH] rtc-rv3029c2: Add trickle charger Michael Büsch
2016-03-01 21:36 ` [rtc-linux] " Alexandre Belloni
2016-03-01 21:54   ` Michael Büsch
2016-03-01 23:07     ` Alexandre Belloni [this message]
2016-03-02  6:26       ` Michael Büsch
2016-03-02 12:00         ` Alexandre Belloni
     [not found]           ` <20160304195337.51439645@wiggum>
2016-03-04 18:54             ` [rtc-linux] [PATCH 1/6] rtc-rv3029: Remove all 'C2' suffixes from identifiers Michael Büsch
2016-03-04 21:38               ` [rtc-linux] [PATCH v3 " Michael Büsch
2016-03-04 18:55             ` [rtc-linux] [PATCH 2/6] rtc-rv3029: Add "rv3029" I2C device id Michael Büsch
2016-03-04 21:39               ` [rtc-linux] [PATCH v3 " Michael Büsch
2016-03-04 18:55             ` [rtc-linux] [PATCH 3/6] rtc-rv3029: Add missing register definitions Michael Büsch
2016-03-04 21:39               ` [rtc-linux] [PATCH v3 " Michael Büsch
2016-03-04 18:56             ` [rtc-linux] [PATCH 4/6] rtc-rv3029: Add i2c register update-bits helper Michael Büsch
2016-03-04 19:42               ` [rtc-linux] " Alexandre Belloni
2016-03-04 19:46                 ` Michael Büsch
2016-03-04 21:40               ` [rtc-linux] [PATCH v3 " Michael Büsch
2016-03-04 18:56             ` [rtc-linux] [PATCH 5/6] rtc-rv3029: Add functions for EEPROM access Michael Büsch
2016-03-04 21:40               ` [rtc-linux] [PATCH v3 " Michael Büsch
2016-03-04 18:56             ` [rtc-linux] [PATCH 6/6] rtc-rv3029: Add device tree property for trickle charger Michael Büsch
2016-03-04 19:43               ` [rtc-linux] " Alexandre Belloni
2016-03-04 19:49                 ` Michael Büsch
2016-03-04 19:58                   ` Alexandre Belloni
2016-03-04 21:41               ` [rtc-linux] [PATCH v3 " Michael Büsch
2016-03-04 19:02           ` [rtc-linux] [PATCH 0/6] rtc-rv3029: Add " Michael Büsch
2016-03-04 19:39             ` [rtc-linux] " Alexandre Belloni
2016-03-04 21:36             ` [rtc-linux] [PATCH v3 " Michael Büsch
2016-03-05  5:23               ` [rtc-linux] " Alexandre Belloni

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=20160301230745.GJ23985@piout.net \
    --to=alexandre.belloni@free-electrons.com \
    --cc=gregory.hermant@calao-systems.com \
    --cc=m@bues.ch \
    --cc=rtc-linux@googlegroups.com \
    /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.