x86/mid/thermal: Turn off thermistor
authorMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 5 Mar 2012 23:01:04 +0000 (15:01 -0800)
committerIngo Molnar <mingo@elte.hu>
Tue, 6 Mar 2012 08:01:26 +0000 (09:01 +0100)
Instead of complaining that the voltage is on, we can just ask
the MSIC to turn the voltage off. This should save some power.

Voltage for thermistors is turned on when ADC conversion is
initiated.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Acked-by: Durgadoss R <durgadoss.r@intel.com>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Cc: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/n/tip-85zdo06yve1o27jpwc74gzng@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
drivers/platform/x86/intel_mid_thermal.c

index 5917b3c837288ff9122d8630a5cd4e5ab27b2c9e..2ee9766737ea413d56e82d581444c64f1b696801 100644 (file)
@@ -360,8 +360,10 @@ static int mid_initialize_adc(struct device *dev)
        if (ret)
                return ret;
 
-       if (data & MSIC_ADCTHERM_MASK)
-               dev_warn(dev, "ADCTHERM already set");
+       data &= ~MSIC_ADCTHERM_MASK;
+       ret = intel_msic_reg_write(INTEL_MSIC_ADC1CNTL3, data);
+       if (ret)
+               return ret;
 
        /* Index of the first channel in which the stop bit is set */
        channel_index = find_free_channel();