From: Jon Hunter <jonathanh@nvidia.com>
To: Mark Brown <broonie@kernel.org>
Cc: Thierry Reding <thierry.reding@gmail.com>,
Liam Girdwood <lgirdwood@gmail.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/5] regulator: core: Resolve supply earlier
Date: Tue, 19 Apr 2016 17:09:59 +0100 [thread overview]
Message-ID: <57165857.5050809@nvidia.com> (raw)
In-Reply-To: <20160419154059.GW3217@sirena.org.uk>
On 19/04/16 16:40, Mark Brown wrote:
> * PGP Signed by an unknown key
>
> On Tue, Apr 19, 2016 at 11:16:59AM +0100, Jon Hunter wrote:
>
>> So the following seems to work, but only item I am uncertain about
>> is if it is ok to move the mutex_lock to after the
>> machine_set_constraints()?
>
> We definitely don't need the list to apply constraints to a single
> regulator.
>
>> + mutex_lock(®ulator_list_mutex);
>> +
>> ret = device_register(&rdev->dev);
>> if (ret != 0) {
>> put_device(&rdev->dev);
>> + mutex_unlock(®ulator_list_mutex);
>> goto wash;
>> }
>
> This is *really* weird. Why would we need the list lock to do a
> device_register()?
The device_register() is going to add the regulator to the
regulator class list and this means that after this, someone
could look up that regulator via ...
static struct regulator_dev *of_find_regulator_by_node(struct device_node *np)
{
struct device *dev;
dev = class_find_device(®ulator_class, NULL, np, of_node_match);
return dev ? dev_to_rdev(dev) : NULL;
}
So I did not think that we would want someone to be able to
look-up the regulator via of_find_regulator_by_node() until
it had been registered successfully. In fact I believe that
not locking around device_register() was causing some crashes
when I was testing.
Cheers
Jon
next prev parent reply other threads:[~2016-04-19 16:10 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-07 14:22 [PATCH 1/5] regulator: core: Resolve supply earlier Thierry Reding
2016-04-07 14:22 ` [PATCH 2/5] regulator: core: Use parent voltage from the supply when bypassed Thierry Reding
2016-04-12 6:31 ` Applied "regulator: core: Use parent voltage from the supply when bypassed" to the regulator tree Mark Brown
2016-04-07 14:22 ` [PATCH 3/5] regulator: helpers: Ensure bypass register field matches ON value Thierry Reding
2016-04-22 10:49 ` Applied "regulator: helpers: Ensure bypass register field matches ON value" to the regulator tree Mark Brown
2016-04-07 14:22 ` [PATCH 4/5] regulator: as3722: Add bypass support for LDO6 Thierry Reding
2016-04-11 16:15 ` Applied "regulator: as3722: Add bypass support for LDO6" to the regulator tree Mark Brown
2016-04-07 14:22 ` [PATCH 5/5] regulator: as3722: Constify regulator ops Thierry Reding
2016-04-11 16:15 ` Applied "regulator: as3722: Constify regulator ops" to the regulator tree Mark Brown
2016-04-11 10:59 ` [PATCH 1/5] regulator: core: Resolve supply earlier Jon Hunter
2016-04-11 11:46 ` Thierry Reding
2016-04-11 12:19 ` Jon Hunter
2016-04-11 12:49 ` Mark Brown
2016-04-11 14:03 ` Javier Martinez Canillas
2016-04-11 12:58 ` Mark Brown
2016-04-11 13:09 ` Thierry Reding
2016-04-11 13:45 ` Javier Martinez Canillas
2016-04-11 13:57 ` Mark Brown
2016-04-11 14:07 ` Thierry Reding
2016-04-11 14:32 ` Mark Brown
2016-04-11 14:49 ` Thierry Reding
2016-04-11 15:50 ` Mark Brown
2016-04-11 13:56 ` Mark Brown
2016-04-11 14:03 ` Mark Brown
2016-04-11 14:11 ` Thierry Reding
2016-04-11 14:16 ` Mark Brown
2016-04-19 10:16 ` Jon Hunter
2016-04-19 11:03 ` Thierry Reding
2016-04-19 15:40 ` Mark Brown
2016-04-19 16:09 ` Jon Hunter [this message]
2016-04-20 15:21 ` Mark Brown
2016-04-21 15:34 ` Jon Hunter
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=57165857.5050809@nvidia.com \
--to=jonathanh@nvidia.com \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=thierry.reding@gmail.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.