1
0
Fork 0

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: Eduardo Valentin <eduardo.valentin@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
hifive-unleashed-5.1
Eduardo Valentin 2013-02-26 18:53:36 -04:00 committed by Greg Kroah-Hartman
parent efba11940a
commit c8a8f847cc
2 changed files with 4 additions and 5 deletions

View File

@ -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;

View File

@ -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;