Skip to content

Commit b4c8870

Browse files
committed
[subsys|drivers|tests]/modem: update to new ring_buffer api
move to new ring_buffer api. Signed-off-by: Måns Ansgariusson <[email protected]>
1 parent e5e5e63 commit b4c8870

File tree

20 files changed

+110
-126
lines changed

20 files changed

+110
-126
lines changed

drivers/modem/Kconfig

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ config MODEM_RECEIVER
1818
bool "Modem receiver helper driver"
1919
depends on SERIAL_SUPPORT_INTERRUPT
2020
select UART_INTERRUPT_DRIVEN
21-
select RING_BUFFER
2221
help
2322
This driver allows modem drivers to communicate over UART with custom
2423
defined protocols. Driver doesn't inspect received data and all
@@ -64,7 +63,6 @@ config MODEM_CONTEXT_VERBOSE_DEBUG
6463

6564
config MODEM_IFACE_UART
6665
bool "UART-based modem interface"
67-
select RING_BUFFER
6866
help
6967
To configure this layer for use, create a modem_iface_uart_data
7068
object and pass it's reference to modem_iface_uart_init()

drivers/modem/Kconfig.cellular

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ config MODEM_CELLULAR
1111
select MODEM_PIPELINK
1212
select MODEM_BACKEND_UART
1313
select UART_USE_RUNTIME_CONFIGURE
14-
select RING_BUFFER
1514
select NET_L2_PPP_OPTION_MRU
1615
select NET_L2_PPP_PAP
1716
select NET_L2_PPP_MGMT

drivers/modem/modem_cellular.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ struct modem_cellular_data {
165165
/* Event dispatcher */
166166
struct k_work event_dispatch_work;
167167
uint8_t event_buf[8];
168-
struct ring_buf event_rb;
168+
struct ring_buffer event_rb;
169169
struct k_mutex event_rb_lock;
170170

171171
struct k_mutex api_lock;
@@ -723,7 +723,7 @@ static void modem_cellular_event_dispatch_handler(struct k_work *item)
723723

724724
k_mutex_lock(&data->event_rb_lock, K_FOREVER);
725725

726-
events_cnt = (uint8_t)ring_buf_get(&data->event_rb, events, sizeof(data->event_buf));
726+
events_cnt = (uint8_t)ring_buffer_read(&data->event_rb, events, sizeof(data->event_buf));
727727

728728
k_mutex_unlock(&data->event_rb_lock);
729729

@@ -736,7 +736,7 @@ static void modem_cellular_delegate_event(struct modem_cellular_data *data,
736736
enum modem_cellular_event evt)
737737
{
738738
k_mutex_lock(&data->event_rb_lock, K_FOREVER);
739-
ring_buf_put(&data->event_rb, (uint8_t *)&evt, 1);
739+
ring_buffer_write(&data->event_rb, (uint8_t *)&evt, 1);
740740
k_mutex_unlock(&data->event_rb_lock);
741741
k_work_submit(&data->event_dispatch_work);
742742
}
@@ -2192,7 +2192,7 @@ static int modem_cellular_init(const struct device *dev)
21922192
k_work_init_delayable(&data->timeout_work, modem_cellular_timeout_handler);
21932193

21942194
k_work_init(&data->event_dispatch_work, modem_cellular_event_dispatch_handler);
2195-
ring_buf_init(&data->event_rb, sizeof(data->event_buf), data->event_buf);
2195+
ring_buffer_init(&data->event_rb, data->event_buf, sizeof(data->event_buf));
21962196

21972197
k_sem_init(&data->suspended_sem, 0, 1);
21982198

drivers/modem/modem_iface_uart.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ struct modem_iface_uart_data {
2424
bool hw_flow_control;
2525

2626
/* ring buffer */
27-
struct ring_buf rx_rb;
27+
struct ring_buffer rx_rb;
2828

2929
/* rx semaphore */
3030
struct k_sem rx_sem;

drivers/modem/modem_iface_uart_async.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ static void iface_uart_async_callback(const struct device *dev,
5252
break;
5353
case UART_RX_RDY:
5454
/* Place received data on the ring buffer */
55-
written = ring_buf_put(&data->rx_rb,
55+
written = ring_buffer_write(&data->rx_rb,
5656
evt->data.rx.buf + evt->data.rx.offset,
5757
evt->data.rx.len);
5858
if (written != evt->data.rx.len) {
@@ -97,7 +97,7 @@ static int modem_iface_uart_async_read(struct modem_iface *iface,
9797

9898
/* Pull data off the ring buffer */
9999
data = iface->iface_data;
100-
*bytes_read = ring_buf_get(&data->rx_rb, buf, size);
100+
*bytes_read = ring_buffer_read(&data->rx_rb, buf, size);
101101
return 0;
102102
}
103103

@@ -176,7 +176,7 @@ int modem_iface_uart_init(struct modem_iface *iface, struct modem_iface_uart_dat
176176
iface->read = modem_iface_uart_async_read;
177177
iface->write = modem_iface_uart_async_write;
178178

179-
ring_buf_init(&data->rx_rb, config->rx_rb_buf_len, config->rx_rb_buf);
179+
ring_buffer_init(&data->rx_rb, config->rx_rb_buf_len, config->rx_rb_buf);
180180
k_sem_init(&data->rx_sem, 0, 1);
181181
k_sem_init(&data->tx_sem, 0, 1);
182182

drivers/modem/modem_iface_uart_interrupt.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ static void modem_iface_uart_isr(const struct device *uart_dev,
5252
{
5353
struct modem_context *ctx;
5454
struct modem_iface_uart_data *data;
55-
int rx = 0, ret;
55+
int rx = 0;
5656
uint8_t *dst;
5757
uint32_t partial_size = 0;
5858
uint32_t total_size = 0;
@@ -70,8 +70,7 @@ static void modem_iface_uart_isr(const struct device *uart_dev,
7070
while (uart_irq_update(ctx->iface.dev) &&
7171
uart_irq_rx_ready(ctx->iface.dev)) {
7272
if (!partial_size) {
73-
partial_size = ring_buf_put_claim(&data->rx_rb, &dst,
74-
UINT32_MAX);
73+
partial_size = ring_buffer_write_ptr(&data->rx_rb, &dst);
7574
}
7675
if (!partial_size) {
7776
if (data->hw_flow_control) {
@@ -93,8 +92,7 @@ static void modem_iface_uart_isr(const struct device *uart_dev,
9392
partial_size -= rx;
9493
}
9594

96-
ret = ring_buf_put_finish(&data->rx_rb, total_size);
97-
__ASSERT_NO_MSG(ret == 0);
95+
ring_buffer_commit(&data->rx_rb, total_size);
9896

9997
if (total_size > 0) {
10098
k_sem_give(&data->rx_sem);
@@ -116,7 +114,7 @@ static int modem_iface_uart_read(struct modem_iface *iface,
116114
}
117115

118116
data = (struct modem_iface_uart_data *)(iface->iface_data);
119-
*bytes_read = ring_buf_get(&data->rx_rb, buf, size);
117+
*bytes_read = ring_buffer_read(&data->rx_rb, buf, size);
120118

121119
if (data->hw_flow_control && *bytes_read == 0) {
122120
uart_irq_rx_enable(iface->dev);
@@ -190,7 +188,7 @@ int modem_iface_uart_init(struct modem_iface *iface, struct modem_iface_uart_dat
190188
iface->read = modem_iface_uart_read;
191189
iface->write = modem_iface_uart_write;
192190

193-
ring_buf_init(&data->rx_rb, config->rx_rb_buf_len, config->rx_rb_buf);
191+
ring_buffer_init(&data->rx_rb, config->rx_rb_buf, config->rx_rb_buf_len);
194192
k_sem_init(&data->rx_sem, 0, 1);
195193

196194
/* Configure hardware flow control */

drivers/modem/modem_receiver.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ static void mdm_receiver_isr(const struct device *uart_dev, void *user_data)
121121
uart_irq_rx_ready(ctx->uart_dev)) {
122122
rx = uart_fifo_read(ctx->uart_dev, read_buf, sizeof(read_buf));
123123
if (rx > 0) {
124-
ret = ring_buf_put(&ctx->rx_rb, read_buf, rx);
124+
ret = ring_buffer_write(&ctx->rx_rb, read_buf, rx);
125125
if (ret != rx) {
126126
LOG_ERR("Rx buffer doesn't have enough space. "
127127
"Bytes pending: %d, written: %d",
@@ -174,7 +174,7 @@ int mdm_receiver_recv(struct mdm_receiver_context *ctx,
174174
return 0;
175175
}
176176

177-
*bytes_read = ring_buf_get(&ctx->rx_rb, buf, size);
177+
*bytes_read = ring_buffer_read(&ctx->rx_rb, buf, size);
178178
return 0;
179179
}
180180

@@ -232,7 +232,7 @@ int mdm_receiver_register(struct mdm_receiver_context *ctx,
232232
}
233233

234234
ctx->uart_dev = uart_dev;
235-
ring_buf_init(&ctx->rx_rb, size, buf);
235+
ring_buffer_init(&ctx->rx_rb, buf, size);
236236
k_sem_init(&ctx->rx_sem, 0, 1);
237237

238238
ret = mdm_receiver_get(ctx);

drivers/modem/modem_receiver.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ struct mdm_receiver_context {
2525
const struct device *uart_dev;
2626

2727
/* rx data */
28-
struct ring_buf rx_rb;
28+
struct ring_buffer rx_rb;
2929
struct k_sem rx_sem;
3030

3131
/* modem data */

include/zephyr/modem/backend/uart.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ extern "C" {
2222
#endif
2323

2424
struct modem_backend_uart_isr {
25-
struct ring_buf receive_rdb[2];
26-
struct ring_buf transmit_rb;
25+
struct ring_buffer receive_rdb[2];
26+
struct ring_buffer transmit_rb;
2727
atomic_t transmit_buf_len;
2828
atomic_t receive_buf_len;
2929
uint8_t receive_rdb_used;
@@ -60,7 +60,7 @@ struct modem_backend_uart_async {
6060
struct modem_backend_uart_async_common common;
6161
uint8_t *receive_bufs[2];
6262
uint32_t receive_buf_size;
63-
struct ring_buf receive_rb;
63+
struct ring_buffer receive_rb;
6464
struct k_spinlock receive_rb_lock;
6565
};
6666

include/zephyr/modem/cmux.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ struct modem_cmux_dlci {
106106
struct modem_cmux *cmux;
107107

108108
/* Receive buffer */
109-
struct ring_buf receive_rb;
109+
struct ring_buffer receive_rb;
110110
struct k_mutex receive_rb_lock;
111111

112112
/* Work */
@@ -167,7 +167,7 @@ struct modem_cmux {
167167
uint8_t work_buf[MODEM_CMUX_WORK_BUFFER_SIZE];
168168

169169
/* Transmit buffer */
170-
struct ring_buf transmit_rb;
170+
struct ring_buffer transmit_rb;
171171
struct k_mutex transmit_rb_lock;
172172

173173
/* Received frame */

0 commit comments

Comments
 (0)