zephyr/drivers/wifi/nxp/nxp_wifi_shell.c

49 lines
904 B
C

/**
* Copyright 2023-2024 NXP
* SPDX-License-Identifier: Apache-2.0
*
* @file nxp_wifi_shell.c
* Wi-Fi driver shell adapter layer
*/
#include <zephyr/kernel.h>
#include <zephyr/shell/shell.h>
#include "nxp_wifi_drv.h"
static struct nxp_wifi_dev *nxp_wifi;
void nxp_wifi_shell_register(struct nxp_wifi_dev *dev)
{
/* only one instance supported */
if (nxp_wifi) {
return;
}
nxp_wifi = dev;
}
static int nxp_wifi_shell_cmd(const struct shell *sh, size_t argc, char **argv)
{
if (nxp_wifi == NULL) {
shell_print(sh, "no nxp_wifi device registered");
return -ENOEXEC;
}
if (argc < 2) {
shell_help(sh);
return -ENOEXEC;
}
k_mutex_lock(&nxp_wifi->mutex, K_FOREVER);
nxp_wifi_request(argc, argv);
k_mutex_unlock(&nxp_wifi->mutex);
return 0;
}
SHELL_CMD_ARG_REGISTER(nxp_wifi, NULL, "NXP Wi-Fi commands (Use help)", nxp_wifi_shell_cmd, 2,
CONFIG_SHELL_ARGC_MAX);