Guenter Roeck dbe43a6276 hwmon: (ntc_thermistor) Optimize and fix build warning
The following build warning is seen in some configurations:

drivers/hwmon/ntc_thermistor.c: In function 'ntc_show_temp':
drivers/hwmon/ntc_thermistor.c:293: warning: 'temp' may be used uninitialized in this function

Fix the problem by re-arranging the code to overload return values with error
codes, and by avoiding error returns whenever possible.

Specifically,

Simplify lookup_comp() to not return an error. Instead, return i_low == i_high
if there is an exact match, or if the ohm value is outside the lookup table
range.

Modify get_temp_mC() to not return an error. Since it only returns an error
after lookup_comp() returned an error, this is quite straightforward after above
change.

Separate ntc_thermistor_read() into a function to read the resistor value (which
can return an error), and the call to get_temp_mC() which doesn't. Call the
functions directly from ntc_show_temp().

Code was tested using a test program, comparing the result of the old and new
versions of get_temp_mC() for resistor values between 0 and 2,000,000 ohm.

As a side effect, this patch reduces code size by approximately 400 bytes on
x86_64.

Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Cc: Donggeun Kim <dg77.kim@samsung.com>
Reviewed-by: Robert Coulson <robert.coulson@ericsson.com>
2012-05-20 19:41:49 -07:00
..
2012-04-18 11:15:50 -07:00
2012-03-18 18:27:03 -07:00
2012-03-18 18:26:51 -07:00
2012-05-20 19:41:48 -07:00
2012-03-27 20:06:02 +02:00
2012-03-18 18:27:16 -07:00
2012-03-18 18:26:52 -07:00
2012-03-18 18:26:35 -07:00
2012-05-20 19:41:48 -07:00
2012-05-20 19:41:48 -07:00
2012-01-05 08:19:35 -08:00
2012-03-18 18:27:24 -07:00
2012-03-18 18:27:24 -07:00
2012-03-18 18:27:25 -07:00
2012-03-18 18:27:05 -07:00
2012-03-18 18:27:06 -07:00
2012-03-23 10:02:20 +01:00
2012-03-28 13:56:35 -07:00
2012-03-23 10:02:20 +01:00
2012-03-18 18:26:36 -07:00
2012-03-18 18:27:10 -07:00
2012-03-21 10:37:25 -07:00
2012-03-27 20:06:02 +02:00