uniform code writing-disable interrupt

This commit is contained in:
thewon86
2022-04-20 14:22:43 +08:00
committed by guo
parent 5fa15a19a0
commit f5b0bfd3f4
47 changed files with 293 additions and 290 deletions
+16 -16
View File
@@ -59,7 +59,7 @@ static rt_err_t console_getchar_rx_ind(rt_device_t dev, rt_size_t size)
void at_cli_init(void)
{
rt_base_t int_lvl;
rt_base_t level;
rt_device_t console;
rt_sem_init(&console_rx_notice, "cli_c", 0, RT_IPC_FLAG_FIFO);
@@ -69,7 +69,7 @@ void at_cli_init(void)
/* created must success */
RT_ASSERT(console_rx_fifo);
int_lvl = rt_hw_interrupt_disable();
level = rt_hw_interrupt_disable();
console = rt_console_get_device();
if (console)
{
@@ -78,22 +78,22 @@ void at_cli_init(void)
rt_device_set_rx_indicate(console, console_getchar_rx_ind);
}
rt_hw_interrupt_enable(int_lvl);
rt_hw_interrupt_enable(level);
}
void at_cli_deinit(void)
{
rt_base_t int_lvl;
rt_base_t level;
rt_device_t console;
int_lvl = rt_hw_interrupt_disable();
level = rt_hw_interrupt_disable();
console = rt_console_get_device();
if (console && odev_rx_ind)
{
/* restore RX indicate */
rt_device_set_rx_indicate(console, odev_rx_ind);
}
rt_hw_interrupt_enable(int_lvl);
rt_hw_interrupt_enable(level);
rt_sem_detach(&console_rx_notice);
rt_ringbuffer_destroy(console_rx_fifo);
@@ -111,14 +111,14 @@ static void server_cli_parser(void)
extern at_server_t at_get_server(void);
at_server_t server = at_get_server();
rt_base_t int_lvl;
rt_base_t level;
static rt_device_t device_bak;
static rt_err_t (*getchar_bak)(struct at_server *server, char *ch, rt_int32_t timeout);
static char endmark_back[AT_END_MARK_LEN];
/* backup server device and getchar function */
{
int_lvl = rt_hw_interrupt_disable();
level = rt_hw_interrupt_disable();
device_bak = server->device;
getchar_bak = server->get_char;
@@ -133,7 +133,7 @@ static void server_cli_parser(void)
rt_memset(server->end_mark, 0x00, AT_END_MARK_LEN);
server->end_mark[0] = '\r';
rt_hw_interrupt_enable(int_lvl);
rt_hw_interrupt_enable(level);
}
if (server)
@@ -149,7 +149,7 @@ static void server_cli_parser(void)
/* restore server device and getchar function */
{
int_lvl = rt_hw_interrupt_disable();
level = rt_hw_interrupt_disable();
server->device = device_bak;
server->get_char = getchar_bak;
@@ -157,7 +157,7 @@ static void server_cli_parser(void)
rt_memset(server->end_mark, 0x00, AT_END_MARK_LEN);
rt_memcpy(server->end_mark, endmark_back, strlen(endmark_back));
rt_hw_interrupt_enable(int_lvl);
rt_hw_interrupt_enable(level);
}
}
#endif /* AT_USING_SERVER */
@@ -211,7 +211,7 @@ static void client_cli_parser(at_client_t client)
char cur_line[FINSH_CMD_SIZE] = { 0 };
rt_size_t cur_line_len = 0;
static rt_err_t (*client_odev_rx_ind)(rt_device_t dev, rt_size_t size) = RT_NULL;
rt_base_t int_lvl;
rt_base_t level;
rt_thread_t at_client;
at_status_t client_odev_status;
@@ -225,10 +225,10 @@ static void client_cli_parser(at_client_t client)
/* backup client device RX indicate */
{
int_lvl = rt_hw_interrupt_disable();
level = rt_hw_interrupt_disable();
client_odev_rx_ind = client->device->rx_indicate;
rt_device_set_rx_indicate(client->device, client_getchar_rx_ind);
rt_hw_interrupt_enable(int_lvl);
rt_hw_interrupt_enable(level);
}
rt_sem_init(&client_rx_notice, "cli_r", 0, RT_IPC_FLAG_FIFO);
@@ -278,9 +278,9 @@ static void client_cli_parser(at_client_t client)
/* restore client device RX indicate */
{
int_lvl = rt_hw_interrupt_disable();
level = rt_hw_interrupt_disable();
rt_device_set_rx_indicate(client->device, client_odev_rx_ind);
rt_hw_interrupt_enable(int_lvl);
rt_hw_interrupt_enable(level);
}
rt_thread_delete(at_client);
+1 -2
View File
@@ -663,7 +663,7 @@ rt_err_t eth_device_ready(struct eth_device* dev)
rt_err_t eth_device_linkchange(struct eth_device* dev, rt_bool_t up)
{
rt_uint32_t level;
rt_base_t level;
RT_ASSERT(dev != RT_NULL);
@@ -740,7 +740,6 @@ static void eth_rx_thread_entry(void* parameter)
if (device->link_changed)
{
int status;
rt_uint32_t level;
level = rt_hw_interrupt_disable();
status = device->link_status;