Commit 9ea4e076 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Martin K. Petersen

scsi: libsas: remove private hex2bin() implementation

The function sas_parse_addr() could be easily substituted by hex2bin()
which is in kernel library code.

Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: default avatarXiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent d7549412
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <linux/firmware.h> #include <linux/firmware.h>
#include <linux/export.h> #include <linux/export.h>
#include <linux/ctype.h> #include <linux/ctype.h>
#include <linux/kernel.h>
#include "sas_internal.h" #include "sas_internal.h"
...@@ -946,21 +947,6 @@ void sas_target_destroy(struct scsi_target *starget) ...@@ -946,21 +947,6 @@ void sas_target_destroy(struct scsi_target *starget)
sas_put_device(found_dev); sas_put_device(found_dev);
} }
static void sas_parse_addr(u8 *sas_addr, const char *p)
{
int i;
for (i = 0; i < SAS_ADDR_SIZE; i++) {
u8 h, l;
if (!*p)
break;
h = isdigit(*p) ? *p-'0' : toupper(*p)-'A'+10;
p++;
l = isdigit(*p) ? *p-'0' : toupper(*p)-'A'+10;
p++;
sas_addr[i] = (h<<4) | l;
}
}
#define SAS_STRING_ADDR_SIZE 16 #define SAS_STRING_ADDR_SIZE 16
int sas_request_addr(struct Scsi_Host *shost, u8 *addr) int sas_request_addr(struct Scsi_Host *shost, u8 *addr)
...@@ -977,7 +963,9 @@ int sas_request_addr(struct Scsi_Host *shost, u8 *addr) ...@@ -977,7 +963,9 @@ int sas_request_addr(struct Scsi_Host *shost, u8 *addr)
goto out; goto out;
} }
sas_parse_addr(addr, fw->data); res = hex2bin(addr, fw->data, strnlen(fw->data, SAS_ADDR_SIZE * 2) / 2);
if (res)
goto out;
out: out:
release_firmware(fw); release_firmware(fw);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment