2010-01-13 11:58:53

by Adrian Hunter

[permalink] [raw]
Subject: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

>From bd97e65b280be528239e3932da8be512ce7785ed Mon Sep 17 00:00:00 2001
From: Adrian Hunter <[email protected]>
Date: Tue, 12 Jan 2010 12:25:13 +0200
Subject: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

Add a field to specify a delay for the start-up time of
a fixed voltage regulator.

Signed-off-by: Adrian Hunter <[email protected]>
---
drivers/regulator/fixed.c | 5 +++++
include/linux/regulator/fixed.h | 2 ++
2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c
index f9f516a..40d4080 100644
--- a/drivers/regulator/fixed.c
+++ b/drivers/regulator/fixed.c
@@ -24,12 +24,14 @@
#include <linux/regulator/driver.h>
#include <linux/regulator/fixed.h>
#include <linux/gpio.h>
+#include <linux/delay.h>

struct fixed_voltage_data {
struct regulator_desc desc;
struct regulator_dev *dev;
int microvolts;
int gpio;
+ unsigned delay;
unsigned enable_high:1;
unsigned is_enabled:1;
};
@@ -48,6 +50,8 @@ static int fixed_voltage_enable(struct regulator_dev *dev)
if (gpio_is_valid(data->gpio)) {
gpio_set_value_cansleep(data->gpio, data->enable_high);
data->is_enabled = 1;
+ if (data->delay)
+ udelay(data->delay);
}

return 0;
@@ -117,6 +121,7 @@ static int regulator_fixed_voltage_probe(struct platform_device *pdev)

drvdata->microvolts = config->microvolts;
drvdata->gpio = config->gpio;
+ drvdata->delay = config->delay;

if (gpio_is_valid(config->gpio)) {
drvdata->enable_high = config->enable_high;
diff --git a/include/linux/regulator/fixed.h b/include/linux/regulator/fixed.h
index e94a4a1..02edef1 100644
--- a/include/linux/regulator/fixed.h
+++ b/include/linux/regulator/fixed.h
@@ -25,6 +25,7 @@ struct regulator_init_data;
* @microvolts: Output voltage of regulator
* @gpio: GPIO to use for enable control
* set to -EINVAL if not used
+ * @delay: Start-up time in microseconds
* @enable_high: Polarity of enable GPIO
* 1 = Active high, 0 = Active low
* @enabled_at_boot: Whether regulator has been enabled at
@@ -41,6 +42,7 @@ struct fixed_voltage_config {
const char *supply_name;
int microvolts;
int gpio;
+ unsigned delay;
unsigned enable_high:1;
unsigned enabled_at_boot:1;
struct regulator_init_data *init_data;
--
1.6.0.4


2010-01-13 12:03:30

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

On Wed, Jan 13, 2010 at 01:58:26PM +0200, Adrian Hunter wrote:

> Add a field to specify a delay for the start-up time of
> a fixed voltage regulator.

> Signed-off-by: Adrian Hunter <[email protected]>

Acked-by: Mark Brown <[email protected]>

but...

> #include <linux/regulator/driver.h>
> #include <linux/regulator/fixed.h>
> #include <linux/gpio.h>
> +#include <linux/delay.h>

I think your MUA may have eaten the patch - it looks like the leading
spaces got stripped which is liable to confuse things.

> --- a/include/linux/regulator/fixed.h
> +++ b/include/linux/regulator/fixed.h
> @@ -25,6 +25,7 @@ struct regulator_init_data;
> * @microvolts: Output voltage of regulator
> * @gpio: GPIO to use for enable control
> * set to -EINVAL if not used
> + * @delay: Start-up time in microseconds

startup_delay? Just in case we think of another delay, though I'm
struggling to think of one right now so I'm not too worried.

2010-01-13 12:15:22

by Adrian Hunter

[permalink] [raw]
Subject: Re: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

Mark Brown wrote:
> On Wed, Jan 13, 2010 at 01:58:26PM +0200, Adrian Hunter wrote:
>
>> Add a field to specify a delay for the start-up time of
>> a fixed voltage regulator.
>
>> Signed-off-by: Adrian Hunter <[email protected]>
>
> Acked-by: Mark Brown <[email protected]>
>
> but...
>
>> #include <linux/regulator/driver.h>
>> #include <linux/regulator/fixed.h>
>> #include <linux/gpio.h>
>> +#include <linux/delay.h>
>
> I think your MUA may have eaten the patch - it looks like the leading
> spaces got stripped which is liable to confuse things.
>

Are you sure? Looks fines to me.

>> --- a/include/linux/regulator/fixed.h
>> +++ b/include/linux/regulator/fixed.h
>> @@ -25,6 +25,7 @@ struct regulator_init_data;
>> * @microvolts: Output voltage of regulator
>> * @gpio: GPIO to use for enable control
>> * set to -EINVAL if not used
>> + * @delay: Start-up time in microseconds
>
> startup_delay? Just in case we think of another delay, though I'm
> struggling to think of one right now so I'm not too worried.
>

I am too lazy to change it unless there is something else too ;-)

2010-01-13 12:26:15

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

On Wed, Jan 13, 2010 at 02:15:10PM +0200, Adrian Hunter wrote:
> Mark Brown wrote:

> >>#include <linux/gpio.h>
> >>+#include <linux/delay.h>

> >I think your MUA may have eaten the patch - it looks like the leading
> >spaces got stripped which is liable to confuse things.

> Are you sure? Looks fines to me.

The above should be

> #include <linux/gpio.h>
> +#include <linux/delay.h>

IIRC ie, a one character indent on the context as well as the changed
lines.

> >startup_delay? Just in case we think of another delay, though I'm
> >struggling to think of one right now so I'm not too worried.

> I am too lazy to change it unless there is something else too ;-)

