Skip to content

Commit a255a36

Browse files
committed
main: fix enable_shell_usb warnings
Define a single macro to enable the shell over USB, and use it in the appropriate places.
1 parent 55eeab3 commit a255a36

File tree

1 file changed

+19
-20
lines changed

1 file changed

+19
-20
lines changed

loader/main.c

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,26 @@ struct sketch_header_v1 {
3232
#define SKETCH_FLAG_DEBUG 0x01
3333
#define SKETCH_FLAG_LINKED 0x02
3434

35-
#if DT_NODE_HAS_PROP(DT_PATH(zephyr_user), cdc_acm)
35+
#define TARGET_HAS_USB_CDC_SHELL \
36+
DT_NODE_HAS_PROP(DT_PATH(zephyr_user), cdc_acm) && CONFIG_SHELL && CONFIG_USB_DEVICE_STACK
37+
38+
#if TARGET_HAS_USB_CDC_SHELL
3639
const struct device *const usb_dev = DEVICE_DT_GET(DT_PHANDLE_BY_IDX(DT_PATH(zephyr_user), cdc_acm, 0));
37-
#endif
3840

39-
static int enable_shell_usb(void);
41+
static int enable_shell_usb(void)
42+
{
43+
bool log_backend = CONFIG_SHELL_BACKEND_SERIAL_LOG_LEVEL > 0;
44+
uint32_t level =
45+
(CONFIG_SHELL_BACKEND_SERIAL_LOG_LEVEL > LOG_LEVEL_DBG) ?
46+
CONFIG_LOG_MAX_LEVEL : CONFIG_SHELL_BACKEND_SERIAL_LOG_LEVEL;
47+
static const struct shell_backend_config_flags cfg_flags =
48+
SHELL_DEFAULT_BACKEND_CONFIG_FLAGS;
49+
50+
shell_init(shell_backend_uart_get_ptr(), usb_dev, cfg_flags, log_backend, level);
51+
52+
return 0;
53+
}
54+
#endif
4055

4156
#ifdef CONFIG_USERSPACE
4257
K_THREAD_STACK_DEFINE(llext_stack, CONFIG_MAIN_STACK_SIZE);
@@ -84,7 +99,7 @@ static int loader(const struct shell *sh)
8499

85100
size_t sketch_buf_len = sketch_hdr->len;
86101

87-
#if DT_NODE_HAS_PROP(DT_PATH(zephyr_user), cdc_acm) && CONFIG_SHELL && CONFIG_USB_DEVICE_STACK
102+
#if TARGET_HAS_USB_CDC_SHELL
88103
int debug = sketch_hdr->flags & SKETCH_FLAG_DEBUG;
89104
if (debug && strcmp(k_thread_name_get(k_current_get()), "main") == 0) {
90105
// disables default shell on UART
@@ -211,22 +226,6 @@ static int loader(const struct shell *sh)
211226

212227
#if CONFIG_SHELL
213228
SHELL_CMD_REGISTER(sketch, NULL, "Run sketch", loader);
214-
215-
#if DT_NODE_HAS_PROP(DT_PATH(zephyr_user), cdc_acm)
216-
static int enable_shell_usb(void)
217-
{
218-
bool log_backend = CONFIG_SHELL_BACKEND_SERIAL_LOG_LEVEL > 0;
219-
uint32_t level =
220-
(CONFIG_SHELL_BACKEND_SERIAL_LOG_LEVEL > LOG_LEVEL_DBG) ?
221-
CONFIG_LOG_MAX_LEVEL : CONFIG_SHELL_BACKEND_SERIAL_LOG_LEVEL;
222-
static const struct shell_backend_config_flags cfg_flags =
223-
SHELL_DEFAULT_BACKEND_CONFIG_FLAGS;
224-
225-
shell_init(shell_backend_uart_get_ptr(), usb_dev, cfg_flags, log_backend, level);
226-
227-
return 0;
228-
}
229-
#endif
230229
#endif
231230

232231
int main(void)

0 commit comments

Comments
 (0)