From: Andy Shevchenko <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
Cc: Jason Wessel <[email protected]>
Cc: Martin Hicks <[email protected]>
Cc: [email protected]
---
kernel/debug/gdbstub.c | 21 +++++----------------
1 files changed, 5 insertions(+), 16 deletions(-)
diff --git a/kernel/debug/gdbstub.c b/kernel/debug/gdbstub.c
index 4b17b32..d721b1b 100644
--- a/kernel/debug/gdbstub.c
+++ b/kernel/debug/gdbstub.c
@@ -52,17 +52,6 @@ static unsigned long gdb_regs[(NUMREGBYTES +
* GDB remote protocol parser:
*/
-static int hex(char ch)
-{
- if ((ch >= 'a') && (ch <= 'f'))
- return ch - 'a' + 10;
- if ((ch >= '0') && (ch <= '9'))
- return ch - '0';
- if ((ch >= 'A') && (ch <= 'F'))
- return ch - 'A' + 10;
- return -1;
-}
-
#ifdef CONFIG_KGDB_KDB
static int gdbstub_read_wait(void)
{
@@ -123,8 +112,8 @@ static void get_packet(char *buffer)
buffer[count] = 0;
if (ch == '#') {
- xmitcsum = hex(gdbstub_read_wait()) << 4;
- xmitcsum += hex(gdbstub_read_wait());
+ xmitcsum = hex_to_bin(gdbstub_read_wait()) << 4;
+ xmitcsum += hex_to_bin(gdbstub_read_wait());
if (checksum != xmitcsum)
/* failed checksum */
@@ -280,8 +269,8 @@ int kgdb_hex2mem(char *buf, char *mem, int count)
tmp_hex = tmp_raw - 1;
while (tmp_hex >= buf) {
tmp_raw--;
- *tmp_raw = hex(*tmp_hex--);
- *tmp_raw |= hex(*tmp_hex--) << 4;
+ *tmp_raw = hex_to_bin(*tmp_hex--);
+ *tmp_raw |= hex_to_bin(*tmp_hex--) << 4;
}
return probe_kernel_write(mem, tmp_raw, count);
@@ -304,7 +293,7 @@ int kgdb_hex2long(char **ptr, unsigned long *long_val)
(*ptr)++;
}
while (**ptr) {
- hex_val = hex(**ptr);
+ hex_val = hex_to_bin(**ptr);
if (hex_val < 0)
break;
--
1.6.3.3
It is ok to me. :-)
Best Regards,
Dongdong
On Thu, Jun 17, 2010 at 5:33 PM, Andy Shevchenko
<[email protected]> wrote:
> From: Andy Shevchenko <[email protected]>
>
> Signed-off-by: Andy Shevchenko <[email protected]>
> Cc: Jason Wessel <[email protected]>
> Cc: Martin Hicks <[email protected]>
> Cc: [email protected]
> ---
> kernel/debug/gdbstub.c | 21 +++++----------------
> 1 files changed, 5 insertions(+), 16 deletions(-)
>
> diff --git a/kernel/debug/gdbstub.c b/kernel/debug/gdbstub.c
> index 4b17b32..d721b1b 100644
> --- a/kernel/debug/gdbstub.c
> +++ b/kernel/debug/gdbstub.c
> @@ -52,17 +52,6 @@ static unsigned long gdb_regs[(NUMREGBYTES +
> * GDB remote protocol parser:
> */
>
> -static int hex(char ch)
> -{
> - if ((ch >= 'a') && (ch <= 'f'))
> - return ch - 'a' + 10;
> - if ((ch >= '0') && (ch <= '9'))
> - return ch - '0';
> - if ((ch >= 'A') && (ch <= 'F'))
> - return ch - 'A' + 10;
> - return -1;
> -}
> -
> #ifdef CONFIG_KGDB_KDB
> static int gdbstub_read_wait(void)
> {
> @@ -123,8 +112,8 @@ static void get_packet(char *buffer)
> buffer[count] = 0;
>
> if (ch == '#') {
> - xmitcsum = hex(gdbstub_read_wait()) << 4;
> - xmitcsum += hex(gdbstub_read_wait());
> + xmitcsum = hex_to_bin(gdbstub_read_wait()) << 4;
> + xmitcsum += hex_to_bin(gdbstub_read_wait());
>
> if (checksum != xmitcsum)
> /* failed checksum */
> @@ -280,8 +269,8 @@ int kgdb_hex2mem(char *buf, char *mem, int count)
> tmp_hex = tmp_raw - 1;
> while (tmp_hex >= buf) {
> tmp_raw--;
> - *tmp_raw = hex(*tmp_hex--);
> - *tmp_raw |= hex(*tmp_hex--) << 4;
> + *tmp_raw = hex_to_bin(*tmp_hex--);
> + *tmp_raw |= hex_to_bin(*tmp_hex--) << 4;
> }
>
> return probe_kernel_write(mem, tmp_raw, count);
> @@ -304,7 +293,7 @@ int kgdb_hex2long(char **ptr, unsigned long *long_val)
> (*ptr)++;
> }
> while (**ptr) {
> - hex_val = hex(**ptr);
> + hex_val = hex_to_bin(**ptr);
> if (hex_val < 0)
> break;
>
> --
> 1.6.3.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
On Thu, Jun 17, 2010 at 12:33 PM, Andy Shevchenko
<[email protected]> wrote:
> Cc: Jason Wessel <[email protected]>
> Cc: Martin Hicks <[email protected]>
> Cc: [email protected]
Any comments?
The patch still valid for linux-next tree (I did cherry-pick today).
--
With Best Regards,
Andy Shevchenko
On 06/17/2010 04:33 AM, Andy Shevchenko wrote:
> From: Andy Shevchenko <[email protected]>
>
> Signed-off-by: Andy Shevchenko <[email protected]>
> Cc: Jason Wessel <[email protected]>
> Cc: Martin Hicks <[email protected]>
> Cc: [email protected]
>
Looks fine to me as the hex_to_bin is a drop in replacement.
I'll queue this to merge in 2.6.36. It will appear in linux-next in
the day.
Thanks,
Jason.