Re: [PATCH] iio: iadc: Qualcomm SPMI PMIC current ADC driver
From: Kiran Padwal <hidden>
Date: 2014-09-19 10:21:49
Also in:
linux-arm-msm, linux-iio, lkml
Hi Ivan, On Thursday 18 September 2014 06:45 PM, Ivan T. Ivanov wrote:
The current ADC is peripheral of Qualcomm SPMI PMIC chips. It has 16 bits resolution and register space inside PMIC accessible across SPMI bus. The driver registers itself through IIO interface. Signed-off-by: Ivan T. Ivanov <redacted> --- .../devicetree/bindings/iio/adc/qcom,spmi-iadc.txt | 61 ++
<snip>
quoted hunk ↗ jump to hunk
diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig index 11b048a..77274e4 100644 --- a/drivers/iio/adc/Kconfig +++ b/drivers/iio/adc/Kconfig@@ -279,4 +279,15 @@ config XILINX_XADC The driver can also be build as a module. If so, the module will be called xilinx-xadc. +config QCOM_SPMI_IADC + tristate "Qualcomm SPMI PMIC current ADC" + select REGMAP_SPMI + depends on IIO
May be you need to add "SPMI" in depends on because without enabling that it breaks.
+ help + This is the IIO Current ADC driver for Qualcomm QPNP IADC Chip. + + The driver supports single mode operation to read from upto seven channel + configuration that include reading the external/internal Rsense, CSP_EX, + CSN_EX pair along with the gain and offset calibration. + endmenu
<snip>
+
+ return iadc_write(iadc, IADC_EN_CTL1, data);
+}
+
+static void iadc_status_show(struct iadc_chip *iadc)
+{
+ u8 mode, sta1, chan, dig, en, req;
During compilation, getting a waring as below for all variables,
rivers/iio/adc/qcom-spmi-iadc.c: In function ‘iadc_poll_wait_eoc’:
drivers/iio/adc/qcom-spmi-iadc.c:227:10: warning: ‘en’ may be used uninitialized in this function [-Wmaybe-uninitialized]
dev_warn(iadc->dev,
^
+ int ret; + + ret = iadc_read(iadc, IADC_MODE_CTL, &mode); + if (ret < 0) + return; + + ret = iadc_read(iadc, IADC_DIG_PARAM, &dig);
Thanks, --Kiran