struct ntc_thermistor_platform_data {
        /*
-        * One (not both) of read_uV and read_ohm should be provided and only
-        * one of the two should be provided.
-        * Both functions should return negative value for an error case.
-        *
         * pullup_uV, pullup_ohm, pulldown_ohm, and connect are required to use
         * read_uV()
         *
        unsigned int pulldown_ohm;
        enum { NTC_CONNECTED_POSITIVE, NTC_CONNECTED_GROUND } connect;
        struct iio_channel *chan;
-
-       int (*read_ohm)(void);
 };
 
 struct ntc_compensation {
 {
        int read_uv;
 
-       if (data->pdata->read_ohm)
-               return data->pdata->read_ohm();
-
        if (data->pdata->read_uv) {
                read_uv = data->pdata->read_uv(data->pdata);
                if (read_uv < 0)
                return -ENODEV;
        }
 
-       /* Either one of the two is required. */
-       if (!pdata->read_uv && !pdata->read_ohm) {
-               dev_err(dev,
-                       "Both read_uv and read_ohm missing. Need either one of the two.\n");
+       if (!pdata->read_uv) {
+               dev_err(dev, "read_uv missing\n");
                return -EINVAL;
        }
 
-       if (pdata->read_uv && pdata->read_ohm) {
-               dev_warn(dev,
-                        "Only one of read_uv and read_ohm is needed; ignoring read_uv.\n");
-               pdata->read_uv = NULL;
-       }
-
        if (pdata->read_uv && (pdata->pullup_uv == 0 ||
                                (pdata->pullup_ohm == 0 && pdata->connect ==
                                 NTC_CONNECTED_GROUND) ||