embox

Форк
0
/
uart_dev_static_repo.c 
52 строки · 1010.0 Байт
1
/**
2
 * @file
3
 * @brief
4
 *
5
 * @author  Anton Kozlov
6
 * @date    09.08.2013
7
 */
8

9
#include <string.h>
10
#include <stdio.h>
11
#include <errno.h>
12

13
#include <util/err.h>
14
#include <util/log.h>
15
#include <lib/libds/array.h>
16

17
#include <drivers/device.h>
18
#include <drivers/char_dev.h>
19
#include <drivers/serial/uart_dev.h>
20

21
ARRAY_SPREAD_DECLARE(struct uart *const, __uart_device_registry);
22

23
int uart_register(struct uart *uart,
24
		const struct uart_params *uart_defparams) {
25
	struct uart * existed_uart_dev;
26

27
	array_spread_foreach(existed_uart_dev, __uart_device_registry)  {
28
		if (uart == existed_uart_dev) {
29
			/* uart has been inited statically */
30
			return 0;
31
		}
32
	}
33

34
	log_error(" The only static uart repo available. Use TTYS_DEF macro");
35

36
	return -ENOTSUP;
37
}
38

39
void uart_deregister(struct uart *uart) {
40
}
41

42
struct uart *uart_dev_lookup(const char *name) {
43
	struct uart *uart = NULL;
44

45
	array_spread_foreach(uart, __uart_device_registry) {
46
		if (0 == strcmp(uart->dev_name, name) ) {
47
			return uart;
48
		}
49
	}
50

51
	return NULL;
52
 }
53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.