diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2017-03-21 21:30:27 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-03-21 21:30:26 -0700 |
| commit | c65465727b39511c26ff33d03ed35a5e4dee6bc4 (patch) | |
| tree | f010953237871599da1b34fa8a595b5fa4fb89f0 | |
| parent | 05291016841f7ed5fa1409830fff8dda46c3e448 (diff) | |
| parent | 5e34bc8d01718770752d74c2907142682b664da9 (diff) | |
Merge "pmic-voter: move to common header location"
| -rw-r--r-- | drivers/iio/adc/qcom-tadc.c | 22 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/battery.c | 2 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/fg-core.h | 2 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/pmic-voter.c | 2 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/qpnp-qnovo.c | 2 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/qpnp-smb2.c | 2 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/smb-lib.c | 2 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/smb138x-charger.c | 2 | ||||
| -rw-r--r-- | include/linux/pmic-voter.h (renamed from drivers/power/supply/qcom/pmic-voter.h) | 0 |
9 files changed, 22 insertions, 14 deletions
diff --git a/drivers/iio/adc/qcom-tadc.c b/drivers/iio/adc/qcom-tadc.c index 9241288c1d43..e30361eb4338 100644 --- a/drivers/iio/adc/qcom-tadc.c +++ b/drivers/iio/adc/qcom-tadc.c @@ -217,6 +217,7 @@ struct tadc_chip { struct tadc_chan_data chans[TADC_NUM_CH]; struct completion eoc_complete; struct mutex write_lock; + struct mutex conv_lock; }; struct tadc_pt { @@ -482,10 +483,11 @@ static int tadc_do_conversion(struct tadc_chip *chip, u8 channels, s16 *adc) u8 val[TADC_NUM_CH * 2]; int rc, i; + mutex_lock(&chip->conv_lock); rc = tadc_read(chip, TADC_MBG_ERR_REG(chip), val, 1); if (rc < 0) { pr_err("Couldn't read mbg error status rc=%d\n", rc); - return rc; + goto unlock; } if (val[0] != 0) { @@ -496,7 +498,7 @@ static int tadc_do_conversion(struct tadc_chip *chip, u8 channels, s16 *adc) rc = tadc_write(chip, TADC_CONV_REQ_REG(chip), channels); if (rc < 0) { pr_err("Couldn't write conversion request rc=%d\n", rc); - return rc; + goto unlock; } timeout = msecs_to_jiffies(CONVERSION_TIMEOUT_MS); @@ -506,25 +508,29 @@ static int tadc_do_conversion(struct tadc_chip *chip, u8 channels, s16 *adc) rc = tadc_read(chip, TADC_SW_CH_CONV_REG(chip), val, 1); if (rc < 0) { pr_err("Couldn't read conversion status rc=%d\n", rc); - return rc; + goto unlock; } if (val[0] != channels) { - pr_err("Conversion timed out\n"); - return -ETIMEDOUT; + rc = -ETIMEDOUT; + goto unlock; } } rc = tadc_read(chip, TADC_CH1_ADC_LO_REG(chip), val, ARRAY_SIZE(val)); if (rc < 0) { pr_err("Couldn't read adc channels rc=%d\n", rc); - return rc; + goto unlock; } for (i = 0; i < TADC_NUM_CH; i++) adc[i] = (s16)(val[i * 2] | (u16)val[i * 2 + 1] << 8); - return jiffies_to_msecs(timeout - timeleft); + rc = jiffies_to_msecs(timeout - timeleft); + +unlock: + mutex_unlock(&chip->conv_lock); + return rc; } static int tadc_read_raw(struct iio_dev *indio_dev, @@ -683,6 +689,7 @@ static int tadc_read_raw(struct iio_dev *indio_dev, case TADC_DIE_TEMP: case TADC_DIE_TEMP_THR1: case TADC_DIE_TEMP_THR2: + case TADC_DIE_TEMP_THR3: *val = chan_data->scale; return IIO_VAL_INT; case TADC_BATT_I: @@ -1017,6 +1024,7 @@ static int tadc_probe(struct platform_device *pdev) chip->tadc_cmp_base = chip->tadc_base + 0x100; mutex_init(&chip->write_lock); + mutex_init(&chip->conv_lock); chip->regmap = dev_get_regmap(chip->dev->parent, NULL); if (!chip->regmap) { pr_err("Couldn't get regmap\n"); diff --git a/drivers/power/supply/qcom/battery.c b/drivers/power/supply/qcom/battery.c index 5b320ca8e74e..0c80c8be7909 100644 --- a/drivers/power/supply/qcom/battery.c +++ b/drivers/power/supply/qcom/battery.c @@ -24,7 +24,7 @@ #include <linux/printk.h> #include <linux/pm_wakeup.h> #include <linux/slab.h> -#include "pmic-voter.h" +#include <linux/pmic-voter.h> #define DRV_MAJOR_VERSION 1 #define DRV_MINOR_VERSION 0 diff --git a/drivers/power/supply/qcom/fg-core.h b/drivers/power/supply/qcom/fg-core.h index 32a25b4e2c7b..1c0eecdf162c 100644 --- a/drivers/power/supply/qcom/fg-core.h +++ b/drivers/power/supply/qcom/fg-core.h @@ -29,7 +29,7 @@ #include <linux/string_helpers.h> #include <linux/types.h> #include <linux/uaccess.h> -#include "pmic-voter.h" +#include <linux/pmic-voter.h> #define fg_dbg(chip, reason, fmt, ...) \ do { \ diff --git a/drivers/power/supply/qcom/pmic-voter.c b/drivers/power/supply/qcom/pmic-voter.c index c07e9f083204..3652cc7802eb 100644 --- a/drivers/power/supply/qcom/pmic-voter.c +++ b/drivers/power/supply/qcom/pmic-voter.c @@ -18,7 +18,7 @@ #include <linux/slab.h> #include <linux/string.h> -#include "pmic-voter.h" +#include <linux/pmic-voter.h> #define NUM_MAX_CLIENTS 8 #define DEBUG_FORCE_CLIENT "DEBUG_FORCE_CLIENT" diff --git a/drivers/power/supply/qcom/qpnp-qnovo.c b/drivers/power/supply/qcom/qpnp-qnovo.c index d36db8d8f3f1..712f37daa1ca 100644 --- a/drivers/power/supply/qcom/qpnp-qnovo.c +++ b/drivers/power/supply/qcom/qpnp-qnovo.c @@ -19,7 +19,7 @@ #include <linux/of.h> #include <linux/of_irq.h> #include <linux/qpnp/qpnp-revid.h> -#include "pmic-voter.h" +#include <linux/pmic-voter.h> #define QNOVO_REVISION1 0x00 #define QNOVO_REVISION2 0x01 diff --git a/drivers/power/supply/qcom/qpnp-smb2.c b/drivers/power/supply/qcom/qpnp-smb2.c index 26f47df73c2f..7311c56d9564 100644 --- a/drivers/power/supply/qcom/qpnp-smb2.c +++ b/drivers/power/supply/qcom/qpnp-smb2.c @@ -26,7 +26,7 @@ #include "smb-reg.h" #include "smb-lib.h" #include "storm-watch.h" -#include "pmic-voter.h" +#include <linux/pmic-voter.h> #define SMB2_DEFAULT_WPWR_UW 8000000 diff --git a/drivers/power/supply/qcom/smb-lib.c b/drivers/power/supply/qcom/smb-lib.c index 53bba35033a3..bac48a62b6fd 100644 --- a/drivers/power/supply/qcom/smb-lib.c +++ b/drivers/power/supply/qcom/smb-lib.c @@ -22,7 +22,7 @@ #include "smb-lib.h" #include "smb-reg.h" #include "storm-watch.h" -#include "pmic-voter.h" +#include <linux/pmic-voter.h> #define smblib_err(chg, fmt, ...) \ pr_err("%s: %s: " fmt, chg->name, \ diff --git a/drivers/power/supply/qcom/smb138x-charger.c b/drivers/power/supply/qcom/smb138x-charger.c index 739d80cd8801..d57944e18e3b 100644 --- a/drivers/power/supply/qcom/smb138x-charger.c +++ b/drivers/power/supply/qcom/smb138x-charger.c @@ -28,7 +28,7 @@ #include "smb-reg.h" #include "smb-lib.h" #include "storm-watch.h" -#include "pmic-voter.h" +#include <linux/pmic-voter.h> #define SMB138X_DEFAULT_FCC_UA 1000000 #define SMB138X_DEFAULT_ICL_UA 1500000 diff --git a/drivers/power/supply/qcom/pmic-voter.h b/include/linux/pmic-voter.h index f202bf704055..f202bf704055 100644 --- a/drivers/power/supply/qcom/pmic-voter.h +++ b/include/linux/pmic-voter.h |
