mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 01:21:58 +00:00
kernel.h: split the hexadecimal related helpers to hex.h
For the sake of cleaning up the kernel.h split the hexadecimal related helpers to own header called 'hex.h'. Link: https://lkml.kernel.org/r/20230323155029.40000-1-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
58c9b016e1
commit
890a3ee3ce
2 changed files with 36 additions and 28 deletions
35
include/linux/hex.h
Normal file
35
include/linux/hex.h
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
#ifndef _LINUX_HEX_H
|
||||||
|
#define _LINUX_HEX_H
|
||||||
|
|
||||||
|
#include <linux/types.h>
|
||||||
|
|
||||||
|
extern const char hex_asc[];
|
||||||
|
#define hex_asc_lo(x) hex_asc[((x) & 0x0f)]
|
||||||
|
#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4]
|
||||||
|
|
||||||
|
static inline char *hex_byte_pack(char *buf, u8 byte)
|
||||||
|
{
|
||||||
|
*buf++ = hex_asc_hi(byte);
|
||||||
|
*buf++ = hex_asc_lo(byte);
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern const char hex_asc_upper[];
|
||||||
|
#define hex_asc_upper_lo(x) hex_asc_upper[((x) & 0x0f)]
|
||||||
|
#define hex_asc_upper_hi(x) hex_asc_upper[((x) & 0xf0) >> 4]
|
||||||
|
|
||||||
|
static inline char *hex_byte_pack_upper(char *buf, u8 byte)
|
||||||
|
{
|
||||||
|
*buf++ = hex_asc_upper_hi(byte);
|
||||||
|
*buf++ = hex_asc_upper_lo(byte);
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern int hex_to_bin(unsigned char ch);
|
||||||
|
extern int __must_check hex2bin(u8 *dst, const char *src, size_t count);
|
||||||
|
extern char *bin2hex(char *dst, const void *src, size_t count);
|
||||||
|
|
||||||
|
bool mac_pton(const char *s, u8 *mac);
|
||||||
|
|
||||||
|
#endif
|
|
@ -20,6 +20,7 @@
|
||||||
#include <linux/compiler.h>
|
#include <linux/compiler.h>
|
||||||
#include <linux/container_of.h>
|
#include <linux/container_of.h>
|
||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
|
#include <linux/hex.h>
|
||||||
#include <linux/kstrtox.h>
|
#include <linux/kstrtox.h>
|
||||||
#include <linux/log2.h>
|
#include <linux/log2.h>
|
||||||
#include <linux/math.h>
|
#include <linux/math.h>
|
||||||
|
@ -263,34 +264,6 @@ extern enum system_states {
|
||||||
SYSTEM_SUSPEND,
|
SYSTEM_SUSPEND,
|
||||||
} system_state;
|
} system_state;
|
||||||
|
|
||||||
extern const char hex_asc[];
|
|
||||||
#define hex_asc_lo(x) hex_asc[((x) & 0x0f)]
|
|
||||||
#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4]
|
|
||||||
|
|
||||||
static inline char *hex_byte_pack(char *buf, u8 byte)
|
|
||||||
{
|
|
||||||
*buf++ = hex_asc_hi(byte);
|
|
||||||
*buf++ = hex_asc_lo(byte);
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
|
|
||||||
extern const char hex_asc_upper[];
|
|
||||||
#define hex_asc_upper_lo(x) hex_asc_upper[((x) & 0x0f)]
|
|
||||||
#define hex_asc_upper_hi(x) hex_asc_upper[((x) & 0xf0) >> 4]
|
|
||||||
|
|
||||||
static inline char *hex_byte_pack_upper(char *buf, u8 byte)
|
|
||||||
{
|
|
||||||
*buf++ = hex_asc_upper_hi(byte);
|
|
||||||
*buf++ = hex_asc_upper_lo(byte);
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
|
|
||||||
extern int hex_to_bin(unsigned char ch);
|
|
||||||
extern int __must_check hex2bin(u8 *dst, const char *src, size_t count);
|
|
||||||
extern char *bin2hex(char *dst, const void *src, size_t count);
|
|
||||||
|
|
||||||
bool mac_pton(const char *s, u8 *mac);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* General tracing related utility functions - trace_printk(),
|
* General tracing related utility functions - trace_printk(),
|
||||||
* tracing_on/tracing_off and tracing_start()/tracing_stop
|
* tracing_on/tracing_off and tracing_start()/tracing_stop
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue