Merge branch 'topic/coupled' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-4.21 for trivial conflict
This commit is contained in:
commit
ffb8c1e45e
|
@ -82,6 +82,8 @@ Optional properties:
|
|||
- regulator-coupled-max-spread: Array of maximum spread between voltages of
|
||||
coupled regulators in microvolts, each value in the array relates to the
|
||||
corresponding couple specified by the regulator-coupled-with property.
|
||||
- regulator-max-step-microvolt: Maximum difference between current and target
|
||||
voltages that can be changed safely in a single step.
|
||||
|
||||
Deprecated properties:
|
||||
- regulator-compatible: If a regulator chip contains multiple
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -131,7 +131,7 @@ static irqreturn_t da9210_irq_handler(int irq, void *data)
|
|||
if (error < 0)
|
||||
goto error_i2c;
|
||||
|
||||
mutex_lock(&chip->rdev->mutex);
|
||||
regulator_lock(chip->rdev);
|
||||
|
||||
if (val & DA9210_E_OVCURR) {
|
||||
regulator_notifier_call_chain(chip->rdev,
|
||||
|
@ -157,7 +157,7 @@ static irqreturn_t da9210_irq_handler(int irq, void *data)
|
|||
handled |= DA9210_E_VMAX;
|
||||
}
|
||||
|
||||
mutex_unlock(&chip->rdev->mutex);
|
||||
regulator_unlock(chip->rdev);
|
||||
|
||||
if (handled) {
|
||||
/* Clear handled events */
|
||||
|
|
|
@ -171,6 +171,10 @@ static void of_get_regulation_constraints(struct device_node *np,
|
|||
&pval))
|
||||
constraints->max_spread = pval;
|
||||
|
||||
if (!of_property_read_u32(np, "regulator-max-step-microvolt",
|
||||
&pval))
|
||||
constraints->max_uV_step = pval;
|
||||
|
||||
constraints->over_current_protection = of_property_read_bool(np,
|
||||
"regulator-over-current-protection");
|
||||
|
||||
|
|
|
@ -489,14 +489,14 @@ static irqreturn_t stpmic1_curlim_irq_handler(int irq, void *data)
|
|||
{
|
||||
struct regulator_dev *rdev = (struct regulator_dev *)data;
|
||||
|
||||
mutex_lock(&rdev->mutex);
|
||||
regulator_lock(rdev, NULL);
|
||||
|
||||
/* Send an overcurrent notification */
|
||||
regulator_notifier_call_chain(rdev,
|
||||
REGULATOR_EVENT_OVER_CURRENT,
|
||||
NULL);
|
||||
|
||||
mutex_unlock(&rdev->mutex);
|
||||
regulator_unlock(rdev);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
|
|
@ -1153,7 +1153,7 @@ static irqreturn_t pmic_uv_handler(int irq, void *data)
|
|||
{
|
||||
struct regulator_dev *rdev = (struct regulator_dev *)data;
|
||||
|
||||
mutex_lock(&rdev->mutex);
|
||||
regulator_lock(rdev);
|
||||
if (irq == WM8350_IRQ_CS1 || irq == WM8350_IRQ_CS2)
|
||||
regulator_notifier_call_chain(rdev,
|
||||
REGULATOR_EVENT_REGULATION_OUT,
|
||||
|
@ -1162,7 +1162,7 @@ static irqreturn_t pmic_uv_handler(int irq, void *data)
|
|||
regulator_notifier_call_chain(rdev,
|
||||
REGULATOR_EVENT_UNDER_VOLTAGE,
|
||||
NULL);
|
||||
mutex_unlock(&rdev->mutex);
|
||||
regulator_unlock(rdev);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
|
|
@ -15,11 +15,12 @@
|
|||
#ifndef __LINUX_REGULATOR_DRIVER_H_
|
||||
#define __LINUX_REGULATOR_DRIVER_H_
|
||||
|
||||
#define MAX_COUPLED 4
|
||||
#define MAX_COUPLED 2
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/notifier.h>
|
||||
#include <linux/regulator/consumer.h>
|
||||
#include <linux/ww_mutex.h>
|
||||
|
||||
struct gpio_desc;
|
||||
struct regmap;
|
||||
|
@ -462,7 +463,7 @@ struct regulator_dev {
|
|||
struct coupling_desc coupling_desc;
|
||||
|
||||
struct blocking_notifier_head notifier;
|
||||
struct mutex mutex; /* consumer lock */
|
||||
struct ww_mutex mutex; /* consumer lock */
|
||||
struct task_struct *mutex_owner;
|
||||
int ref_cnt;
|
||||
struct module *owner;
|
||||
|
@ -545,4 +546,7 @@ int regulator_set_active_discharge_regmap(struct regulator_dev *rdev,
|
|||
bool enable);
|
||||
void *regulator_get_init_drvdata(struct regulator_init_data *reg_init_data);
|
||||
|
||||
void regulator_lock(struct regulator_dev *rdev);
|
||||
void regulator_unlock(struct regulator_dev *rdev);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -158,6 +158,9 @@ struct regulation_constraints {
|
|||
/* used for coupled regulators */
|
||||
int max_spread;
|
||||
|
||||
/* used for changing voltage in steps */
|
||||
int max_uV_step;
|
||||
|
||||
/* valid regulator operating modes for this machine */
|
||||
unsigned int valid_modes_mask;
|
||||
|
||||
|
|
Loading…
Reference in New Issue