<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/regulator/wm8400-regulator.c, branch v3.2.37</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>regulator: Add module.h to drivers/regulator users as required</title>
<updated>2011-10-31T23:32:15+00:00</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-07-17T20:28:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=65602c32ee9b5500e3cb617ccec2154ee2191898'/>
<id>65602c32ee9b5500e3cb617ccec2154ee2191898</id>
<content type='text'>
Another group of drivers that are taking advantage of the implicit
presence of module.h -- and will break when we pull the carpet out
from under them during a cleanup.  Fix 'em now.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Another group of drivers that are taking advantage of the implicit
presence of module.h -- and will break when we pull the carpet out
from under them during a cleanup.  Fix 'em now.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>regulator: Convert WM8400 to get_voltage_sel()</title>
<updated>2011-05-27T09:34:37+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2011-05-08T21:19:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7ce8a2a05f249054e6bce109a15ee188b4124256'/>
<id>7ce8a2a05f249054e6bce109a15ee188b4124256</id>
<content type='text'>
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>regulator: Report actual configured voltage to set_voltage()</title>
<updated>2011-01-12T14:32:59+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2010-11-10T14:38:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3a93f2a9f4d8f73d74c0e552feb68a10f778a219'/>
<id>3a93f2a9f4d8f73d74c0e552feb68a10f778a219</id>
<content type='text'>
Change the interface used by set_voltage() to report the selected value
to the regulator core in terms of a selector used by list_voltage().
This allows the regulator core to know the voltage that was chosen
without having to do an explict get_voltage(), which would be much more
expensive as it will generally access hardware.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the interface used by set_voltage() to report the selected value
to the regulator core in terms of a selector used by list_voltage().
This allows the regulator core to know the voltage that was chosen
without having to do an explict get_voltage(), which would be much more
expensive as it will generally access hardware.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Regulators: wm8400 - cleanup platform driver data handling</title>
<updated>2010-03-03T14:49:30+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2010-02-25T09:55:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1ad02bbce64e5226b0582af85df4e481e2f6b7b9'/>
<id>1ad02bbce64e5226b0582af85df4e481e2f6b7b9</id>
<content type='text'>
On Wed, Feb 24, 2010 at 08:40:56PM +0000, Mark Brown wrote:
&gt; On Wed, Feb 24, 2010 at 11:21:26AM -0800, Dmitry Torokhov wrote:
&gt; &gt; On Wed, Feb 24, 2010 at 07:14:03PM +0000, Mark Brown wrote:
&gt;
&gt; &gt; &gt; This doesn't help unless you also provide a way for users to obtain a
&gt; &gt; &gt; struct wm8400.
&gt;
&gt; &gt; Why would they need it? Only code that creates instances of wm8400 needs
&gt; &gt; to know the definition of the sturcture, the rest can simply pass the
&gt; &gt; pointer around.
&gt;
&gt; &gt; I guess there is disconnect between us and I do not see any users of
&gt; &gt; wm8400_register_regulator() in linux-next... Is there another tree I
&gt; &gt; could peek at?
&gt;
&gt; There are no users in mainline.  This would be called by board specific
&gt; code from the init callback of the wm8400 - you'd need to pass that
&gt; callback the struct wm8400.
&gt;
&gt; In any case, this is clearly an unrelated change to whatever else you
&gt; were doing to the driver so should be split off into a separate patch,
&gt; but if this is being changed at all then it'd be much more sensible to
&gt; change it to use a more modern pattern which completely removes the
&gt; wm8400_register_regulator() function and just uses platform data.

Fair enough, I removed the offending part, updated patch below.

--
Dmitry

regulator: wm8400 - cleanup platform driver data handling

Driver data set by platform_set_drvdata() is for private use of
the driver currently bound to teh device and not for use by parent,
subsystem and anyone else.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
Acked-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On Wed, Feb 24, 2010 at 08:40:56PM +0000, Mark Brown wrote:
&gt; On Wed, Feb 24, 2010 at 11:21:26AM -0800, Dmitry Torokhov wrote:
&gt; &gt; On Wed, Feb 24, 2010 at 07:14:03PM +0000, Mark Brown wrote:
&gt;
&gt; &gt; &gt; This doesn't help unless you also provide a way for users to obtain a
&gt; &gt; &gt; struct wm8400.
&gt;
&gt; &gt; Why would they need it? Only code that creates instances of wm8400 needs
&gt; &gt; to know the definition of the sturcture, the rest can simply pass the
&gt; &gt; pointer around.
&gt;
&gt; &gt; I guess there is disconnect between us and I do not see any users of
&gt; &gt; wm8400_register_regulator() in linux-next... Is there another tree I
&gt; &gt; could peek at?
&gt;
&gt; There are no users in mainline.  This would be called by board specific
&gt; code from the init callback of the wm8400 - you'd need to pass that
&gt; callback the struct wm8400.
&gt;
&gt; In any case, this is clearly an unrelated change to whatever else you
&gt; were doing to the driver so should be split off into a separate patch,
&gt; but if this is being changed at all then it'd be much more sensible to
&gt; change it to use a more modern pattern which completely removes the
&gt; wm8400_register_regulator() function and just uses platform data.

