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>
This commit is contained in:
parent
efba11940a
commit
c8a8f847cc
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue