@@ -58,11 +58,11 @@ struct uart_sam0_dev_data {
5858 uart_callback_t async_cb ;
5959 void * async_cb_data ;
6060
61- struct k_delayed_work tx_timeout_work ;
61+ struct k_work_delayable tx_timeout_work ;
6262 const uint8_t * tx_buf ;
6363 size_t tx_len ;
6464
65- struct k_delayed_work rx_timeout_work ;
65+ struct k_work_delayable rx_timeout_work ;
6666 size_t rx_timeout_time ;
6767 size_t rx_timeout_chunk ;
6868 uint32_t rx_timeout_start ;
@@ -130,7 +130,7 @@ static void uart_sam0_dma_tx_done(const struct device *dma_dev, void *arg,
130130 (struct uart_sam0_dev_data * const ) arg ;
131131 const struct device * dev = dev_data -> dev ;
132132
133- k_delayed_work_cancel (& dev_data -> tx_timeout_work );
133+ k_work_cancel_delayable (& dev_data -> tx_timeout_work );
134134
135135 int key = irq_lock ();
136136
@@ -361,7 +361,7 @@ static void uart_sam0_rx_timeout(struct k_work *work)
361361 */
362362 if (dev_data -> rx_timeout_from_isr ) {
363363 dev_data -> rx_timeout_from_isr = false;
364- k_delayed_work_submit (& dev_data -> rx_timeout_work ,
364+ k_work_reschedule (& dev_data -> rx_timeout_work ,
365365 K_MSEC (dev_data -> rx_timeout_chunk ));
366366 irq_unlock (key );
367367 return ;
@@ -383,7 +383,7 @@ static void uart_sam0_rx_timeout(struct k_work *work)
383383 uint32_t remaining = MIN (dev_data -> rx_timeout_time - elapsed ,
384384 dev_data -> rx_timeout_chunk );
385385
386- k_delayed_work_submit (& dev_data -> rx_timeout_work ,
386+ k_work_reschedule (& dev_data -> rx_timeout_work ,
387387 K_MSEC (remaining ));
388388 }
389389
@@ -570,8 +570,8 @@ static int uart_sam0_init(const struct device *dev)
570570 return - ENODEV ;
571571 }
572572
573- k_delayed_work_init (& dev_data -> tx_timeout_work , uart_sam0_tx_timeout );
574- k_delayed_work_init (& dev_data -> rx_timeout_work , uart_sam0_rx_timeout );
573+ k_work_init_delayable (& dev_data -> tx_timeout_work , uart_sam0_tx_timeout );
574+ k_work_init_delayable (& dev_data -> rx_timeout_work , uart_sam0_rx_timeout );
575575
576576 if (cfg -> tx_dma_channel != 0xFFU ) {
577577 struct dma_config dma_cfg = { 0 };
@@ -689,7 +689,7 @@ static void uart_sam0_isr(const struct device *dev)
689689 if (dev_data -> rx_timeout_time != SYS_FOREVER_MS ) {
690690 dev_data -> rx_timeout_from_isr = true;
691691 dev_data -> rx_timeout_start = k_uptime_get_32 ();
692- k_delayed_work_submit (& dev_data -> rx_timeout_work ,
692+ k_work_reschedule (& dev_data -> rx_timeout_work ,
693693 K_MSEC (dev_data -> rx_timeout_chunk ));
694694 }
695695
@@ -846,7 +846,7 @@ static int uart_sam0_tx(const struct device *dev, const uint8_t *buf,
846846 }
847847
848848 if (timeout != SYS_FOREVER_MS ) {
849- k_delayed_work_submit (& dev_data -> tx_timeout_work ,
849+ k_work_reschedule (& dev_data -> tx_timeout_work ,
850850 K_MSEC (timeout ));
851851 }
852852
@@ -865,7 +865,7 @@ static int uart_sam0_tx_abort(const struct device *dev)
865865 return - ENOTSUP ;
866866 }
867867
868- k_delayed_work_cancel (& dev_data -> tx_timeout_work );
868+ k_work_cancel_delayable (& dev_data -> tx_timeout_work );
869869
870870 return uart_sam0_tx_halt (dev_data );
871871}
@@ -965,7 +965,7 @@ static int uart_sam0_rx_disable(const struct device *dev)
965965 SercomUsart * const regs = cfg -> regs ;
966966 struct dma_status st ;
967967
968- k_delayed_work_cancel (& dev_data -> rx_timeout_work );
968+ k_work_cancel_delayable (& dev_data -> rx_timeout_work );
969969
970970 int key = irq_lock ();
971971
0 commit comments