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 ...
This commit is contained in:
commit
c8bf9fec47
28 changed files with 1622 additions and 184 deletions
|
|
@ -108,6 +108,8 @@ int mc13783_adc_do_conversion(struct mc13783 *mc13783, unsigned int mode,
|
|||
#define MC13783_REGU_V2 28
|
||||
#define MC13783_REGU_V3 29
|
||||
#define MC13783_REGU_V4 30
|
||||
#define MC13783_REGU_PWGT1SPI 31
|
||||
#define MC13783_REGU_PWGT2SPI 32
|
||||
|
||||
#define MC13783_IRQ_ADCDONE 0
|
||||
#define MC13783_IRQ_ADCBISDONE 1
|
||||
|
|
|
|||
|
|
@ -89,8 +89,9 @@
|
|||
* REGULATION_OUT Regulator output is out of regulation.
|
||||
* FAIL Regulator output has failed.
|
||||
* OVER_TEMP Regulator over temp.
|
||||
* FORCE_DISABLE Regulator shut down by software.
|
||||
* FORCE_DISABLE Regulator forcibly shut down by software.
|
||||
* VOLTAGE_CHANGE Regulator voltage changed.
|
||||
* DISABLE Regulator was disabled.
|
||||
*
|
||||
* NOTE: These events can be OR'ed together when passed into handler.
|
||||
*/
|
||||
|
|
@ -102,6 +103,7 @@
|
|||
#define REGULATOR_EVENT_OVER_TEMP 0x10
|
||||
#define REGULATOR_EVENT_FORCE_DISABLE 0x20
|
||||
#define REGULATOR_EVENT_VOLTAGE_CHANGE 0x40
|
||||
#define REGULATOR_EVENT_DISABLE 0x80
|
||||
|
||||
struct regulator;
|
||||
|
||||
|
|
|
|||
|
|
@ -58,6 +58,9 @@ enum regulator_status {
|
|||
* @get_optimum_mode: Get the most efficient operating mode for the regulator
|
||||
* when running with the specified parameters.
|
||||
*
|
||||
* @enable_time: Time taken for the regulator voltage output voltage to
|
||||
* stabalise after being enabled, in microseconds.
|
||||
*
|
||||
* @set_suspend_voltage: Set the voltage for the regulator when the system
|
||||
* is suspended.
|
||||
* @set_suspend_enable: Mark the regulator as enabled when the system is
|
||||
|
|
@ -93,6 +96,9 @@ struct regulator_ops {
|
|||
int (*set_mode) (struct regulator_dev *, unsigned int mode);
|
||||
unsigned int (*get_mode) (struct regulator_dev *);
|
||||
|
||||
/* Time taken to enable the regulator */
|
||||
int (*enable_time) (struct regulator_dev *);
|
||||
|
||||
/* report regulator status ... most other accessors report
|
||||
* control inputs, this reports results of combining inputs
|
||||
* from Linux (and other sources) with the actual load.
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
44
include/linux/regulator/max8649.h
Normal file
44
include/linux/regulator/max8649.h
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* Interface of Maxim max8649
|
||||
*
|
||||
* Copyright (C) 2009-2010 Marvell International Ltd.
|
||||
* Haojian Zhuang <haojian.zhuang@marvell.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_REGULATOR_MAX8649_H
|
||||
#define __LINUX_REGULATOR_MAX8649_H
|
||||
|
||||
#include <linux/regulator/machine.h>
|
||||
|
||||
enum {
|
||||
MAX8649_EXTCLK_26MHZ = 0,
|
||||
MAX8649_EXTCLK_13MHZ,
|
||||
MAX8649_EXTCLK_19MHZ, /* 19.2MHz */
|
||||
};
|
||||
|
||||
enum {
|
||||
MAX8649_RAMP_32MV = 0,
|
||||
MAX8649_RAMP_16MV,
|
||||
MAX8649_RAMP_8MV,
|
||||
MAX8649_RAMP_4MV,
|
||||
MAX8649_RAMP_2MV,
|
||||
MAX8649_RAMP_1MV,
|
||||
MAX8649_RAMP_0_5MV,
|
||||
MAX8649_RAMP_0_25MV,
|
||||
};
|
||||
|
||||
struct max8649_platform_data {
|
||||
struct regulator_init_data *regulator;
|
||||
|
||||
unsigned mode:2; /* bit[1:0] = VID1,VID0 */
|
||||
unsigned extclk_freq:2;
|
||||
unsigned extclk:1;
|
||||
unsigned ramp_timing:3;
|
||||
unsigned ramp_down:1;
|
||||
};
|
||||
|
||||
#endif /* __LINUX_REGULATOR_MAX8649_H */
|
||||
Loading…
Add table
Add a link
Reference in a new issue