diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-03-24 07:29:58 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-03-24 07:29:58 -0400 |
commit | 511f1cb6d426938fabf9c6d69ce4861b66ffd919 (patch) | |
tree | 88fd9b5c15ccb42d5d582f83e87ce5d3f16127cb /include/linux/regulator | |
parent | f907ab06bb021bcb91d39c8d1b36536ebdb318fa (diff) | |
parent | 4992fa1fd425f1934f503ffa96b68e235b89db9a (diff) |
Merge tag 'regulator-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into next/drivers
The pxa regulator branch removes the bq24022 driver, while a lot of
other regulator drivers got added in the regulator tree. This
resolves the trivial conflicts by merging in the regulator patches
that are already merged into v3.4.
Conflicts:
drivers/regulator/Kconfig
drivers/regulator/Makefile
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/regulator')
-rw-r--r-- | include/linux/regulator/consumer.h | 22 | ||||
-rw-r--r-- | include/linux/regulator/driver.h | 6 | ||||
-rw-r--r-- | include/linux/regulator/fixed.h | 13 | ||||
-rw-r--r-- | include/linux/regulator/machine.h | 2 | ||||
-rw-r--r-- | include/linux/regulator/tps62360.h | 57 |
5 files changed, 94 insertions, 6 deletions
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h index f2698a0edfc4..b6c8d717c7ec 100644 --- a/include/linux/regulator/consumer.h +++ b/include/linux/regulator/consumer.h | |||
@@ -132,9 +132,12 @@ struct regulator_bulk_data { | |||
132 | /* regulator get and put */ | 132 | /* regulator get and put */ |
133 | struct regulator *__must_check regulator_get(struct device *dev, | 133 | struct regulator *__must_check regulator_get(struct device *dev, |
134 | const char *id); | 134 | const char *id); |
135 | struct regulator *__must_check devm_regulator_get(struct device *dev, | ||
136 | const char *id); | ||
135 | struct regulator *__must_check regulator_get_exclusive(struct device *dev, | 137 | struct regulator *__must_check regulator_get_exclusive(struct device *dev, |
136 | const char *id); | 138 | const char *id); |
137 | void regulator_put(struct regulator *regulator); | 139 | void regulator_put(struct regulator *regulator); |
140 | void devm_regulator_put(struct regulator *regulator); | ||
138 | 141 | ||
139 | /* regulator output control and status */ | 142 | /* regulator output control and status */ |
140 | int regulator_enable(struct regulator *regulator); | 143 | int regulator_enable(struct regulator *regulator); |
@@ -145,6 +148,8 @@ int regulator_disable_deferred(struct regulator *regulator, int ms); | |||
145 | 148 | ||
146 | int regulator_bulk_get(struct device *dev, int num_consumers, | 149 | int regulator_bulk_get(struct device *dev, int num_consumers, |
147 | struct regulator_bulk_data *consumers); | 150 | struct regulator_bulk_data *consumers); |
151 | int devm_regulator_bulk_get(struct device *dev, int num_consumers, | ||
152 | struct regulator_bulk_data *consumers); | ||
148 | int regulator_bulk_enable(int num_consumers, | 153 | int regulator_bulk_enable(int num_consumers, |
149 | struct regulator_bulk_data *consumers); | 154 | struct regulator_bulk_data *consumers); |
150 | int regulator_bulk_disable(int num_consumers, | 155 | int regulator_bulk_disable(int num_consumers, |
@@ -200,10 +205,21 @@ static inline struct regulator *__must_check regulator_get(struct device *dev, | |||
200 | */ | 205 | */ |
201 | return NULL; | 206 | return NULL; |
202 | } | 207 | } |
208 | |||
209 | static inline struct regulator *__must_check | ||
210 | devm_regulator_get(struct device *dev, const char *id) | ||
211 | { | ||
212 | return NULL; | ||
213 | } | ||
214 | |||
203 | static inline void regulator_put(struct regulator *regulator) | 215 | static inline void regulator_put(struct regulator *regulator) |
204 | { | 216 | { |
205 | } | 217 | } |
206 | 218 | ||
219 | static inline void devm_regulator_put(struct regulator *regulator) | ||
220 | { | ||
221 | } | ||
222 | |||
207 | static inline int regulator_enable(struct regulator *regulator) | 223 | static inline int regulator_enable(struct regulator *regulator) |
208 | { | 224 | { |
209 | return 0; | 225 | return 0; |
@@ -237,6 +253,12 @@ static inline int regulator_bulk_get(struct device *dev, | |||
237 | return 0; | 253 | return 0; |
238 | } | 254 | } |
239 | 255 | ||
256 | static inline int devm_regulator_bulk_get(struct device *dev, int num_consumers, | ||
257 | struct regulator_bulk_data *consumers) | ||
258 | { | ||
259 | return 0; | ||
260 | } | ||
261 | |||
240 | static inline int regulator_bulk_enable(int num_consumers, | 262 | static inline int regulator_bulk_enable(int num_consumers, |
241 | struct regulator_bulk_data *consumers) | 263 | struct regulator_bulk_data *consumers) |
242 | { | 264 | { |
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h index 4214b9a9d1c9..fa8b55b8191c 100644 --- a/include/linux/regulator/driver.h +++ b/include/linux/regulator/driver.h | |||
@@ -104,7 +104,7 @@ struct regulator_ops { | |||
104 | int (*disable) (struct regulator_dev *); | 104 | int (*disable) (struct regulator_dev *); |
105 | int (*is_enabled) (struct regulator_dev *); | 105 | int (*is_enabled) (struct regulator_dev *); |
106 | 106 | ||
107 | /* get/set regulator operating mode (defined in regulator.h) */ | 107 | /* get/set regulator operating mode (defined in consumer.h) */ |
108 | int (*set_mode) (struct regulator_dev *, unsigned int mode); | 108 | int (*set_mode) (struct regulator_dev *, unsigned int mode); |
109 | unsigned int (*get_mode) (struct regulator_dev *); | 109 | unsigned int (*get_mode) (struct regulator_dev *); |
110 | 110 | ||
@@ -135,7 +135,7 @@ struct regulator_ops { | |||
135 | int (*set_suspend_enable) (struct regulator_dev *); | 135 | int (*set_suspend_enable) (struct regulator_dev *); |
136 | int (*set_suspend_disable) (struct regulator_dev *); | 136 | int (*set_suspend_disable) (struct regulator_dev *); |
137 | 137 | ||
138 | /* set regulator suspend operating mode (defined in regulator.h) */ | 138 | /* set regulator suspend operating mode (defined in consumer.h) */ |
139 | int (*set_suspend_mode) (struct regulator_dev *, unsigned int mode); | 139 | int (*set_suspend_mode) (struct regulator_dev *, unsigned int mode); |
140 | }; | 140 | }; |
141 | 141 | ||
@@ -207,9 +207,7 @@ struct regulator_dev { | |||
207 | 207 | ||
208 | void *reg_data; /* regulator_dev data */ | 208 | void *reg_data; /* regulator_dev data */ |
209 | 209 | ||
210 | #ifdef CONFIG_DEBUG_FS | ||
211 | struct dentry *debugfs; | 210 | struct dentry *debugfs; |
212 | #endif | ||
213 | }; | 211 | }; |
214 | 212 | ||
215 | struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, | 213 | struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, |
diff --git a/include/linux/regulator/fixed.h b/include/linux/regulator/fixed.h index ffd7d508e726..936a7d8c11a9 100644 --- a/include/linux/regulator/fixed.h +++ b/include/linux/regulator/fixed.h | |||
@@ -48,4 +48,17 @@ struct fixed_voltage_config { | |||
48 | struct regulator_init_data *init_data; | 48 | struct regulator_init_data *init_data; |
49 | }; | 49 | }; |
50 | 50 | ||
51 | struct regulator_consumer_supply; | ||
52 | |||
53 | #if IS_ENABLED(CONFIG_REGULATOR) | ||
54 | struct platform_device *regulator_register_fixed(int id, | ||
55 | struct regulator_consumer_supply *supplies, int num_supplies); | ||
56 | #else | ||
57 | static inline struct platform_device *regulator_register_fixed(int id, | ||
58 | struct regulator_consumer_supply *supplies, int num_supplies) | ||
59 | { | ||
60 | return NULL; | ||
61 | } | ||
62 | #endif | ||
63 | |||
51 | #endif | 64 | #endif |
diff --git a/include/linux/regulator/machine.h b/include/linux/regulator/machine.h index f3f13fd5868f..7abb16093312 100644 --- a/include/linux/regulator/machine.h +++ b/include/linux/regulator/machine.h | |||
@@ -139,12 +139,10 @@ struct regulation_constraints { | |||
139 | * make struct device available late such as I2C and is the preferred | 139 | * make struct device available late such as I2C and is the preferred |
140 | * form. | 140 | * form. |
141 | * | 141 | * |
142 | * @dev: Device structure for the consumer. | ||
143 | * @dev_name: Result of dev_name() for the consumer. | 142 | * @dev_name: Result of dev_name() for the consumer. |
144 | * @supply: Name for the supply. | 143 | * @supply: Name for the supply. |
145 | */ | 144 | */ |
146 | struct regulator_consumer_supply { | 145 | struct regulator_consumer_supply { |
147 | struct device *dev; /* consumer */ | ||
148 | const char *dev_name; /* dev_name() for consumer */ | 146 | const char *dev_name; /* dev_name() for consumer */ |
149 | const char *supply; /* consumer supply - e.g. "vcc" */ | 147 | const char *supply; /* consumer supply - e.g. "vcc" */ |
150 | }; | 148 | }; |
diff --git a/include/linux/regulator/tps62360.h b/include/linux/regulator/tps62360.h new file mode 100644 index 000000000000..6a5c1b2c751e --- /dev/null +++ b/include/linux/regulator/tps62360.h | |||
@@ -0,0 +1,57 @@ | |||
1 | /* | ||
2 | * tps62360.h -- TI tps62360 | ||
3 | * | ||
4 | * Interface for regulator driver for TI TPS62360 Processor core supply | ||
5 | * | ||
6 | * Copyright (C) 2012 NVIDIA Corporation | ||
7 | |||
8 | * Author: Laxman Dewangan <ldewangan@nvidia.com> | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
16 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
17 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
18 | * more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License along | ||
21 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
22 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
23 | * | ||
24 | */ | ||
25 | |||
26 | #ifndef __LINUX_REGULATOR_TPS62360_H | ||
27 | #define __LINUX_REGULATOR_TPS62360_H | ||
28 | |||
29 | #include <linux/regulator/machine.h> | ||
30 | |||
31 | /* | ||
32 | * struct tps62360_regulator_platform_data - tps62360 regulator platform data. | ||
33 | * | ||
34 | * @reg_init_data: The regulator init data. | ||
35 | * @en_force_pwm: Enable force pwm or not. | ||
36 | * @en_discharge: Enable discharge the output capacitor via internal | ||
37 | * register. | ||
38 | * @en_internal_pulldn: internal pull down enable or not. | ||
39 | * @vsel0_gpio: Gpio number for vsel0. It should be -1 if this is tied with | ||
40 | * fixed logic. | ||
41 | * @vsel1_gpio: Gpio number for vsel1. It should be -1 if this is tied with | ||
42 | * fixed logic. | ||
43 | * @vsel0_def_state: Default state of vsel0. 1 if it is high else 0. | ||
44 | * @vsel1_def_state: Default state of vsel1. 1 if it is high else 0. | ||
45 | */ | ||
46 | struct tps62360_regulator_platform_data { | ||
47 | struct regulator_init_data reg_init_data; | ||
48 | bool en_force_pwm; | ||
49 | bool en_discharge; | ||
50 | bool en_internal_pulldn; | ||
51 | int vsel0_gpio; | ||
52 | int vsel1_gpio; | ||
53 | int vsel0_def_state; | ||
54 | int vsel1_def_state; | ||
55 | }; | ||
56 | |||
57 | #endif /* __LINUX_REGULATOR_TPS62360_H */ | ||