mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
bnx2x: Replace custom scnprintf()
Use scnprintf() when printing version instead of custom open coded variants. Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Acked-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4750c7be5b
commit
55b218c12c
@ -6163,94 +6163,33 @@ static void bnx2x_link_int_ack(struct link_params *params,
|
||||
|
||||
static int bnx2x_format_ver(u32 num, u8 *str, u16 *len)
|
||||
{
|
||||
u8 *str_ptr = str;
|
||||
u32 mask = 0xf0000000;
|
||||
u8 shift = 8*4;
|
||||
u8 digit;
|
||||
u8 remove_leading_zeros = 1;
|
||||
u16 ret;
|
||||
|
||||
if (*len < 10) {
|
||||
/* Need more than 10chars for this format */
|
||||
*str_ptr = '\0';
|
||||
*str = '\0';
|
||||
(*len)--;
|
||||
return -EINVAL;
|
||||
}
|
||||
while (shift > 0) {
|
||||
|
||||
shift -= 4;
|
||||
digit = ((num & mask) >> shift);
|
||||
if (digit == 0 && remove_leading_zeros) {
|
||||
*str_ptr = '0';
|
||||
} else {
|
||||
if (digit < 0xa)
|
||||
*str_ptr = digit + '0';
|
||||
else
|
||||
*str_ptr = digit - 0xa + 'a';
|
||||
|
||||
remove_leading_zeros = 0;
|
||||
str_ptr++;
|
||||
(*len)--;
|
||||
}
|
||||
mask = mask >> 4;
|
||||
if (shift == 4*4) {
|
||||
if (remove_leading_zeros) {
|
||||
str_ptr++;
|
||||
(*len)--;
|
||||
}
|
||||
*str_ptr = '.';
|
||||
str_ptr++;
|
||||
(*len)--;
|
||||
remove_leading_zeros = 1;
|
||||
}
|
||||
}
|
||||
if (remove_leading_zeros)
|
||||
(*len)--;
|
||||
ret = scnprintf(str, *len, "%hx.%hx", num >> 16, num);
|
||||
*len -= ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int bnx2x_3_seq_format_ver(u32 num, u8 *str, u16 *len)
|
||||
{
|
||||
u8 *str_ptr = str;
|
||||
u32 mask = 0x00f00000;
|
||||
u8 shift = 8*3;
|
||||
u8 digit;
|
||||
u8 remove_leading_zeros = 1;
|
||||
u16 ret;
|
||||
|
||||
if (*len < 10) {
|
||||
/* Need more than 10chars for this format */
|
||||
*str_ptr = '\0';
|
||||
*str = '\0';
|
||||
(*len)--;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
while (shift > 0) {
|
||||
shift -= 4;
|
||||
digit = ((num & mask) >> shift);
|
||||
if (digit == 0 && remove_leading_zeros) {
|
||||
*str_ptr = '0';
|
||||
} else {
|
||||
if (digit < 0xa)
|
||||
*str_ptr = digit + '0';
|
||||
else
|
||||
*str_ptr = digit - 0xa + 'a';
|
||||
|
||||
remove_leading_zeros = 0;
|
||||
str_ptr++;
|
||||
(*len)--;
|
||||
}
|
||||
mask = mask >> 4;
|
||||
if ((shift == 4*4) || (shift == 4*2)) {
|
||||
if (remove_leading_zeros) {
|
||||
str_ptr++;
|
||||
(*len)--;
|
||||
}
|
||||
*str_ptr = '.';
|
||||
str_ptr++;
|
||||
(*len)--;
|
||||
remove_leading_zeros = 1;
|
||||
}
|
||||
}
|
||||
if (remove_leading_zeros)
|
||||
(*len)--;
|
||||
ret = scnprintf(str, *len, "%hhx.%hhx.%hhx", num >> 16, num >> 8, num);
|
||||
*len -= ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user