Merge remote-tracking branches 'regulator/topic/da9063', 'regulator/topic/doc', 'regulator/topic/fan53555', 'regulator/topic/gpio' and 'regulator/topic/ilim' into regulator-next
This commit is contained in:
@@ -91,6 +91,7 @@ struct regulator_linear_range {
|
||||
* @set_current_limit: Configure a limit for a current-limited regulator.
|
||||
* The driver should select the current closest to max_uA.
|
||||
* @get_current_limit: Get the configured limit for a current-limited regulator.
|
||||
* @set_input_current_limit: Configure an input limit.
|
||||
*
|
||||
* @set_mode: Set the configured operating mode for the regulator.
|
||||
* @get_mode: Get the configured operating mode for the regulator.
|
||||
@@ -121,6 +122,9 @@ struct regulator_linear_range {
|
||||
* @set_suspend_mode: Set the operating mode for the regulator when the
|
||||
* system is suspended.
|
||||
*
|
||||
* @set_pull_down: Configure the regulator to pull down when the regulator
|
||||
* is disabled.
|
||||
*
|
||||
* This struct describes regulator operations which can be implemented by
|
||||
* regulator chip drivers.
|
||||
*/
|
||||
@@ -142,6 +146,8 @@ struct regulator_ops {
|
||||
int min_uA, int max_uA);
|
||||
int (*get_current_limit) (struct regulator_dev *);
|
||||
|
||||
int (*set_input_current_limit) (struct regulator_dev *, int lim_uA);
|
||||
|
||||
/* enable/disable regulator */
|
||||
int (*enable) (struct regulator_dev *);
|
||||
int (*disable) (struct regulator_dev *);
|
||||
@@ -158,6 +164,8 @@ struct regulator_ops {
|
||||
unsigned int old_selector,
|
||||
unsigned int new_selector);
|
||||
|
||||
int (*set_soft_start) (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.
|
||||
@@ -187,6 +195,8 @@ struct regulator_ops {
|
||||
|
||||
/* set regulator suspend operating mode (defined in consumer.h) */
|
||||
int (*set_suspend_mode) (struct regulator_dev *, unsigned int mode);
|
||||
|
||||
int (*set_pull_down) (struct regulator_dev *);
|
||||
};
|
||||
|
||||
/*
|
||||
|
@@ -75,6 +75,8 @@ struct regulator_state {
|
||||
*
|
||||
* @min_uA: Smallest current consumers may set.
|
||||
* @max_uA: Largest current consumers may set.
|
||||
* @ilim_uA: Maximum input current.
|
||||
* @system_load: Load that isn't captured by any consumer requests.
|
||||
*
|
||||
* @valid_modes_mask: Mask of modes which may be configured by consumers.
|
||||
* @valid_ops_mask: Operations which may be performed by consumers.
|
||||
@@ -86,6 +88,7 @@ struct regulator_state {
|
||||
* applied.
|
||||
* @apply_uV: Apply the voltage constraint when initialising.
|
||||
* @ramp_disable: Disable ramp delay when initialising or when setting voltage.
|
||||
* @pull_down: Enable pull down when regulator is disabled.
|
||||
*
|
||||
* @input_uV: Input voltage for regulator when supplied by another regulator.
|
||||
*
|
||||
@@ -111,6 +114,9 @@ struct regulation_constraints {
|
||||
/* current output range (inclusive) - for current control */
|
||||
int min_uA;
|
||||
int max_uA;
|
||||
int ilim_uA;
|
||||
|
||||
int system_load;
|
||||
|
||||
/* valid regulator operating modes for this machine */
|
||||
unsigned int valid_modes_mask;
|
||||
@@ -138,6 +144,8 @@ struct regulation_constraints {
|
||||
unsigned boot_on:1; /* bootloader/firmware enabled regulator */
|
||||
unsigned apply_uV:1; /* apply uV constraint if min == max */
|
||||
unsigned ramp_disable:1; /* disable ramp delay */
|
||||
unsigned soft_start:1; /* ramp voltage slowly */
|
||||
unsigned pull_down:1; /* pull down resistor when regulator off */
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user