Skip to content

Commit

Permalink
include: zephyr: sys: Introduce IS_BIT_SET() macro
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
duda-patryk committed Jan 8, 2025
1 parent ae20a6a commit 0944aa2
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 4 deletions.
1 change: 0 additions & 1 deletion drivers/mm/mm_drv_intel_adsp.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
8 changes: 8 additions & 0 deletions include/zephyr/sys/util_macro.h
Original file line number Diff line number Diff line change
Expand Up @@ -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))

Expand Down
1 change: 0 additions & 1 deletion soc/nuvoton/npcx/common/reg/reg_access.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 1 addition & 2 deletions subsys/net/lib/shell/http.c
Original file line number Diff line number Diff line change
Expand Up @@ -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[])
{
Expand Down

0 comments on commit 0944aa2

Please sign in to comment.