Skip to content

Commit b64f611

Browse files
de-nordiccarlescufi
authored andcommitted
mgmt/mcumgr: Remove mgmt_streamer structure
There are no more functions directly using the type, so it has been removed and its contents have been moved to smp_streamer. Signed-off-by: Dominik Ermel <[email protected]>
1 parent 7f67b67 commit b64f611

File tree

4 files changed

+20
-29
lines changed

4 files changed

+20
-29
lines changed

subsys/mgmt/mcumgr/lib/mgmt/include/mgmt/mgmt.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -131,15 +131,6 @@ typedef void *(*mgmt_alloc_rsp_fn)(const void *src_buf, void *arg);
131131
*/
132132
typedef void (*mgmt_reset_buf_fn)(void *buf, void *arg);
133133

134-
/**
135-
* @brief Decodes requests and encodes responses for any mcumgr protocol.
136-
*/
137-
struct mgmt_streamer {
138-
void *cb_arg;
139-
struct cbor_nb_reader *reader;
140-
struct cbor_nb_writer *writer;
141-
};
142-
143134
/**
144135
* @brief Context required by command handlers for parsing requests and writing
145136
* responses.

subsys/mgmt/mcumgr/lib/smp/include/smp/smp.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ typedef int smp_tx_rsp_fn(struct smp_streamer *ss, void *buf, void *arg);
4949
* @brief Decodes, encodes, and transmits SMP packets.
5050
*/
5151
struct smp_streamer {
52-
struct mgmt_streamer mgmt_stmr;
52+
struct zephyr_smp_transport *smpt;
53+
struct cbor_nb_reader *reader;
54+
struct cbor_nb_writer *writer;
5355
smp_tx_rsp_fn *tx_rsp_cb;
5456
};
5557

subsys/mgmt/mcumgr/lib/smp/src/smp.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ smp_read_hdr(const struct net_buf *nb, struct mgmt_hdr *dst_hdr)
5959
static inline int
6060
smp_write_hdr(struct smp_streamer *streamer, const struct mgmt_hdr *src_hdr)
6161
{
62-
memcpy(streamer->mgmt_stmr.writer->nb->data, src_hdr, sizeof(*src_hdr));
62+
memcpy(streamer->writer->nb->data, src_hdr, sizeof(*src_hdr));
6363
return 0;
6464
}
6565

@@ -68,7 +68,7 @@ smp_build_err_rsp(struct smp_streamer *streamer, const struct mgmt_hdr *req_hdr,
6868
const char *rc_rsn)
6969
{
7070
struct mgmt_hdr rsp_hdr;
71-
struct cbor_nb_writer *nbw = (struct cbor_nb_writer *)streamer->mgmt_stmr.writer;
71+
struct cbor_nb_writer *nbw = streamer->writer;
7272
zcbor_state_t *zsp = nbw->zs;
7373
bool ok;
7474

@@ -173,8 +173,8 @@ smp_handle_single_req(struct smp_streamer *streamer, const struct mgmt_hdr *req_
173173
{
174174
struct mgmt_ctxt cbuf;
175175
struct mgmt_hdr rsp_hdr;
176-
struct cbor_nb_writer *nbw = (struct cbor_nb_writer *)streamer->mgmt_stmr.writer;
177-
struct cbor_nb_reader *nbr = (struct cbor_nb_reader *)streamer->mgmt_stmr.reader;
176+
struct cbor_nb_writer *nbw = streamer->writer;
177+
struct cbor_nb_reader *nbr = streamer->reader;
178178
zcbor_state_t *zsp = nbw->zs;
179179
int rc;
180180

@@ -223,18 +223,18 @@ smp_on_err(struct smp_streamer *streamer, const struct mgmt_hdr *req_hdr,
223223
}
224224

225225
/* Clear the partial response from the buffer, if any. */
226-
cbor_nb_writer_init(streamer->mgmt_stmr.writer, rsp);
226+
cbor_nb_writer_init(streamer->writer, rsp);
227227

228228
/* Build and transmit the error response. */
229229
rc = smp_build_err_rsp(streamer, req_hdr, status, rsn);
230230
if (rc == 0) {
231-
streamer->tx_rsp_cb(streamer, rsp, streamer->mgmt_stmr.cb_arg);
231+
streamer->tx_rsp_cb(streamer, rsp, streamer->smpt);
232232
rsp = NULL;
233233
}
234234

235235
/* Free any extra buffers. */
236-
zephyr_smp_free_buf(req, streamer->mgmt_stmr.cb_arg);
237-
zephyr_smp_free_buf(rsp, streamer->mgmt_stmr.cb_arg);
236+
zephyr_smp_free_buf(req, streamer->smpt);
237+
zephyr_smp_free_buf(rsp, streamer->smpt);
238238
}
239239

240240
/**
@@ -290,14 +290,14 @@ smp_process_request_packet(struct smp_streamer *streamer, void *vreq)
290290
break;
291291
}
292292

293-
rsp = zephyr_smp_alloc_rsp(req, streamer->mgmt_stmr.cb_arg);
293+
rsp = zephyr_smp_alloc_rsp(req, streamer->smpt);
294294
if (rsp == NULL) {
295295
rc = MGMT_ERR_ENOMEM;
296296
break;
297297
}
298298

299-
cbor_nb_reader_init(streamer->mgmt_stmr.reader, req);
300-
cbor_nb_writer_init(streamer->mgmt_stmr.writer, rsp);
299+
cbor_nb_reader_init(streamer->reader, req);
300+
cbor_nb_writer_init(streamer->writer, rsp);
301301

302302
/* Process the request payload and build the response. */
303303
rc = smp_handle_single_req(streamer, &req_hdr, &handler_found, &rsn);
@@ -306,7 +306,7 @@ smp_process_request_packet(struct smp_streamer *streamer, void *vreq)
306306
}
307307

308308
/* Send the response. */
309-
rc = streamer->tx_rsp_cb(streamer, rsp, streamer->mgmt_stmr.cb_arg);
309+
rc = streamer->tx_rsp_cb(streamer, rsp, streamer->smpt);
310310
rsp = NULL;
311311
if (rc != 0) {
312312
break;
@@ -332,8 +332,8 @@ smp_process_request_packet(struct smp_streamer *streamer, void *vreq)
332332
return rc;
333333
}
334334

335-
zephyr_smp_free_buf(req, streamer->mgmt_stmr.cb_arg);
336-
zephyr_smp_free_buf(rsp, streamer->mgmt_stmr.cb_arg);
335+
zephyr_smp_free_buf(req, streamer->smpt);
336+
zephyr_smp_free_buf(rsp, streamer->smpt);
337337

338338
return rc;
339339
}

subsys/mgmt/mcumgr/smp.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,9 @@ zephyr_smp_process_packet(struct zephyr_smp_transport *zst,
114114
int rc;
115115

116116
streamer = (struct smp_streamer) {
117-
.mgmt_stmr = {
118-
.reader = &reader,
119-
.writer = &writer,
120-
.cb_arg = zst,
121-
},
117+
.reader = &reader,
118+
.writer = &writer,
119+
.smpt = zst,
122120
.tx_rsp_cb = zephyr_smp_tx_rsp,
123121
};
124122

0 commit comments

Comments
 (0)