diff options
author | Andy Shevchenko <andy.shevchenko@gmail.com> | 2010-09-11 17:31:02 +0400 |
---|---|---|
committer | Matthew Garrett <mjg@redhat.com> | 2010-10-21 17:36:45 +0400 |
commit | 392bd8b58414106b129d72a33fa99b999b720237 (patch) | |
tree | 432b6aad41b2e511b7750917049335d04f80730e /drivers/platform | |
parent | 91e5d284a7f14c70187914056b0466163a5e2f03 (diff) | |
download | linux-392bd8b58414106b129d72a33fa99b999b720237.tar.xz |
platform: x86: throw away custom methods
In 2.6.35 the hex_to_bin() was introduced.
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Carlos Corbacho <carlos@strangeworlds.co.uk>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: platform-driver-x86@vger.kernel.org
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/x86/wmi.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index b2978a04317f..49806824a463 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c @@ -128,30 +128,18 @@ static struct acpi_driver acpi_wmi_driver = { */ static int wmi_parse_hexbyte(const u8 *src) { - unsigned int x; /* For correct wrapping */ int h; + int value; /* high part */ - x = src[0]; - if (x - '0' <= '9' - '0') { - h = x - '0'; - } else if (x - 'a' <= 'f' - 'a') { - h = x - 'a' + 10; - } else if (x - 'A' <= 'F' - 'A') { - h = x - 'A' + 10; - } else { + h = value = hex_to_bin(src[0]); + if (value < 0) return -1; - } - h <<= 4; /* low part */ - x = src[1]; - if (x - '0' <= '9' - '0') - return h | (x - '0'); - if (x - 'a' <= 'f' - 'a') - return h | (x - 'a' + 10); - if (x - 'A' <= 'F' - 'A') - return h | (x - 'A' + 10); + value = hex_to_bin(src[1]); + if (value >= 0) + return (h << 4) | value; return -1; } |