Skip to content

Commit 68a64e7

Browse files
committed
Bluetooth: Mesh: Use IS_ENABLE replace #if
1. Use IS_ENABLED replace #if defined to make code more readable 2. Move adv_tag_to_str to send_pending_adv, since only this used. Signed-off-by: Lingao Meng <[email protected]>
1 parent 9f93ded commit 68a64e7

File tree

1 file changed

+38
-59
lines changed

1 file changed

+38
-59
lines changed

subsys/bluetooth/mesh/adv_ext.c

Lines changed: 38 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -71,69 +71,49 @@ static bool schedule_send(struct bt_mesh_ext_adv *ext_adv);
7171

7272
static struct bt_mesh_ext_adv advs[] = {
7373
[0] = {
74-
.tags = (
75-
#if !defined(CONFIG_BT_MESH_ADV_EXT_FRIEND_SEPARATE)
76-
BT_MESH_ADV_TAG_BIT_FRIEND |
77-
#endif
78-
#if !defined(CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE)
79-
BT_MESH_ADV_TAG_BIT_PROXY |
80-
#endif /* !CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE */
81-
#if defined(CONFIG_BT_MESH_ADV_EXT_RELAY_USING_MAIN_ADV_SET)
82-
BT_MESH_ADV_TAG_BIT_RELAY |
83-
#endif /* CONFIG_BT_MESH_ADV_EXT_RELAY_USING_MAIN_ADV_SET */
84-
#if defined(CONFIG_BT_MESH_PB_ADV)
85-
BT_MESH_ADV_TAG_BIT_PROV |
86-
#endif /* CONFIG_BT_MESH_PB_ADV */
87-
BT_MESH_ADV_TAG_BIT_LOCAL
88-
),
89-
.work = Z_WORK_INITIALIZER(send_pending_adv),
90-
},
91-
#if CONFIG_BT_MESH_RELAY_ADV_SETS
92-
[1 ... CONFIG_BT_MESH_RELAY_ADV_SETS] = {
93-
.tags = (
94-
#if defined(CONFIG_BT_MESH_RELAY)
95-
BT_MESH_ADV_TAG_BIT_RELAY |
96-
#endif /* CONFIG_BT_MESH_RELAY */
97-
#if defined(CONFIG_BT_MESH_PB_ADV_USE_RELAY_SETS)
98-
BT_MESH_ADV_TAG_BIT_PROV |
99-
#endif /* CONFIG_BT_MESH_PB_ADV_USE_RELAY_SETS */
100-
0),
101-
.work = Z_WORK_INITIALIZER(send_pending_adv),
102-
},
103-
#endif /* CONFIG_BT_MESH_RELAY_ADV_SETS */
104-
#if defined(CONFIG_BT_MESH_ADV_EXT_FRIEND_SEPARATE)
105-
{
106-
.tags = BT_MESH_ADV_TAG_BIT_FRIEND,
107-
.work = Z_WORK_INITIALIZER(send_pending_adv),
108-
},
109-
#endif /* CONFIG_BT_MESH_ADV_EXT_FRIEND_SEPARATE */
110-
#if defined(CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE)
111-
{
112-
.tags = BT_MESH_ADV_TAG_BIT_PROXY,
74+
.tags = (BT_MESH_ADV_TAG_BIT_LOCAL |
75+
(IS_ENABLED(CONFIG_BT_MESH_ADV_EXT_FRIEND_SEPARATE)
76+
? 0 : BT_MESH_ADV_TAG_BIT_FRIEND) |
77+
(IS_ENABLED(CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE)
78+
? 0 : BT_MESH_ADV_TAG_BIT_PROXY) |
79+
(IS_ENABLED(CONFIG_BT_MESH_ADV_EXT_RELAY_USING_MAIN_ADV_SET)
80+
? BT_MESH_ADV_TAG_BIT_RELAY : 0) |
81+
(IS_ENABLED(CONFIG_BT_MESH_PB_ADV)
82+
? BT_MESH_ADV_TAG_BIT_PROV : 0)),
11383
.work = Z_WORK_INITIALIZER(send_pending_adv),
11484
},
115-
#endif /* CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE */
85+
COND_CODE_0(CONFIG_BT_MESH_RELAY_ADV_SETS,
86+
(), ([1 ... CONFIG_BT_MESH_RELAY_ADV_SETS] = {
87+
.tags = (
88+
(IS_ENABLED(CONFIG_BT_MESH_RELAY) ?
89+
BT_MESH_ADV_TAG_BIT_RELAY : 0) |
90+
(IS_ENABLED(CONFIG_BT_MESH_PB_ADV_USE_RELAY_SETS) ?
91+
BT_MESH_ADV_TAG_BIT_PROV : 0)
92+
),
93+
.work = Z_WORK_INITIALIZER(send_pending_adv),
94+
}))
95+
COND_CODE_1(IS_ENABLED(CONFIG_BT_MESH_ADV_EXT_FRIEND_SEPARATE),
96+
({ .tags = BT_MESH_ADV_TAG_BIT_FRIEND,
97+
.work = Z_WORK_INITIALIZER(send_pending_adv),
98+
}), ())
99+
COND_CODE_1(IS_ENABLED(CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE),
100+
({ .tags = BT_MESH_ADV_TAG_BIT_PROXY,
101+
.work = Z_WORK_INITIALIZER(send_pending_adv),
102+
}), ())
116103
};
117104

