diff --git a/samples/net/sockets/echo_server/CMakeLists.txt b/samples/net/sockets/echo_server/CMakeLists.txt index 418a14a555541..5203e1d164081 100644 --- a/samples/net/sockets/echo_server/CMakeLists.txt +++ b/samples/net/sockets/echo_server/CMakeLists.txt @@ -22,6 +22,7 @@ target_sources_ifdef(CONFIG_NET_UDP app PRIVATE src/udp.c) target_sources_ifdef(CONFIG_NET_TCP app PRIVATE src/tcp.c) target_sources_ifdef(CONFIG_NET_VLAN app PRIVATE src/vlan.c) target_sources_ifdef(CONFIG_NET_L2_IPIP app PRIVATE src/tunnel.c) +target_sources_ifdef(CONFIG_USB_DEVICE_STACK app PRIVATE src/usb.c) include(${ZEPHYR_BASE}/samples/net/common/common.cmake) diff --git a/samples/net/sockets/echo_server/src/common.h b/samples/net/sockets/echo_server/src/common.h index 73e50bf2383b6..94985148af7f7 100644 --- a/samples/net/sockets/echo_server/src/common.h +++ b/samples/net/sockets/echo_server/src/common.h @@ -97,3 +97,12 @@ static inline bool is_tunnel(struct net_if *iface) return false; } #endif /* CONFIG_NET_L2_IPIP */ + +#if defined(CONFIG_USB_DEVICE_STACK) +int init_usb(void); +#else +static inline int init_usb(void) +{ + return 0; +} +#endif /* CONFIG_USB_DEVICE_STACK */ diff --git a/samples/net/sockets/echo_server/src/echo-server.c b/samples/net/sockets/echo_server/src/echo-server.c index c8b4f3b36b505..4a86d1559c818 100644 --- a/samples/net/sockets/echo_server/src/echo-server.c +++ b/samples/net/sockets/echo_server/src/echo-server.c @@ -198,6 +198,8 @@ static void init_app(void) init_vlan(); init_tunnel(); + + init_usb(); } static int cmd_sample_quit(const struct shell *shell, diff --git a/samples/net/sockets/echo_server/src/usb.c b/samples/net/sockets/echo_server/src/usb.c new file mode 100644 index 0000000000000..7b4e195fbb9a5 --- /dev/null +++ b/samples/net/sockets/echo_server/src/usb.c @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2021 TiaC Systems + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +LOG_MODULE_DECLARE(net_echo_server_sample, LOG_LEVEL_DBG); + +#include +#include + +int init_usb(void) +{ + int ret; + + ret = usb_enable(NULL); + if (ret != 0) { + LOG_ERR("Cannot enable USB (%d)", ret); + return ret; + } + + (void)net_config_init_app(NULL, "Initializing network"); + + return 0; +}