aboutsummaryrefslogtreecommitdiffstats
path: root/usb/usb-throw-away-custom-hex-digit-methods.patch
diff options
Diffstat (limited to 'usb/usb-throw-away-custom-hex-digit-methods.patch')
-rw-r--r--usb/usb-throw-away-custom-hex-digit-methods.patch81
1 files changed, 81 insertions, 0 deletions
diff --git a/usb/usb-throw-away-custom-hex-digit-methods.patch b/usb/usb-throw-away-custom-hex-digit-methods.patch
new file mode 100644
index 00000000000000..8738f9fba0667e
--- /dev/null
+++ b/usb/usb-throw-away-custom-hex-digit-methods.patch
@@ -0,0 +1,81 @@
+From andy.shevchenko@gmail.com Wed Jun 16 13:22:24 2010
+From: Andy Shevchenko <andy.shevchenko@gmail.com>
+Date: Tue, 15 Jun 2010 17:04:44 +0300
+Subject: usb: throw away custom hex digit methods
+To: linux-kernel@vger.kernel.org
+Cc: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>, Greg Kroah-Hartman <gregkh@suse.de>, David Brownell <dbrownell@users.sourceforge.net>, linux-usb@vger.kernel.org
+Message-ID: <1276610684-26335-1-git-send-email-andy.shevchenko@gmail.com>
+
+
+From: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
+
+Recent kernel has common method to convert hex digit to its value.
+
+Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
+Cc: David Brownell <dbrownell@users.sourceforge.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/atm/ueagle-atm.c | 5 +++--
+ drivers/usb/gadget/u_ether.c | 15 ++-------------
+ 2 files changed, 5 insertions(+), 15 deletions(-)
+
+--- a/drivers/usb/atm/ueagle-atm.c
++++ b/drivers/usb/atm/ueagle-atm.c
+@@ -67,6 +67,7 @@
+ #include <linux/mutex.h>
+ #include <linux/freezer.h>
+ #include <linux/slab.h>
++#include <linux/kernel.h>
+
+ #include <asm/unaligned.h>
+
+@@ -2429,7 +2430,6 @@ UEA_ATTR(firmid, 0);
+
+ /* Retrieve the device End System Identifier (MAC) */
+
+-#define htoi(x) (isdigit(x) ? x-'0' : toupper(x)-'A'+10)
+ static int uea_getesi(struct uea_softc *sc, u_char * esi)
+ {
+ unsigned char mac_str[2 * ETH_ALEN + 1];
+@@ -2440,7 +2440,8 @@ static int uea_getesi(struct uea_softc *
+ return 1;
+
+ for (i = 0; i < ETH_ALEN; i++)
+- esi[i] = htoi(mac_str[2 * i]) * 16 + htoi(mac_str[2 * i + 1]);
++ esi[i] = hex_to_bin(mac_str[2 * i]) * 16 +
++ hex_to_bin(mac_str[2 * i + 1]);
+
+ return 0;
+ }
+--- a/drivers/usb/gadget/u_ether.c
++++ b/drivers/usb/gadget/u_ether.c
+@@ -704,17 +704,6 @@ static char *host_addr;
+ module_param(host_addr, charp, S_IRUGO);
+ MODULE_PARM_DESC(host_addr, "Host Ethernet Address");
+
+-
+-static u8 __init nibble(unsigned char c)
+-{
+- if (isdigit(c))
+- return c - '0';
+- c = toupper(c);
+- if (isxdigit(c))
+- return 10 + c - 'A';
+- return 0;
+-}
+-
+ static int get_ether_addr(const char *str, u8 *dev_addr)
+ {
+ if (str) {
+@@ -725,8 +714,8 @@ static int get_ether_addr(const char *st
+
+ if ((*str == '.') || (*str == ':'))
+ str++;
+- num = nibble(*str++) << 4;
+- num |= (nibble(*str++));
++ num = hex_to_bin(*str++) << 4;
++ num |= hex_to_bin(*str++);
+ dev_addr [i] = num;
+ }
+ if (is_valid_ether_addr(dev_addr))