]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
staging: omap-thermal: Remove double conv_table reference
authorEduardo Valentin <eduardo.valentin@ti.com>
Tue, 26 Feb 2013 22:53:36 +0000 (18:53 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 11 Mar 2013 16:48:53 +0000 (09:48 -0700)
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>
drivers/staging/omap-thermal/omap-bandgap.c
drivers/staging/omap-thermal/omap-bandgap.h

index 82ad5dbd7adfc0a1cc0ea4b8cbab695bc83ff9fd..83f74f496017e47b1e7b696c655db72e81db56a2 100644 (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;
index 59c9ba20c15379c60118fe5b74f521340fcb67f4..3e9072c8c6bd5e7d2d92086133562aa41d066a5c 100644 (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;