<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/regulator, branch v3.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2012-07-03T19:25:58Z</updated>
<entry>
<title>regulator: Fix recursive mutex lockdep warning</title>
<updated>2012-07-03T19:25:58Z</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2012-07-03T02:21:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d92d95b6bf2722ffa0fefa7651c51bf336743dd7'/>
<id>urn:sha1:d92d95b6bf2722ffa0fefa7651c51bf336743dd7</id>
<content type='text'>
A recursive lockdep warning occurs if you call
regulator_set_optimum_mode() on a regulator with a supply because
there is no nesting annotation for the rdev-&gt;mutex. To avoid this
warning, get the supply's load before locking the regulator's
mutex to avoid grabbing the same class of lock twice.

=============================================
[ INFO: possible recursive locking detected ]
3.4.0 #3257 Tainted: G        W
---------------------------------------------
swapper/0/1 is trying to acquire lock:
 (&amp;rdev-&gt;mutex){+.+.+.}, at: [&lt;c036e9e0&gt;] regulator_get_voltage+0x18/0x38

but task is already holding lock:
 (&amp;rdev-&gt;mutex){+.+.+.}, at: [&lt;c036ef38&gt;] regulator_set_optimum_mode+0x24/0x224

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&amp;rdev-&gt;mutex);
  lock(&amp;rdev-&gt;mutex);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

3 locks held by swapper/0/1:
 #0:  (&amp;__lockdep_no_validate__){......}, at: [&lt;c03dbb48&gt;] __driver_attach+0x40/0x8c
 #1:  (&amp;__lockdep_no_validate__){......}, at: [&lt;c03dbb58&gt;] __driver_attach+0x50/0x8c
 #2:  (&amp;rdev-&gt;mutex){+.+.+.}, at: [&lt;c036ef38&gt;] regulator_set_optimum_mode+0x24/0x224

stack backtrace:
[&lt;c001521c&gt;] (unwind_backtrace+0x0/0x12c) from [&lt;c00cc4d4&gt;] (validate_chain+0x760/0x1080)
[&lt;c00cc4d4&gt;] (validate_chain+0x760/0x1080) from [&lt;c00cd744&gt;] (__lock_acquire+0x950/0xa10)
[&lt;c00cd744&gt;] (__lock_acquire+0x950/0xa10) from [&lt;c00cd990&gt;] (lock_acquire+0x18c/0x1e8)
[&lt;c00cd990&gt;] (lock_acquire+0x18c/0x1e8) from [&lt;c080c248&gt;] (mutex_lock_nested+0x68/0x3c4)
[&lt;c080c248&gt;] (mutex_lock_nested+0x68/0x3c4) from [&lt;c036e9e0&gt;] (regulator_get_voltage+0x18/0x38)
[&lt;c036e9e0&gt;] (regulator_get_voltage+0x18/0x38) from [&lt;c036efb8&gt;] (regulator_set_optimum_mode+0xa4/0x224)
...

Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: palmas: fix regmap offsets for enable/disable</title>
<updated>2012-06-23T10:37:28Z</updated>
<author>
<name>Graeme Gregory</name>
<email>gg@slimlogic.co.uk</email>
</author>
<published>2012-06-22T12:36:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a68de074613abd028b2ce63366d18db9c29e15d2'/>
<id>urn:sha1:a68de074613abd028b2ce63366d18db9c29e15d2</id>
<content type='text'>
I forgot to apply the offsets for the regmap helper functions for
enable/disable on SMPS10 and the LDO regulators. This means regulators
will not enable/disable correctly.

Signed-off-by: Graeme Gregory &lt;gg@slimlogic.co.uk&gt;
Tested-by: Sebastien Guiriec &lt;s-guiriec@ti.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: tps6524x: Fix get_voltage_sel for fixed voltage</title>
<updated>2012-06-20T10:20:24Z</updated>
<author>
<name>Axel Lin</name>
<email>axel.lin@gmail.com</email>
</author>
<published>2012-06-14T08:00:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8386a00f1443f676e8b614f654e2e324fdc0b3b3'/>
<id>urn:sha1:8386a00f1443f676e8b614f654e2e324fdc0b3b3</id>
<content type='text'>
get_voltage_sel() should return selector rather than voltage.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: tps65023: Fix mask for LDOs output voltage select control</title>
<updated>2012-06-17T19:56:54Z</updated>
<author>
<name>Axel Lin</name>
<email>axel.lin@gmail.com</email>
</author>
<published>2012-06-14T05:55:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6b57c0155cb78d15b0d93b2c7f66ad9536862476'/>
<id>urn:sha1:6b57c0155cb78d15b0d93b2c7f66ad9536862476</id>
<content type='text'>
According to the datasheet:
The LDO_CTRL registers are used to set the output voltage of LDO1 and LDO2.
LDO_CTRL[7] and LDO_CTRL[3] are reserved and should always be written to 0.

Thus the mask for TPS65023_LDO_1 and TPS65023_LDO_2 should be 0x07 and 0x70
respectively.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: Change db8500-prcmu match names to reflect Device Tree</title>
<updated>2012-06-17T17:27:49Z</updated>
<author>
<name>Lee Jones</name>
<email>lee.jones@linaro.org</email>
</author>
<published>2012-05-30T04:47:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ea851f4f08eb366e829abb8f1b2f1741a19ed696'/>
<id>urn:sha1:ea851f4f08eb366e829abb8f1b2f1741a19ed696</id>
<content type='text'>
The 'name' field in 'struct of_regulator_match' expects to match with
its corresponding regulator device node in the Device Tree. This patch
renames each of the regulators in the db8500-prcum regulator driver so
this is true.

Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: Change ab8500 match names to reflect Device Tree</title>
<updated>2012-06-17T17:27:47Z</updated>
<author>
<name>Lee Jones</name>
<email>lee.jones@linaro.org</email>
</author>
<published>2012-05-30T04:47:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f7f3f1ad9ee13c962122e36752ef6908aff920a2'/>
<id>urn:sha1:f7f3f1ad9ee13c962122e36752ef6908aff920a2</id>
<content type='text'>
The 'name' field in 'struct of_regulator_match' expects to match with
its corresponding regulator device node in the Device Tree. This patch
renames each of the regulators in the ab8500 regulator driver so this
is true.

Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: Fix the s5m8767a problem of the division by null</title>
<updated>2012-06-17T17:27:20Z</updated>
<author>
<name>Sangbeom Kim</name>
<email>sbkim73@samsung.com</email>
</author>
<published>2012-06-13T08:27:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9d88fc0b3503e80ab1a5c9fb3b3f074302f44b33'/>
<id>urn:sha1:9d88fc0b3503e80ab1a5c9fb3b3f074302f44b33</id>
<content type='text'>
If ramp_delay is 0, delay value can be divided by zero.
This patch can fix the problem.

Signed-off-by: Sangbeom Kim &lt;sbkim73@samsung.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: core: Properly handle the case min_uV &lt; rdev-&gt;desc-&gt;min_uV in map_voltage_linear</title>
<updated>2012-06-07T23:15:55Z</updated>
<author>
<name>Axel Lin</name>
<email>axel.lin@gmail.com</email>
</author>
<published>2012-06-07T01:52:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0bdc81e4e944781a2bcc971f9e3cf24ac7030939'/>
<id>urn:sha1:0bdc81e4e944781a2bcc971f9e3cf24ac7030939</id>
<content type='text'>
Properly handle the case if the specified min_uV is less than the voltage given
by the lowest selector.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: max8649: fix missing regmap in rdev</title>
<updated>2012-06-05T10:15:22Z</updated>
<author>
<name>Haojian Zhuang</name>
<email>haojian.zhuang@gmail.com</email>
</author>
<published>2012-06-05T10:10:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=61663171bea0ccb499f0818234c5be7ea6c4c791'/>
<id>urn:sha1:61663171bea0ccb499f0818234c5be7ea6c4c791</id>
<content type='text'>
In probe(), rdev-&gt;regmap must be assigned.

Signed-off-by: Haojian Zhuang &lt;haojian.zhuang@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: gpio-regulator: populate selector from set_voltage</title>
<updated>2012-06-04T09:44:30Z</updated>
<author>
<name>Heiko Stübner</name>
<email>heiko@sntech.de</email>
</author>
<published>2012-06-03T19:32:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b0e4d7bf8b5704904a5d138d81a8ec8b7145767f'/>
<id>urn:sha1:b0e4d7bf8b5704904a5d138d81a8ec8b7145767f</id>
<content type='text'>
This was missing until now and the underlying
_regulator_do_set_voltage is using this value when calling list_voltage.

Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Acked-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
</feed>
