config XPOWER_PMIC_OPREGION
        bool "ACPI operation region support for XPower AXP288 PMIC"
-       depends on AXP288_ADC = y
+       depends on MFD_AXP20X_I2C
        help
          This config adds ACPI operation region support for XPower AXP288 PMIC.
 
 
 #include <linux/mfd/axp20x.h>
 #include <linux/regmap.h>
 #include <linux/platform_device.h>
-#include <linux/iio/consumer.h>
 #include "intel_pmic.h"
 
 #define XPOWER_GPADC_LOW       0x5b
  * @regmap: regmap of the PMIC device
  * @reg: register to get the reading
  *
- * We could get the sensor value by manipulating the HW regs here, but since
- * the axp288 IIO driver may also access the same regs at the same time, the
- * APIs provided by IIO subsystem are used here instead to avoid problems. As
- * a result, the two passed in params are of no actual use.
- *
  * Return a positive value on success, errno on failure.
  */
 static int intel_xpower_pmic_get_raw_temp(struct regmap *regmap, int reg)
 {
-       struct iio_channel *gpadc_chan;
-       int ret, val;
-
-       gpadc_chan = iio_channel_get(NULL, "axp288-system-temp");
-       if (IS_ERR_OR_NULL(gpadc_chan))
-               return -EACCES;
+       u8 buf[2];
 
-       ret = iio_read_channel_raw(gpadc_chan, &val);
-       if (ret < 0)
-               val = ret;
+       if (regmap_bulk_read(regmap, AXP288_GP_ADC_H, buf, 2))
+               return -EIO;
 
-       iio_channel_release(gpadc_chan);
-       return val;
+       return (buf[0] << 4) + ((buf[1] >> 4) & 0x0F);
 }
 
 static struct intel_pmic_opregion_data intel_xpower_pmic_opregion_data = {