From: Markus Pargmann <mpa@pengutronix.de> To: Mark Brown <broonie@kernel.org> Cc: Liam Girdwood <lgirdwood@gmail.com>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de, stable@vger.kernel.org Subject: Re: [PATCH] regulator: core bugfix: Use normal enable for always_on regulators Date: Tue, 18 Feb 2014 22:40:07 +0100 [thread overview] Message-ID: <20140218214007.GE10590@pengutronix.de> (raw) In-Reply-To: <20140218001420.GF2669@sirena.org.uk> [-- Attachment #1: Type: text/plain, Size: 1823 bytes --] On Tue, Feb 18, 2014 at 09:14:20AM +0900, Mark Brown wrote: > On Sun, Feb 16, 2014 at 08:00:56PM +0100, Markus Pargmann wrote: > > Please use more standard subject lines, don't do things like "core > bugfix", just write a normal changelog. Okay, will fix. > > > +static int _regulator_do_enable_no_delay(struct regulator_dev *rdev) > > +{ > > + int ret; > > + > > + if (rdev->ena_pin) { > > + ret = regulator_ena_gpio_ctrl(rdev, true); > > + if (ret < 0) > > + return ret; > > + rdev->ena_gpio_state = 1; > > + } else if (rdev->desc->ops->enable) { > > + ret = rdev->desc->ops->enable(rdev); > > + } else { > > + ret = -EINVAL; > > + } > > + > > + return ret; > > +} > > I don't understand this. Why is this called _no_delay() and why don't > we want to delay when applying constraints? We don't want to ever be in > a position where we think a supply is enabled but it has in fact not > finished ramping, and of course enable() may in fact be blocking anyway. I tried not to modify the current behaviour of the core driver for non-gpio regulators. Before this patch only ops->enable() was called which also didn't have a delay. So I seperated the non-delay enable function to have the same behaviour for normal regulators. Also the constraints are applied when registering a new regulator. For "boot-on" we should not delay because this regulator is already on by definition. But I am not sure what to do with always-on regulators? Thanks, Markus -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: mpa@pengutronix.de (Markus Pargmann) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] regulator: core bugfix: Use normal enable for always_on regulators Date: Tue, 18 Feb 2014 22:40:07 +0100 [thread overview] Message-ID: <20140218214007.GE10590@pengutronix.de> (raw) In-Reply-To: <20140218001420.GF2669@sirena.org.uk> On Tue, Feb 18, 2014 at 09:14:20AM +0900, Mark Brown wrote: > On Sun, Feb 16, 2014 at 08:00:56PM +0100, Markus Pargmann wrote: > > Please use more standard subject lines, don't do things like "core > bugfix", just write a normal changelog. Okay, will fix. > > > +static int _regulator_do_enable_no_delay(struct regulator_dev *rdev) > > +{ > > + int ret; > > + > > + if (rdev->ena_pin) { > > + ret = regulator_ena_gpio_ctrl(rdev, true); > > + if (ret < 0) > > + return ret; > > + rdev->ena_gpio_state = 1; > > + } else if (rdev->desc->ops->enable) { > > + ret = rdev->desc->ops->enable(rdev); > > + } else { > > + ret = -EINVAL; > > + } > > + > > + return ret; > > +} > > I don't understand this. Why is this called _no_delay() and why don't > we want to delay when applying constraints? We don't want to ever be in > a position where we think a supply is enabled but it has in fact not > finished ramping, and of course enable() may in fact be blocking anyway. I tried not to modify the current behaviour of the core driver for non-gpio regulators. Before this patch only ops->enable() was called which also didn't have a delay. So I seperated the non-delay enable function to have the same behaviour for normal regulators. Also the constraints are applied when registering a new regulator. For "boot-on" we should not delay because this regulator is already on by definition. But I am not sure what to do with always-on regulators? Thanks, Markus -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140218/a448bd84/attachment.sig>
next prev parent reply other threads:[~2014-02-18 21:40 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-02-16 19:00 [PATCH] regulator: core bugfix: Use normal enable for always_on regulators Markus Pargmann 2014-02-16 19:00 ` Markus Pargmann 2014-02-18 0:14 ` Mark Brown 2014-02-18 0:14 ` Mark Brown 2014-02-18 21:40 ` Markus Pargmann [this message] 2014-02-18 21:40 ` Markus Pargmann 2014-02-19 1:46 ` Mark Brown 2014-02-19 1:46 ` Mark Brown
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=20140218214007.GE10590@pengutronix.de \ --to=mpa@pengutronix.de \ --cc=broonie@kernel.org \ --cc=kernel@pengutronix.de \ --cc=lgirdwood@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=stable@vger.kernel.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: linkBe 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.