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: (41 commits) regulator: Add some brief design documentation regulator: fix voltage range in da9034 ldo12 regulator/driver: be more specific in nanodoc for is_enabled regulator/lp3971: drop unnecessary initialization regulator: drop 'default n' regulator: fix typos regulator: fix calculation of voltage range in da9034_set_ldo12_voltage() regulator: update a filename in documentation drivers/regulator/Kconfig: fix typo (s/Usersapce/Userspace/) in REGULATOR_USERSPACE_CONSUMER description REGULATOR Handle positive returncode from enable regulator: tps650xx - build fixes for x86_64 Fix some regulator documentation Regulator: Adding TPS65023 and TPS6507x in Kconfig and Makefile Regulator: Add TPS6507x regulator driver Regulator: Add TPS65023 regulator driver regulator: userspace: use sysfs_create_group regulator: Add GPIO enable control to fixed voltage regulator driver Regulator: Implement list_voltage for pcf50633 regulator driver. regulator: regulator_enable() permission checking regulator: Push locking for regulator_is_enabled() out ...
这个提交包含在:
@@ -1,7 +1,7 @@
|
||||
#ifndef __LINUX_PMIC_DA903X_H
|
||||
#define __LINUX_PMIC_DA903X_H
|
||||
|
||||
/* Unified sub device IDs for DA9030/DA9034 */
|
||||
/* Unified sub device IDs for DA9030/DA9034/DA9035 */
|
||||
enum {
|
||||
DA9030_ID_LED_1,
|
||||
DA9030_ID_LED_2,
|
||||
@@ -57,6 +57,8 @@ enum {
|
||||
DA9034_ID_LDO13,
|
||||
DA9034_ID_LDO14,
|
||||
DA9034_ID_LDO15,
|
||||
|
||||
DA9035_ID_BUCK3,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@@ -125,6 +125,8 @@ struct regulator_bulk_data {
|
||||
/* regulator get and put */
|
||||
struct regulator *__must_check regulator_get(struct device *dev,
|
||||
const char *id);
|
||||
struct regulator *__must_check regulator_get_exclusive(struct device *dev,
|
||||
const char *id);
|
||||
void regulator_put(struct regulator *regulator);
|
||||
|
||||
/* regulator output control and status */
|
||||
@@ -144,6 +146,8 @@ void regulator_bulk_free(int num_consumers,
|
||||
|
||||
int regulator_count_voltages(struct regulator *regulator);
|
||||
int regulator_list_voltage(struct regulator *regulator, unsigned selector);
|
||||
int regulator_is_supported_voltage(struct regulator *regulator,
|
||||
int min_uV, int max_uV);
|
||||
int regulator_set_voltage(struct regulator *regulator, int min_uV, int max_uV);
|
||||
int regulator_get_voltage(struct regulator *regulator);
|
||||
int regulator_set_current_limit(struct regulator *regulator,
|
||||
|
@@ -37,7 +37,8 @@ enum regulator_status {
|
||||
*
|
||||
* @enable: Configure the regulator as enabled.
|
||||
* @disable: Configure the regulator as disabled.
|
||||
* @is_enabled: Return 1 if the regulator is enabled, 0 otherwise.
|
||||
* @is_enabled: Return 1 if the regulator is enabled, 0 if not.
|
||||
* May also return negative errno.
|
||||
*
|
||||
* @set_voltage: Set the voltage for the regulator within the range specified.
|
||||
* The driver should select the voltage closest to min_uV.
|
||||
@@ -162,6 +163,8 @@ struct regulator_desc {
|
||||
struct regulator_dev {
|
||||
struct regulator_desc *desc;
|
||||
int use_count;
|
||||
int open_count;
|
||||
int exclusive;
|
||||
|
||||
/* lists we belong to */
|
||||
struct list_head list; /* list of all regulators */
|
||||
|
@@ -5,6 +5,9 @@
|
||||
*
|
||||
* Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
||||
*
|
||||
* Copyright (c) 2009 Nokia Corporation
|
||||
* Roger Quadros <ext-roger.quadros@nokia.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
@@ -16,9 +19,30 @@
|
||||
|
||||
struct regulator_init_data;
|
||||
|
||||
/**
|
||||
* struct fixed_voltage_config - fixed_voltage_config structure
|
||||
* @supply_name: Name of the regulator supply
|
||||
* @microvolts: Output voltage of regulator
|
||||
* @gpio: GPIO to use for enable control
|
||||
* set to -EINVAL if not used
|
||||
* @enable_high: Polarity of enable GPIO
|
||||
* 1 = Active high, 0 = Active low
|
||||
* @enabled_at_boot: Whether regulator has been enabled at
|
||||
* boot or not. 1 = Yes, 0 = No
|
||||
* This is used to keep the regulator at
|
||||
* the default state
|
||||
* @init_data: regulator_init_data
|
||||
*
|
||||
* This structure contains fixed voltage regulator configuration
|
||||
* information that must be passed by platform code to the fixed
|
||||
* voltage regulator driver.
|
||||
*/
|
||||
struct fixed_voltage_config {
|
||||
const char *supply_name;
|
||||
int microvolts;
|
||||
int gpio;
|
||||
unsigned enable_high:1;
|
||||
unsigned enabled_at_boot:1;
|
||||
struct regulator_init_data *init_data;
|
||||
};
|
||||
|
||||
|
@@ -41,7 +41,7 @@ struct regulator;
|
||||
#define REGULATOR_CHANGE_DRMS 0x10
|
||||
|
||||
/**
|
||||
* struct regulator_state - regulator state during low power syatem states
|
||||
* struct regulator_state - regulator state during low power system states
|
||||
*
|
||||
* This describes a regulators state during a system wide low power state.
|
||||
*
|
||||
@@ -117,25 +117,37 @@ struct regulation_constraints {
|
||||
/* mode to set on startup */
|
||||
unsigned int initial_mode;
|
||||
|
||||
/* constriant flags */
|
||||
/* constraint flags */
|
||||
unsigned always_on:1; /* regulator never off when system is on */
|
||||
unsigned boot_on:1; /* bootloader/firmware enabled regulator */
|
||||
unsigned apply_uV:1; /* apply uV constraint iff min == max */
|
||||
unsigned apply_uV:1; /* apply uV constraint if min == max */
|
||||
};
|
||||
|
||||
/**
|
||||
* struct regulator_consumer_supply - supply -> device mapping
|
||||
*
|
||||
* This maps a supply name to a device.
|
||||
* This maps a supply name to a device. Only one of dev or dev_name
|
||||
* can be specified. Use of dev_name allows support for buses which
|
||||
* make struct device available late such as I2C and is the preferred
|
||||
* form.
|
||||
*
|
||||
* @dev: Device structure for the consumer.
|
||||
* @dev_name: Result of dev_name() for the consumer.
|
||||
* @supply: Name for the supply.
|
||||
*/
|
||||
struct regulator_consumer_supply {
|
||||
struct device *dev; /* consumer */
|
||||
const char *dev_name; /* dev_name() for consumer */
|
||||
const char *supply; /* consumer supply - e.g. "vcc" */
|
||||
};
|
||||
|
||||
/* Initialize struct regulator_consumer_supply */
|
||||
#define REGULATOR_SUPPLY(_name, _dev_name) \
|
||||
{ \
|
||||
.supply = _name, \
|
||||
.dev_name = _dev_name, \
|
||||
}
|
||||
|
||||
/**
|
||||
* struct regulator_init_data - regulator platform initialisation data.
|
||||
*
|
||||
@@ -166,6 +178,12 @@ struct regulator_init_data {
|
||||
|
||||
int regulator_suspend_prepare(suspend_state_t state);
|
||||
|
||||
#ifdef CONFIG_REGULATOR
|
||||
void regulator_has_full_constraints(void);
|
||||
#else
|
||||
static inline void regulator_has_full_constraints(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@@ -36,7 +36,7 @@
|
||||
* max1586_subdev_data - regulator data
|
||||
* @id: regulator Id (either MAX1586_V3 or MAX1586_V6)
|
||||
* @name: regulator cute name (example for V3: "vcc_core")
|
||||
* @platform_data: regulator init data (contraints, supplies, ...)
|
||||
* @platform_data: regulator init data (constraints, supplies, ...)
|
||||
*/
|
||||
struct max1586_subdev_data {
|
||||
int id;
|
||||
@@ -46,7 +46,7 @@ struct max1586_subdev_data {
|
||||
|
||||
/**
|
||||
* max1586_platform_data - platform data for max1586
|
||||
* @num_subdevs: number of regultors used (may be 1 or 2)
|
||||
* @num_subdevs: number of regulators used (may be 1 or 2)
|
||||
* @subdevs: regulator used
|
||||
* At most, there will be a regulator for V3 and one for V6 voltages.
|
||||
* @v3_gain: gain on the V3 voltage output multiplied by 1e6.
|
||||
|
在新工单中引用
屏蔽一个用户