include: zephyr: sys: Introduce IS_BIT_SET() macro

This macro is defined in a few places which leads to macro redefinition
error e.g. when compiling prometheus network sample for NPCX boards.

Provide one definition of IS_BIT_SET() in util_macro.h to fix the
problem.

Signed-off-by: Patryk Duda <patrykd@google.com>
This commit is contained in:
Patryk Duda 2025-01-08 11:22:26 +01:00 committed by Benjamin Cabé
commit 22d3173a61
4 changed files with 9 additions and 4 deletions

View file

@ -55,7 +55,6 @@
#define MAX_EBB_BANKS_IN_SEGMENT 32
#define SRAM_BANK_SIZE (128 * 1024)
#define L2_SRAM_BANK_NUM (L2_SRAM_SIZE / SRAM_BANK_SIZE)
#define IS_BIT_SET(value, idx) ((value) & (1 << (idx)))
/**
* Calculate TLB entry based on physical address.

View file

@ -93,6 +93,14 @@ extern "C" {
*/
#define IS_BIT_MASK(m) IS_SHIFTED_BIT_MASK(m, 0)
/**
* @brief Check if bit is set in a value
*
* @param value Value that contain checked bit
* @param bit Bit number
*/
#define IS_BIT_SET(value, bit) ((((value) >> (bit)) & (0x1)) != 0)
/** @brief Extract the Least Significant Bit from @p value. */
#define LSB_GET(value) ((value) & -(value))

View file

@ -10,7 +10,6 @@
/*
* NPCX register bit/field access operations
*/
#define IS_BIT_SET(reg, bit) (((reg >> bit) & (0x1)) != 0)
#define GET_POS_FIELD(pos, size) pos
#define GET_SIZE_FIELD(pos, size) size

View file

@ -12,8 +12,7 @@ LOG_MODULE_DECLARE(net_shell);
#include <zephyr/net/http/server.h>
#include <zephyr/net/http/method.h>
#include <zephyr/net/http/parser.h>
#define IS_BIT_SET(val, bit) (((val >> bit) & (0x1)) != 0)
#include <zephyr/sys/util.h>
static int cmd_net_http(const struct shell *sh, size_t argc, char *argv[])
{