diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 10:52:06 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 10:52:06 -0500 |
commit | c8bf9fec478bb8d3c66067be2aaa4082b83da46c (patch) | |
tree | 0fd9761ba12f5f58a3435e9b3bc5a285d552f0c4 /include | |
parent | a2e28fc1164e56d37a56e3c53bd3e5a64462fd02 (diff) | |
parent | 1ad02bbce64e5226b0582af85df4e481e2f6b7b9 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (27 commits)
Regulators: wm8400 - cleanup platform driver data handling
Regulators: wm8994 - clean up driver data after removal
Regulators: wm831x-xxx - clean up driver data after removal
Regulators: pcap-regulator - clean up driver data after removal
Regulators: max8660 - annotate probe and remove methods
Regulators: max1586 - annotate probe and remove methods
Regulators: lp3971 - fail if platform data was not supplied
Regulators: tps6507x-regulator - mark probe method as __devinit
Regulators: tps65023-regulator - mark probe method as __devinit
Regulators: twl-regulator - mark probe function as __devinit
Regulators: fixed - annotate probe and remove methods
Regulators: ab3100 - fix probe and remove annotations
Regulators: virtual - use sysfs attribute groups
twl6030: regulator: Configure STATE register instead of REMAP
regulator: Provide optional dummy regulator for consumers
regulator: Assume regulators are enabled if they don't report anything
regulator: Convert fixed voltage regulator to use enable_time()
regulator: Add WM8994 regulator support
regulator: enable max8649 regulator driver
regulator: trivial: fix typos in user-visible Kconfig text
...
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mfd/mc13783.h | 2 | ||||
-rw-r--r-- | include/linux/regulator/consumer.h | 4 | ||||
-rw-r--r-- | include/linux/regulator/driver.h | 6 | ||||
-rw-r--r-- | include/linux/regulator/fixed.h | 2 | ||||
-rw-r--r-- | include/linux/regulator/max8649.h | 44 |
5 files changed, 57 insertions, 1 deletions
diff --git a/include/linux/mfd/mc13783.h b/include/linux/mfd/mc13783.h index 35680409b8cf..94cb51a64037 100644 --- a/include/linux/mfd/mc13783.h +++ b/include/linux/mfd/mc13783.h | |||
@@ -108,6 +108,8 @@ int mc13783_adc_do_conversion(struct mc13783 *mc13783, unsigned int mode, | |||
108 | #define MC13783_REGU_V2 28 | 108 | #define MC13783_REGU_V2 28 |
109 | #define MC13783_REGU_V3 29 | 109 | #define MC13783_REGU_V3 29 |
110 | #define MC13783_REGU_V4 30 | 110 | #define MC13783_REGU_V4 30 |
111 | #define MC13783_REGU_PWGT1SPI 31 | ||
112 | #define MC13783_REGU_PWGT2SPI 32 | ||
111 | 113 | ||
112 | #define MC13783_IRQ_ADCDONE 0 | 114 | #define MC13783_IRQ_ADCDONE 0 |
113 | #define MC13783_IRQ_ADCBISDONE 1 | 115 | #define MC13783_IRQ_ADCBISDONE 1 |
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h index 030d92255c7a..28c9fd020d39 100644 --- a/include/linux/regulator/consumer.h +++ b/include/linux/regulator/consumer.h | |||
@@ -89,8 +89,9 @@ | |||
89 | * REGULATION_OUT Regulator output is out of regulation. | 89 | * REGULATION_OUT Regulator output is out of regulation. |
90 | * FAIL Regulator output has failed. | 90 | * FAIL Regulator output has failed. |
91 | * OVER_TEMP Regulator over temp. | 91 | * OVER_TEMP Regulator over temp. |
92 | * FORCE_DISABLE Regulator shut down by software. | 92 | * FORCE_DISABLE Regulator forcibly shut down by software. |
93 | * VOLTAGE_CHANGE Regulator voltage changed. | 93 | * VOLTAGE_CHANGE Regulator voltage changed. |
94 | * DISABLE Regulator was disabled. | ||
94 | * | 95 | * |
95 | * NOTE: These events can be OR'ed together when passed into handler. | 96 | * NOTE: These events can be OR'ed together when passed into handler. |
96 | */ | 97 | */ |
@@ -102,6 +103,7 @@ | |||
102 | #define REGULATOR_EVENT_OVER_TEMP 0x10 | 103 | #define REGULATOR_EVENT_OVER_TEMP 0x10 |
103 | #define REGULATOR_EVENT_FORCE_DISABLE 0x20 | 104 | #define REGULATOR_EVENT_FORCE_DISABLE 0x20 |
104 | #define REGULATOR_EVENT_VOLTAGE_CHANGE 0x40 | 105 | #define REGULATOR_EVENT_VOLTAGE_CHANGE 0x40 |
106 | #define REGULATOR_EVENT_DISABLE 0x80 | ||
105 | 107 | ||
106 | struct regulator; | 108 | struct regulator; |
107 | 109 | ||
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h index 31f2055eae28..592cd7c642c2 100644 --- a/include/linux/regulator/driver.h +++ b/include/linux/regulator/driver.h | |||
@@ -58,6 +58,9 @@ enum regulator_status { | |||
58 | * @get_optimum_mode: Get the most efficient operating mode for the regulator | 58 | * @get_optimum_mode: Get the most efficient operating mode for the regulator |
59 | * when running with the specified parameters. | 59 | * when running with the specified parameters. |
60 | * | 60 | * |
61 | * @enable_time: Time taken for the regulator voltage output voltage to | ||
62 | * stabalise after being enabled, in microseconds. | ||
63 | * | ||
61 | * @set_suspend_voltage: Set the voltage for the regulator when the system | 64 | * @set_suspend_voltage: Set the voltage for the regulator when the system |
62 | * is suspended. | 65 | * is suspended. |
63 | * @set_suspend_enable: Mark the regulator as enabled when the system is | 66 | * @set_suspend_enable: Mark the regulator as enabled when the system is |
@@ -93,6 +96,9 @@ struct regulator_ops { | |||
93 | int (*set_mode) (struct regulator_dev *, unsigned int mode); | 96 | int (*set_mode) (struct regulator_dev *, unsigned int mode); |
94 | unsigned int (*get_mode) (struct regulator_dev *); | 97 | unsigned int (*get_mode) (struct regulator_dev *); |
95 | 98 | ||
99 | /* Time taken to enable the regulator */ | ||
100 | int (*enable_time) (struct regulator_dev *); | ||
101 | |||
96 | /* report regulator status ... most other accessors report | 102 | /* report regulator status ... most other accessors report |
97 | * control inputs, this reports results of combining inputs | 103 | * control inputs, this reports results of combining inputs |
98 | * from Linux (and other sources) with the actual load. | 104 | * from Linux (and other sources) with the actual load. |
diff --git a/include/linux/regulator/fixed.h b/include/linux/regulator/fixed.h index e94a4a1c7c8a..ffd7d508e726 100644 --- a/include/linux/regulator/fixed.h +++ b/include/linux/regulator/fixed.h | |||
@@ -25,6 +25,7 @@ struct regulator_init_data; | |||
25 | * @microvolts: Output voltage of regulator | 25 | * @microvolts: Output voltage of regulator |
26 | * @gpio: GPIO to use for enable control | 26 | * @gpio: GPIO to use for enable control |
27 | * set to -EINVAL if not used | 27 | * set to -EINVAL if not used |
28 | * @startup_delay: Start-up time in microseconds | ||
28 | * @enable_high: Polarity of enable GPIO | 29 | * @enable_high: Polarity of enable GPIO |
29 | * 1 = Active high, 0 = Active low | 30 | * 1 = Active high, 0 = Active low |
30 | * @enabled_at_boot: Whether regulator has been enabled at | 31 | * @enabled_at_boot: Whether regulator has been enabled at |
@@ -41,6 +42,7 @@ struct fixed_voltage_config { | |||
41 | const char *supply_name; | 42 | const char *supply_name; |
42 | int microvolts; | 43 | int microvolts; |
43 | int gpio; | 44 | int gpio; |
45 | unsigned startup_delay; | ||
44 | unsigned enable_high:1; | 46 | unsigned enable_high:1; |
45 | unsigned enabled_at_boot:1; | 47 | unsigned enabled_at_boot:1; |
46 | struct regulator_init_data *init_data; | 48 | struct regulator_init_data *init_data; |
diff --git a/include/linux/regulator/max8649.h b/include/linux/regulator/max8649.h new file mode 100644 index 000000000000..417d14ecd5cb --- /dev/null +++ b/include/linux/regulator/max8649.h | |||
@@ -0,0 +1,44 @@ | |||
1 | /* | ||
2 | * Interface of Maxim max8649 | ||
3 | * | ||
4 | * Copyright (C) 2009-2010 Marvell International Ltd. | ||
5 | * Haojian Zhuang <haojian.zhuang@marvell.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #ifndef __LINUX_REGULATOR_MAX8649_H | ||
13 | #define __LINUX_REGULATOR_MAX8649_H | ||
14 | |||
15 | #include <linux/regulator/machine.h> | ||
16 | |||
17 | enum { | ||
18 | MAX8649_EXTCLK_26MHZ = 0, | ||
19 | MAX8649_EXTCLK_13MHZ, | ||
20 | MAX8649_EXTCLK_19MHZ, /* 19.2MHz */ | ||
21 | }; | ||
22 | |||
23 | enum { | ||
24 | MAX8649_RAMP_32MV = 0, | ||
25 | MAX8649_RAMP_16MV, | ||
26 | MAX8649_RAMP_8MV, | ||
27 | MAX8649_RAMP_4MV, | ||
28 | MAX8649_RAMP_2MV, | ||
29 | MAX8649_RAMP_1MV, | ||
30 | MAX8649_RAMP_0_5MV, | ||
31 | MAX8649_RAMP_0_25MV, | ||
32 | }; | ||
33 | |||
34 | struct max8649_platform_data { | ||
35 | struct regulator_init_data *regulator; | ||
36 | |||
37 | unsigned mode:2; /* bit[1:0] = VID1,VID0 */ | ||
38 | unsigned extclk_freq:2; | ||
39 | unsigned extclk:1; | ||
40 | unsigned ramp_timing:3; | ||
41 | unsigned ramp_down:1; | ||
42 | }; | ||
43 | |||
44 | #endif /* __LINUX_REGULATOR_MAX8649_H */ | ||