X-Powers AXP288 is a customized PMIC found on some Intel Baytrail-CR platforms. It comes with sub-functions such as USB charging, fuel gauge, ADC, and many LDO and BUCK channels. By extending the existing AXP20x driver, this patchset adds basic support for AXP288 PMIC with ADC as one MFD cell device driver. Currently, the PMIC driver in this patchset does not support platform data enumeration. But when ACPI _DSD and unified device properties become available, cell devices with platform data will be added. This patch does not use intel_soc_pmic core for i2c and regmap handling in that axp288 shares similar programming interface with other X-Power PMICs supported in axp20x.c. Therefore, extending axp20x.c to include axp288 makes more sense. Changes v6: - change axp20x_match_device() flow to give more specific error messages. - remove unnecessary cast v5: - excluded iio documentation patch, already applied to iio.git - restructured axp288_adc read_raw code to make it more readable - renamed adc_enable to adc_set_state and add comment about why adc has to be always on and there is no disable function. - axp20x use const as needed for regmap structures v4: - removed rename patch, use Kconfig description to list supported devices - misc clean up in ADC code, use regmap_bulk_read and improve error handling, etc. - remove IIO ADC scale, treat raw data as processed since the unit is already in IIO expected milliamps. v3: - put all file rename changes in 1/5 - add iio documentation for in_current_raw/scale - removed global variables in axp2xx - removed pm callbacks from GPADC - removed ACPI opregion cell device - added scales to ADC current and voltage - removed ADC thermal sensor from sysfs, kernel internal use only v2: - use format -M for 1/4 - minor tweak based on Maxime's review Jacob Pan (2): mfd/axp20x: extend axp20x to support axp288 pmic iio/adc: add support for axp288 adc drivers/iio/adc/Kconfig | 8 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/axp288_adc.c | 253 ++++++++++++++++++++++++++++++ drivers/mfd/Kconfig | 3 +- drivers/mfd/axp20x.c | 361 ++++++++++++++++++++++++++++++++++++------- include/linux/mfd/axp20x.h | 59 +++++++ 6 files changed, 629 insertions(+), 56 deletions(-) create mode 100644 drivers/iio/adc/axp288_adc.c -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html