On the other hand the cross tree issues will be annoying if it's changed
later...

2010-01-13 12:55:25

by Adrian Hunter

[permalink] [raw]
Subject: Re: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

Mark Brown wrote:
> On Wed, Jan 13, 2010 at 02:15:10PM +0200, Adrian Hunter wrote:
>> Mark Brown wrote:
>
>>>> #include <linux/gpio.h>
>>>> +#include <linux/delay.h>
>
>>> I think your MUA may have eaten the patch - it looks like the leading
>>> spaces got stripped which is liable to confuse things.
>
>> Are you sure? Looks fines to me.
>
> The above should be
>
> > #include <linux/gpio.h>
> > +#include <linux/delay.h>
>
> IIRC ie, a one character indent on the context as well as the changed
> lines.
>

I meant that the space is, in fact, there.
e.g. see http://lkml.org/lkml/2010/1/13/186

>>> startup_delay? Just in case we think of another delay, though I'm
>>> struggling to think of one right now so I'm not too worried.
>
>> I am too lazy to change it unless there is something else too ;-)
>
> On the other hand the cross tree issues will be annoying if it's changed
> later...
>

OK

2010-01-13 13:11:47

by Adrian Hunter

[permalink] [raw]
Subject: Re: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

>From bd97e65b280be528239e3932da8be512ce7785ed Mon Sep 17 00:00:00 2001
From: Adrian Hunter <[email protected]>
Date: Tue, 12 Jan 2010 12:25:13 +0200
Subject: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

Add a field to specify a delay for the start-up time of
a fixed voltage regulator.

Signed-off-by: Adrian Hunter <[email protected]>
---
drivers/regulator/fixed.c | 5 +++++
include/linux/regulator/fixed.h | 2 ++
2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c
index f9f516a..40d4080 100644
--- a/drivers/regulator/fixed.c
+++ b/drivers/regulator/fixed.c
@@ -24,12 +24,14 @@
#include <linux/regulator/driver.h>
#include <linux/regulator/fixed.h>
#include <linux/gpio.h>
+#include <linux/delay.h>

struct fixed_voltage_data {
struct regulator_desc desc;
struct regulator_dev *dev;
int microvolts;
int gpio;
+ unsigned startup_delay;
unsigned enable_high:1;
unsigned is_enabled:1;
};
@@ -48,6 +50,8 @@ static int fixed_voltage_enable(struct regulator_dev *dev)
if (gpio_is_valid(data->gpio)) {
gpio_set_value_cansleep(data->gpio, data->enable_high);
data->is_enabled = 1;
+ if (data->startup_delay)
+ udelay(data->startup_delay);
}

return 0;
@@ -117,6 +121,7 @@ static int regulator_fixed_voltage_probe(struct platform_device *pdev)

drvdata->microvolts = config->microvolts;
drvdata->gpio = config->gpio;
+ drvdata->startup_delay = config->startup_delay;