118105
BUILD_ASSERT(ARRAY_SIZE(advs) <= CONFIG_BT_EXT_ADV_MAX_ADV_SET,
119106
"Insufficient adv instances");
120107

121108
static inline struct bt_mesh_ext_adv *relay_adv_get(void)
122109
{
123-
if (!!(CONFIG_BT_MESH_RELAY_ADV_SETS)) {
124-
return &advs[1];
125-
} else {
126-
return &advs[0];
127-
}
110+
return !!(CONFIG_BT_MESH_RELAY_ADV_SETS) ? &advs[1] : &advs[0];
128111
}
129112

130113
static inline struct bt_mesh_ext_adv *gatt_adv_get(void)
131114
{
132-
if (IS_ENABLED(CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE)) {
133-
return &advs[ARRAY_SIZE(advs) - 1];
134-
} else {
135-
return &advs[0];
136-
}
115+
return IS_ENABLED(CONFIG_BT_MESH_ADV_EXT_GATT_SEPARATE) ?
116+
&advs[ARRAY_SIZE(advs) - 1] : &advs[0];
137117
}
138118

139119
static int adv_start(struct bt_mesh_ext_adv *ext_adv,
@@ -233,14 +213,6 @@ static int adv_send(struct bt_mesh_ext_adv *ext_adv, struct bt_mesh_adv *adv)
233213
return err;
234214
}
235215

236-
static const char * const adv_tag_to_str[] = {
237-
[BT_MESH_ADV_TAG_LOCAL] = "local adv",
238-
[BT_MESH_ADV_TAG_RELAY] = "relay adv",
239-
[BT_MESH_ADV_TAG_PROXY] = "proxy adv",
240-
[BT_MESH_ADV_TAG_FRIEND] = "friend adv",
241-
[BT_MESH_ADV_TAG_PROV] = "prov adv",
242-
};
243-
244216
static bool schedule_send_with_mask(struct bt_mesh_ext_adv *ext_adv, int ignore_mask)
245217
{
246218
if (atomic_test_and_clear_bit(ext_adv->flags, ADV_FLAG_PROXY)) {
@@ -265,6 +237,13 @@ static bool schedule_send_with_mask(struct bt_mesh_ext_adv *ext_adv, int ignore_
265237

266238
static void send_pending_adv(struct k_work *work)
267239
{
240+
static const char * const adv_tag_to_str[] = {
241+
[BT_MESH_ADV_TAG_LOCAL] = "local",
242+
[BT_MESH_ADV_TAG_RELAY] = "relay",
243+
[BT_MESH_ADV_TAG_PROXY] = "proxy",
244+
[BT_MESH_ADV_TAG_FRIEND] = "friend",
245+
[BT_MESH_ADV_TAG_PROV] = "prov",
246+
};
268247
struct bt_mesh_ext_adv *ext_adv;
269248
struct bt_mesh_adv *adv;
270249
int err;
@@ -277,7 +256,7 @@ static void send_pending_adv(struct k_work *work)
277256
}
278257

279258
if (atomic_test_and_clear_bit(ext_adv->flags, ADV_FLAG_SENT)) {
280-
LOG_DBG("Advertising stopped after %u ms for %s",
259+
LOG_DBG("Advertising stopped after %u ms for %s adv",
281260
k_uptime_get_32() - ext_adv->timestamp,
282261
ext_adv->adv ? adv_tag_to_str[ext_adv->adv->ctx.tag]
283262
: adv_tag_to_str[BT_MESH_ADV_TAG_PROXY]);

0 commit comments

Comments
 (0)