aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/intel_mid_thermal.c
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2012-03-05 15:01:04 -0800
committerIngo Molnar <mingo@elte.hu>2012-03-06 09:01:26 +0100
commit1b7ccabcc372152d1492241610e52b8ea14b0968 (patch)
tree18c411ad8c9e23cbd212ac2ba728cfd3561b6f23 /drivers/platform/x86/intel_mid_thermal.c
parentx86/mid/thermal: Add msic_thermal alias (diff)
downloadlinux-dev-1b7ccabcc372152d1492241610e52b8ea14b0968.tar.xz
linux-dev-1b7ccabcc372152d1492241610e52b8ea14b0968.zip
x86/mid/thermal: Turn off thermistor
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>
Diffstat (limited to 'drivers/platform/x86/intel_mid_thermal.c')
-rw-r--r--drivers/platform/x86/intel_mid_thermal.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/platform/x86/intel_mid_thermal.c b/drivers/platform/x86/intel_mid_thermal.c
index 5917b3c83728..2ee9766737ea 100644
--- a/drivers/platform/x86/intel_mid_thermal.c
+++ b/drivers/platform/x86/intel_mid_thermal.c
@@ -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();