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

staging: omap-thermal: Remove double conv_table reference

This patch removes from data structure the double reference of
the conversion table. It keeps the reference coming from bandgap
data definition. The patch also adapts the code accordingly.
Signed-off-by: NEduardo Valentin <eduardo.valentin@ti.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 efba1194
......@@ -179,7 +179,7 @@ int adc_to_temp_conversion(struct omap_bandgap *bg_ptr, int id, int adc_val,
if (adc_val < ts_data->adc_start_val || adc_val > ts_data->adc_end_val)
return -ERANGE;
*t = bg_ptr->conv_table[adc_val - ts_data->adc_start_val];
*t = bg_ptr->conf->conv_table[adc_val - ts_data->adc_start_val];
return 0;
}
......@@ -188,17 +188,18 @@ static int temp_to_adc_conversion(long temp, struct omap_bandgap *bg_ptr, int i,
int *adc)
{
struct temp_sensor_data *ts_data = bg_ptr->conf->sensors[i].ts_data;
const int *conv_table = bg_ptr->conf->conv_table;
int high, low, mid;
low = 0;
high = ts_data->adc_end_val - ts_data->adc_start_val;
mid = (high + low) / 2;
if (temp < bg_ptr->conv_table[low] || temp > bg_ptr->conv_table[high])
if (temp < conv_table[low] || temp > conv_table[high])
return -EINVAL;
while (low < high) {
if (temp < bg_ptr->conv_table[mid])
if (temp < conv_table[mid])
high = mid - 1;
else
low = mid + 1;
......@@ -911,7 +912,6 @@ int omap_bandgap_probe(struct platform_device *pdev)
goto free_irqs;
}
bg_ptr->conv_table = bg_ptr->conf->conv_table;
for (i = 0; i < bg_ptr->conf->sensor_count; i++) {
struct temp_sensor_registers *tsr;
u32 val;
......
......@@ -369,7 +369,6 @@ struct omap_bandgap {
struct omap_bandgap_data *conf;
struct clk *fclock;
struct clk *div_clk;
const int *conv_table;
struct mutex bg_mutex; /* Mutex for irq and PM */
int irq;
int tshut_gpio;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册