提交 0f0ed7de 编写于 作者: E Eduardo Valentin 提交者: Greg Kroah-Hartman

staging: omap-thermal: rename add_hyst to omap_bandgap_add_hyst

This patch improves the add_hyst function by:
. Renaming it to omap_bandgap_add_hyst
. Moving it to the ADC conversion functions section
. Changing its signature to follow the driver standard
Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 e7f60b53
......@@ -303,6 +303,28 @@ int omap_bandgap_mcelsius_to_adc(struct omap_bandgap *bg_ptr, long temp,
return ret;
}
static
int omap_bandgap_add_hyst(struct omap_bandgap *bg_ptr, int adc_val,
int hyst_val, u32 *sum)
{
int temp, ret;
/*
* Need to add in the mcelsius domain, so we have a temperature
* the conv_table range
*/
ret = omap_bandgap_adc_to_mcelsius(bg_ptr, adc_val, &temp);
if (ret < 0)
goto exit;
temp += hyst_val;
ret = omap_bandgap_mcelsius_to_adc(bg_ptr, temp, sum);
exit:
return ret;
}
/* Talert masks. Call it only if HAS(TALERT) is set */
static int temp_sensor_unmask_interrupts(struct omap_bandgap *bg_ptr, int id,
u32 t_hot, u32 t_cold)
......@@ -330,20 +352,6 @@ static int temp_sensor_unmask_interrupts(struct omap_bandgap *bg_ptr, int id,
return 0;
}
static
int add_hyst(int adc_val, int hyst_val, struct omap_bandgap *bg_ptr, u32 *sum)
{
int temp, ret;
ret = omap_bandgap_adc_to_mcelsius(bg_ptr, adc_val, &temp);
if (ret < 0)
return ret;
temp += hyst_val;
return omap_bandgap_mcelsius_to_adc(bg_ptr, temp, sum);
}
/* Talert Thot threshold. Call it only if HAS(TALERT) is set */
static
int temp_sensor_configure_thot(struct omap_bandgap *bg_ptr, int id, int t_hot)
......@@ -361,7 +369,8 @@ int temp_sensor_configure_thot(struct omap_bandgap *bg_ptr, int id, int t_hot)
__ffs(tsr->threshold_tcold_mask);
if (t_hot <= cold) {
/* change the t_cold to t_hot - 5000 millidegrees */
err |= add_hyst(t_hot, -ts_data->hyst_val, bg_ptr, &cold);
err |= omap_bandgap_add_hyst(bg_ptr, t_hot,
-ts_data->hyst_val, &cold);
/* write the new t_cold value */
reg_val = thresh_val & (~tsr->threshold_tcold_mask);
reg_val |= cold << __ffs(tsr->threshold_tcold_mask);
......@@ -399,7 +408,8 @@ int temp_sensor_configure_tcold(struct omap_bandgap *bg_ptr, int id,
if (t_cold >= hot) {
/* change the t_hot to t_cold + 5000 millidegrees */
err |= add_hyst(t_cold, ts_data->hyst_val, bg_ptr, &hot);
err |= omap_bandgap_add_hyst(bg_ptr, t_cold,
ts_data->hyst_val, &hot);
/* write the new t_hot value */
reg_val = thresh_val & (~tsr->threshold_thot_mask);
reg_val |= hot << __ffs(tsr->threshold_thot_mask);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册