if (gpio_is_valid(config->gpio)) {
drvdata->enable_high = config->enable_high;
diff --git a/include/linux/regulator/fixed.h b/include/linux/regulator/fixed.h
index e94a4a1..02edef1 100644
--- a/include/linux/regulator/fixed.h
+++ b/include/linux/regulator/fixed.h
@@ -25,6 +25,7 @@ struct regulator_init_data;
* @microvolts: Output voltage of regulator
* @gpio: GPIO to use for enable control
* set to -EINVAL if not used
+ * @startup_delay: Start-up time in microseconds
* @enable_high: Polarity of enable GPIO
* 1 = Active high, 0 = Active low
* @enabled_at_boot: Whether regulator has been enabled at
@@ -41,6 +42,7 @@ struct fixed_voltage_config {
const char *supply_name;
int microvolts;
int gpio;
+ unsigned startup_delay;
unsigned enable_high:1;
unsigned enabled_at_boot:1;
struct regulator_init_data *init_data;
--
1.6.0.4

2010-01-13 13:18:11

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

On Wed, Jan 13, 2010 at 02:55:03PM +0200, Adrian Hunter wrote:
> Mark Brown wrote:

> >IIRC ie, a one character indent on the context as well as the changed
> >lines.

> I meant that the space is, in fact, there.
> e.g. see http://lkml.org/lkml/2010/1/13/186

I see what the problem is here, you're sending in format=flowed which
means that MUAs that understand format=flowed will reindent the text on
reciept. The indentation of the original mail will be ignored.

2010-01-13 13:18:43

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

On Wed, Jan 13, 2010 at 03:11:08PM +0200, Adrian Hunter wrote:
> From bd97e65b280be528239e3932da8be512ce7785ed Mon Sep 17 00:00:00 2001
> From: Adrian Hunter <[email protected]>
> Date: Tue, 12 Jan 2010 12:25:13 +0200
> Subject: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators
>
> Add a field to specify a delay for the start-up time of
> a fixed voltage regulator.
>
> Signed-off-by: Adrian Hunter <[email protected]>

Looks good, thanks.

Acked-by: Mark Brown <[email protected]>

> ---
> drivers/regulator/fixed.c | 5 +++++
> include/linux/regulator/fixed.h | 2 ++
> 2 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c
> index f9f516a..40d4080 100644
> --- a/drivers/regulator/fixed.c
> +++ b/drivers/regulator/fixed.c
> @@ -24,12 +24,14 @@
> #include <linux/regulator/driver.h>
> #include <linux/regulator/fixed.h>
> #include <linux/gpio.h>
> +#include <linux/delay.h>
>
> struct fixed_voltage_data {
> struct regulator_desc desc;
> struct regulator_dev *dev;
> int microvolts;
> int gpio;
> + unsigned startup_delay;
> unsigned enable_high:1;
> unsigned is_enabled:1;
> };
> @@ -48,6 +50,8 @@ static int fixed_voltage_enable(struct regulator_dev *dev)
> if (gpio_is_valid(data->gpio)) {
> gpio_set_value_cansleep(data->gpio, data->enable_high);
> data->is_enabled = 1;
> + if (data->startup_delay)
> + udelay(data->startup_delay);
> }
>
> return 0;
> @@ -117,6 +121,7 @@ static int regulator_fixed_voltage_probe(struct platform_device *pdev)
>
> drvdata->microvolts = config->microvolts;
> drvdata->gpio = config->gpio;
> + drvdata->startup_delay = config->startup_delay;
>
> if (gpio_is_valid(config->gpio)) {
> drvdata->enable_high = config->enable_high;
> diff --git a/include/linux/regulator/fixed.h b/include/linux/regulator/fixed.h
> index e94a4a1..02edef1 100644
> --- a/include/linux/regulator/fixed.h
> +++ b/include/linux/regulator/fixed.h
> @@ -25,6 +25,7 @@ struct regulator_init_data;
> * @microvolts: Output voltage of regulator
> * @gpio: GPIO to use for enable control
> * set to -EINVAL if not used
> + * @startup_delay: Start-up time in microseconds
> * @enable_high: Polarity of enable GPIO
> * 1 = Active high, 0 = Active low
> * @enabled_at_boot: Whether regulator has been enabled at
> @@ -41,6 +42,7 @@ struct fixed_voltage_config {
> const char *supply_name;
> int microvolts;
> int gpio;
> + unsigned startup_delay;
> unsigned enable_high:1;
> unsigned enabled_at_boot:1;
> struct regulator_init_data *init_data;
> --
> 1.6.0.4

2010-01-14 19:55:04

by Liam Girdwood

[permalink] [raw]
Subject: Re: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators

On Wed, 2010-01-13 at 15:11 +0200, Adrian Hunter wrote:
> From bd97e65b280be528239e3932da8be512ce7785ed Mon Sep 17 00:00:00 2001
> From: Adrian Hunter <[email protected]>
> Date: Tue, 12 Jan 2010 12:25:13 +0200
> Subject: [PATCH] regulator: Add 'start-up time' to fixed voltage regulators
>
> Add a field to specify a delay for the start-up time of
> a fixed voltage regulator.
>

Applied.

Thanks

Liam