Commit c8a8f847 authored by Eduardo Valentin's avatar Eduardo Valentin Committed by 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: default avatarEduardo Valentin <eduardo.valentin@ti.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent efba1194
...@@ -179,7 +179,7 @@ int adc_to_temp_conversion(struct omap_bandgap *bg_ptr, int id, int adc_val, ...@@ -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) if (adc_val < ts_data->adc_start_val || adc_val > ts_data->adc_end_val)
return -ERANGE; 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; return 0;
} }
...@@ -188,17 +188,18 @@ static int temp_to_adc_conversion(long temp, struct omap_bandgap *bg_ptr, int i, ...@@ -188,17 +188,18 @@ static int temp_to_adc_conversion(long temp, struct omap_bandgap *bg_ptr, int i,
int *adc) int *adc)
{ {
struct temp_sensor_data *ts_data = bg_ptr->conf->sensors[i].ts_data; 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; int high, low, mid;
low = 0; low = 0;
high = ts_data->adc_end_val - ts_data->adc_start_val; high = ts_data->adc_end_val - ts_data->adc_start_val;
mid = (high + low) / 2; 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; return -EINVAL;
while (low < high) { while (low < high) {
if (temp < bg_ptr->conv_table[mid]) if (temp < conv_table[mid])
high = mid - 1; high = mid - 1;
else else
low = mid + 1; low = mid + 1;
...@@ -911,7 +912,6 @@ int omap_bandgap_probe(struct platform_device *pdev) ...@@ -911,7 +912,6 @@ int omap_bandgap_probe(struct platform_device *pdev)
goto free_irqs; goto free_irqs;
} }
bg_ptr->conv_table = bg_ptr->conf->conv_table;
for (i = 0; i < bg_ptr->conf->sensor_count; i++) { for (i = 0; i < bg_ptr->conf->sensor_count; i++) {
struct temp_sensor_registers *tsr; struct temp_sensor_registers *tsr;
u32 val; u32 val;
......
...@@ -369,7 +369,6 @@ struct omap_bandgap { ...@@ -369,7 +369,6 @@ struct omap_bandgap {
struct omap_bandgap_data *conf; struct omap_bandgap_data *conf;
struct clk *fclock; struct clk *fclock;
struct clk *div_clk; struct clk *div_clk;
const int *conv_table;
struct mutex bg_mutex; /* Mutex for irq and PM */ struct mutex bg_mutex; /* Mutex for irq and PM */
int irq; int irq;
int tshut_gpio; int tshut_gpio;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment