projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dma: Add timb-dma
[deliverable/linux.git]
/
drivers
/
regulator
/
fixed.c
diff --git
a/drivers/regulator/fixed.c
b/drivers/regulator/fixed.c
index f9f516a3028aa219a9dee0b397fc7e85fd54888d..d11f7622430bfa4a00d6ade280f1ad70edb7e93b 100644
(file)
--- a/
drivers/regulator/fixed.c
+++ b/
drivers/regulator/fixed.c
@@
-24,14
+24,16
@@
#include <linux/regulator/driver.h>
#include <linux/regulator/fixed.h>
#include <linux/gpio.h>
#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;
struct fixed_voltage_data {
struct regulator_desc desc;
struct regulator_dev *dev;
int microvolts;
int gpio;
- unsigned enable_high:1;
- unsigned is_enabled:1;
+ unsigned startup_delay;
+ bool enable_high;
+ bool is_enabled;
};
static int fixed_voltage_is_enabled(struct regulator_dev *dev)
};
static int fixed_voltage_is_enabled(struct regulator_dev *dev)
@@
-47,7
+49,7
@@
static int fixed_voltage_enable(struct regulator_dev *dev)
if (gpio_is_valid(data->gpio)) {
gpio_set_value_cansleep(data->gpio, data->enable_high);
if (gpio_is_valid(data->gpio)) {
gpio_set_value_cansleep(data->gpio, data->enable_high);
- data->is_enabled =
1
;
+ data->is_enabled =
true
;
}
return 0;
}
return 0;
@@
-59,12
+61,19
@@
static int fixed_voltage_disable(struct regulator_dev *dev)
if (gpio_is_valid(data->gpio)) {
gpio_set_value_cansleep(data->gpio, !data->enable_high);
if (gpio_is_valid(data->gpio)) {
gpio_set_value_cansleep(data->gpio, !data->enable_high);
- data->is_enabled =
0
;
+ data->is_enabled =
false
;
}
return 0;
}
}
return 0;
}
+static int fixed_voltage_enable_time(struct regulator_dev *dev)
+{
+ struct fixed_voltage_data *data = rdev_get_drvdata(dev);
+
+ return data->startup_delay;
+}
+
static int fixed_voltage_get_voltage(struct regulator_dev *dev)
{
struct fixed_voltage_data *data = rdev_get_drvdata(dev);
static int fixed_voltage_get_voltage(struct regulator_dev *dev)
{
struct fixed_voltage_data *data = rdev_get_drvdata(dev);
@@
-87,11
+96,12
@@
static struct regulator_ops fixed_voltage_ops = {
.is_enabled = fixed_voltage_is_enabled,
.enable = fixed_voltage_enable,
.disable = fixed_voltage_disable,
.is_enabled = fixed_voltage_is_enabled,
.enable = fixed_voltage_enable,
.disable = fixed_voltage_disable,
+ .enable_time = fixed_voltage_enable_time,
.get_voltage = fixed_voltage_get_voltage,
.list_voltage = fixed_voltage_list_voltage,
};
.get_voltage = fixed_voltage_get_voltage,
.list_voltage = fixed_voltage_list_voltage,
};
-static int
regulator
_fixed_voltage_probe(struct platform_device *pdev)
+static int
__devinit reg
_fixed_voltage_probe(struct platform_device *pdev)
{
struct fixed_voltage_config *config = pdev->dev.platform_data;
struct fixed_voltage_data *drvdata;
{
struct fixed_voltage_config *config = pdev->dev.platform_data;
struct fixed_voltage_data *drvdata;
@@
-117,6
+127,7
@@
static int regulator_fixed_voltage_probe(struct platform_device *pdev)
drvdata->microvolts = config->microvolts;
drvdata->gpio = config->gpio;
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;
if (gpio_is_valid(config->gpio)) {
drvdata->enable_high = config->enable_high;
@@
-163,7
+174,7
@@
static int regulator_fixed_voltage_probe(struct platform_device *pdev)
/* Regulator without GPIO control is considered
* always enabled
*/
/* Regulator without GPIO control is considered
* always enabled
*/
- drvdata->is_enabled =
1
;
+ drvdata->is_enabled =
true
;
}
drvdata->dev = regulator_register(&drvdata->desc, &pdev->dev,
}
drvdata->dev = regulator_register(&drvdata->desc, &pdev->dev,
@@
-191,7
+202,7
@@
err:
return ret;
}
return ret;
}
-static int
regulator
_fixed_voltage_remove(struct platform_device *pdev)
+static int
__devexit reg
_fixed_voltage_remove(struct platform_device *pdev)
{
struct fixed_voltage_data *drvdata = platform_get_drvdata(pdev);
{
struct fixed_voltage_data *drvdata = platform_get_drvdata(pdev);
@@
-205,10
+216,11
@@
static int regulator_fixed_voltage_remove(struct platform_device *pdev)
}
static struct platform_driver regulator_fixed_voltage_driver = {
}
static struct platform_driver regulator_fixed_voltage_driver = {
- .probe = reg
ulator
_fixed_voltage_probe,
- .remove =
regulator_fixed_voltage_remove
,
+ .probe = reg_fixed_voltage_probe,
+ .remove =
__devexit_p(reg_fixed_voltage_remove)
,
.driver = {
.name = "reg-fixed-voltage",
.driver = {
.name = "reg-fixed-voltage",
+ .owner = THIS_MODULE,
},
};
},
};
This page took
0.027339 seconds
and
5
git commands to generate.