Fair enough, I removed the offending part, updated patch below.

--
Dmitry

regulator: wm8400 - cleanup platform driver data handling

Driver data set by platform_set_drvdata() is for private use of
the driver currently bound to teh device and not for use by parent,
subsystem and anyone else.

Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
Acked-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>regulator: remove driver_data direct access of struct device</title>
<updated>2009-06-15T10:18:25+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2009-04-30T22:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1909e2f658ee6ec5bcca62a5599f5653857cfe18'/>
<id>1909e2f658ee6ec5bcca62a5599f5653857cfe18</id>
<content type='text'>
In the near future, the driver core is going to not allow direct access
to the driver_data pointer in struct device.  Instead, the functions
dev_get_drvdata() and dev_set_drvdata() should be used.  These functions
have been around since the beginning, so are backwards compatible with
all older kernel versions.

Cc: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Cc: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Acked-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the near future, the driver core is going to not allow direct access
to the driver_data pointer in struct device.  Instead, the functions
dev_get_drvdata() and dev_set_drvdata() should be used.  These functions
have been around since the beginning, so are backwards compatible with
all older kernel versions.

Cc: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Cc: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Acked-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>regulator: Move regulator drivers to subsys_initcall()</title>
<updated>2009-06-15T10:18:23+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2009-04-27T17:21:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5a1b22beeff30d870bf2169a37e343e06cb5db3a'/>
<id>5a1b22beeff30d870bf2169a37e343e06cb5db3a</id>
<content type='text'>
Regulators need to be available early in init in order to allow them
to be available for consumers when requested. This is generally done
by registering them at subsys_initcall() time but not all regulator
drivers have done that. Convert these drivers to do so in order to
mimimise future support.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Acked-by: Mike Rapoport &lt;mike@compulab.co.il&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Regulators need to be available early in init in order to allow them
to be available for consumers when requested. This is generally done
by registering them at subsys_initcall() time but not all regulator
drivers have done that. Convert these drivers to do so in order to
mimimise future support.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Acked-by: Mike Rapoport &lt;mike@compulab.co.il&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>regulator: Implement list_voltage() for WM8400 DCDCs and LDOs</title>
<updated>2009-03-31T08:56:26+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2009-03-10T16:28:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=216765d92acaeabdad6561254a5a676325105a37'/>
<id>216765d92acaeabdad6561254a5a676325105a37</id>
<content type='text'>
All DCDCs and LDOs are identical.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All DCDCs and LDOs are identical.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>regulator: Pass regulator init data as explict argument when registering</title>
<updated>2009-03-31T08:56:21+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2009-01-19T13:37:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0527100fd11d9710c7e153d791da78824b7b46fa'/>
<id>0527100fd11d9710c7e153d791da78824b7b46fa</id>
<content type='text'>
Rather than having the regulator init data read from the platform_data
member of the struct device that is registered for the regulator make
the init data an explict argument passed in when registering. This
allows drivers to use the platform data for their own purposes if they
wish.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rather than having the regulator init data read from the platform_data
member of the struct device that is registered for the regulator make
the init data an explict argument passed in when registering. This
allows drivers to use the platform data for their own purposes if they
wish.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>move wm8400-regulator's probe function to .devinit.text</title>
<updated>2009-01-17T13:46:40+00:00</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2009-01-12T22:25:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5dbdf7354821e00e4419ac3520d05d126857d56e'/>
<id>5dbdf7354821e00e4419ac3520d05d126857d56e</id>
<content type='text'>
A pointer to wm8400_regulator_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded.  Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.

An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A pointer to wm8400_regulator_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded.  Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.

An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>regulator: Add WM8400 regulator support</title>
<updated>2008-10-13T20:51:53+00:00</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2008-09-11T10:12:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=42fad570b666256a3fd009e23e74cbb365a29ca8'/>
<id>42fad570b666256a3fd009e23e74cbb365a29ca8</id>
<content type='text'>
The WM8400 provides two programmable DCDC step-down (buck) convertors
and four low-dropout (LDO) regulators. This driver provides support for
runtime managment of these in the standard regulator API.

Support for configuration of the suspend and hibernate mode behaviour
of the regulators is not yet included.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The WM8400 provides two programmable DCDC step-down (buck) convertors
and four low-dropout (LDO) regulators. This driver provides support for
runtime managment of these in the standard regulator API.

Support for configuration of the suspend and hibernate mode behaviour
of the regulators is not yet included.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Liam Girdwood &lt;lrg@slimlogic.co.uk&gt;
</pre>
</div>
</content>
</entry>
</feed>
