Lines Matching refs:dev

24 	static void irq_config_uart_##n(const struct device *dev)
30 static void irq_config_uart_##n(const struct device *dev) \
32 ARG_UNUSED(dev); \
80 #define GET_CONTROLLER_INSTANCE(dev) \ argument
82 dev->config)->instance)
84 #define GET_MUTEX(dev) \ argument
86 dev->config)->mutex)
111 static int uart_sedi_init(const struct device *dev);
128 static void uart_busy_set(const struct device *dev) in uart_busy_set() argument
131 struct uart_sedi_drv_data *context = dev->data; in uart_busy_set()
136 pm_device_busy_set(dev); in uart_busy_set()
140 static void uart_busy_clear(const struct device *dev) in uart_busy_clear() argument
143 struct uart_sedi_drv_data *context = dev->data; in uart_busy_clear()
148 pm_device_busy_clear(dev); in uart_busy_clear()
158 static int uart_suspend_device(const struct device *dev) in uart_suspend_device() argument
160 const struct uart_sedi_config_info *config = dev->config; in uart_suspend_device()
162 if (pm_device_is_busy(dev)) { in uart_suspend_device()
175 static int uart_resume_device_from_suspend(const struct device *dev) in uart_resume_device_from_suspend() argument
177 const struct uart_sedi_config_info *config = dev->config; in uart_resume_device_from_suspend()
188 static int uart_sedi_pm_action(const struct device *dev, in uart_sedi_pm_action() argument
195 ret = uart_suspend_device(dev); in uart_sedi_pm_action()
198 ret = uart_resume_device_from_suspend(dev); in uart_sedi_pm_action()
209 static int uart_sedi_pm_action(const struct device *dev, in uart_sedi_pm_action() argument
222 static int uart_sedi_poll_in(const struct device *dev, unsigned char *data) in uart_sedi_poll_in() argument
224 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_poll_in()
228 (void)pm_device_runtime_get(dev); in uart_sedi_poll_in()
245 pm_device_runtime_put(dev); in uart_sedi_poll_in()
250 static void uart_sedi_poll_out(const struct device *dev, in uart_sedi_poll_out() argument
253 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_poll_out()
255 (void)pm_device_runtime_get(dev); in uart_sedi_poll_out()
259 pm_device_runtime_put(dev); in uart_sedi_poll_out()
290 static int uart_sedi_err_check(const struct device *dev) in uart_sedi_err_check() argument
292 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_err_check()
296 (void)pm_device_runtime_get(dev); in uart_sedi_err_check()
315 pm_device_runtime_put(dev); in uart_sedi_err_check()
323 static int uart_sedi_fifo_fill(const struct device *dev, const uint8_t *tx_data, in uart_sedi_fifo_fill() argument
326 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_fifo_fill()
329 pm_device_runtime_get(dev); in uart_sedi_fifo_fill()
333 pm_device_runtime_put(dev); in uart_sedi_fifo_fill()
338 static int uart_sedi_fifo_read(const struct device *dev, uint8_t *rx_data, in uart_sedi_fifo_read() argument
341 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_fifo_read()
344 pm_device_runtime_get(dev); in uart_sedi_fifo_read()
348 pm_device_runtime_put(dev); in uart_sedi_fifo_read()
353 static void uart_sedi_irq_tx_enable(const struct device *dev) in uart_sedi_irq_tx_enable() argument
355 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_tx_enable()
357 pm_device_runtime_get(dev); in uart_sedi_irq_tx_enable()
361 pm_device_runtime_put(dev); in uart_sedi_irq_tx_enable()
364 static void uart_sedi_irq_tx_disable(const struct device *dev) in uart_sedi_irq_tx_disable() argument
366 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_tx_disable()
368 pm_device_runtime_get(dev); in uart_sedi_irq_tx_disable()
372 pm_device_runtime_put(dev); in uart_sedi_irq_tx_disable()
375 static int uart_sedi_irq_tx_ready(const struct device *dev) in uart_sedi_irq_tx_ready() argument
377 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_tx_ready()
382 static int uart_sedi_irq_tx_complete(const struct device *dev) in uart_sedi_irq_tx_complete() argument
384 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_tx_complete()
387 pm_device_runtime_get(dev); in uart_sedi_irq_tx_complete()
391 pm_device_runtime_put(dev); in uart_sedi_irq_tx_complete()
396 static void uart_sedi_irq_rx_enable(const struct device *dev) in uart_sedi_irq_rx_enable() argument
398 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_rx_enable()
401 pm_device_runtime_get(dev); in uart_sedi_irq_rx_enable()
403 uart_busy_set(dev); in uart_sedi_irq_rx_enable()
408 static void uart_sedi_irq_rx_disable(const struct device *dev) in uart_sedi_irq_rx_disable() argument
410 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_rx_disable()
414 pm_device_runtime_put(dev); in uart_sedi_irq_rx_disable()
416 uart_busy_clear(dev); in uart_sedi_irq_rx_disable()
420 static int uart_sedi_irq_rx_ready(const struct device *dev) in uart_sedi_irq_rx_ready() argument
422 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_rx_ready()
427 static void uart_sedi_irq_err_enable(const struct device *dev) in uart_sedi_irq_err_enable() argument
429 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_err_enable()
431 pm_device_runtime_get(dev); in uart_sedi_irq_err_enable()
435 pm_device_runtime_put(dev); in uart_sedi_irq_err_enable()
438 static void uart_sedi_irq_err_disable(const struct device *dev) in uart_sedi_irq_err_disable() argument
440 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_err_disable()
442 pm_device_runtime_get(dev); in uart_sedi_irq_err_disable()
446 pm_device_runtime_put(dev); in uart_sedi_irq_err_disable()
449 static int uart_sedi_irq_is_pending(const struct device *dev) in uart_sedi_irq_is_pending() argument
452 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_is_pending()
457 static int uart_sedi_irq_update(const struct device *dev) in uart_sedi_irq_update() argument
459 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_irq_update()
461 pm_device_runtime_get(dev); in uart_sedi_irq_update()
465 pm_device_runtime_put(dev); in uart_sedi_irq_update()
470 static void uart_sedi_irq_callback_set(const struct device *dev, in uart_sedi_irq_callback_set() argument
474 struct uart_sedi_drv_data *drv_data = dev->data; in uart_sedi_irq_callback_set()
483 struct device *dev = arg; in uart_sedi_isr() local
484 struct uart_sedi_drv_data *drv_data = dev->data; in uart_sedi_isr()
487 drv_data->user_cb(dev, drv_data->user_data); in uart_sedi_isr()
489 uart_sedi_cb(dev); in uart_sedi_isr()
504 static int uart_sedi_line_ctrl_set(struct device *dev, in uart_sedi_line_ctrl_set() argument
507 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_line_ctrl_set()
511 k_mutex_lock(GET_MUTEX(dev), K_FOREVER); in uart_sedi_line_ctrl_set()
513 pm_device_runtime_get(dev); in uart_sedi_line_ctrl_set()
526 pm_device_runtime_put(dev); in uart_sedi_line_ctrl_set()
528 k_mutex_unlock(GET_MUTEX(dev)); in uart_sedi_line_ctrl_set()
533 static int uart_sedi_line_ctrl_get(struct device *dev, in uart_sedi_line_ctrl_get() argument
536 sedi_uart_t instance = GET_CONTROLLER_INSTANCE(dev); in uart_sedi_line_ctrl_get()
541 k_mutex_lock(GET_MUTEX(dev), K_FOREVER); in uart_sedi_line_ctrl_get()
543 pm_device_runtime_get(dev); in uart_sedi_line_ctrl_get()
584 pm_device_runtime_put(dev); in uart_sedi_line_ctrl_get()
586 k_mutex_unlock(GET_MUTEX(dev)); in uart_sedi_line_ctrl_get()
620 static int uart_sedi_init(const struct device *dev) in uart_sedi_init() argument
623 const struct uart_sedi_config_info *config = dev->config; in uart_sedi_init()
626 DEVICE_MMIO_MAP(dev, K_MEM_CACHE_NONE); in uart_sedi_init()
627 sedi_uart_init(config->instance, (void *)DEVICE_MMIO_GET(dev)); in uart_sedi_init()
639 config->uart_irq_config_func(dev); in uart_sedi_init()
642 pm_device_runtime_enable(dev); in uart_sedi_init()