sbs: dont leak memory
authorSaleem Abdulrasool <compnerd@compnerd.org>
Wed, 26 Jan 2011 06:50:33 +0000 (22:50 -0800)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Thu, 27 Jan 2011 03:08:34 +0000 (19:08 -0800)
commit7953c7ad6b1ca3b11232e9e5704a55e75f658f2a
tree695a579f4a74170327fb8f51a13ed04e111097dc
parentd07ef9f5f7753df7f823d0b2c1db9ff6315ddbcb
sbs: dont leak memory

The power supply system does not actually expect allocated strings that it will
manage.  We were allocating the strings, expecting the power supply class driver
to clean them up, and as a result had a massive leak.  Fix this by storing the
string in the cache and returning a reference to that string.

This effectively overhauls the sbs_battery_field.  It is renamed
sbs_battery_register which is more accurate.  There is now string handling logic
for the string reading case.  The int/uint types are handled the same, so there
is a single read type for those two value types.
drivers/power/sbs.c