[PATCH 7/9] media: vidtv: simplify parameters for vidtv_pes_write_stuffing()

From: Mauro Carvalho Chehab
Date: Mon Sep 21 2020 - 07:44:34 EST


Instead of passing struct pes_ts_header_write_args fields as
function parameters, just pass a pointer to the struct.

That would allow adding more args without needing to change
the function prototype.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
---
drivers/media/test-drivers/vidtv/vidtv_pes.c | 42 +++++++++-----------
1 file changed, 18 insertions(+), 24 deletions(-)

diff --git a/drivers/media/test-drivers/vidtv/vidtv_pes.c b/drivers/media/test-drivers/vidtv/vidtv_pes.c
index 34518ef042f7..de0ce5529d06 100644
--- a/drivers/media/test-drivers/vidtv/vidtv_pes.c
+++ b/drivers/media/test-drivers/vidtv/vidtv_pes.c
@@ -176,37 +176,34 @@ static u32 vidtv_pes_write_h(struct pes_header_write_args args)
return nbytes;
}

-static u32 vidtv_pes_write_stuffing(void *dest_buf,
- u32 dest_offset,
- u32 n_stuffing_bytes,
- u32 buf_sz)
+static u32 vidtv_pes_write_stuffing(struct pes_ts_header_write_args *args,
+ u32 dest_offset)
{
u32 nbytes = 0;
struct vidtv_mpeg_ts_adaption ts_adap = {};
- u32 stuff_nbytes = 0;
+ u32 stuff_nbytes;

- if (!n_stuffing_bytes)
+ if (!args->n_stuffing_bytes)
goto out;

- if (n_stuffing_bytes > PES_TS_HEADER_MAX_STUFFING_BYTES) {
+ if (args->n_stuffing_bytes > PES_TS_HEADER_MAX_STUFFING_BYTES) {
pr_warn_ratelimited("More than %d stuffing bytes for a PES packet!\n",
PES_TS_HEADER_MAX_STUFFING_BYTES);

- n_stuffing_bytes = PES_TS_HEADER_MAX_STUFFING_BYTES;
+ args->n_stuffing_bytes = PES_TS_HEADER_MAX_STUFFING_BYTES;
}

/* the AF will only be its 'length' field with a value of zero */
- if (n_stuffing_bytes == 1) {
- nbytes += vidtv_memset(dest_buf,
+ if (args->n_stuffing_bytes == 1) {
+ nbytes += vidtv_memset(args->dest_buf,
dest_offset + nbytes,
- buf_sz,
+ args->dest_buf_sz,
0,
- n_stuffing_bytes);
-
+ args->n_stuffing_bytes);
goto out;
}

- stuff_nbytes = n_stuffing_bytes - sizeof(ts_adap);
+ stuff_nbytes = args->n_stuffing_bytes - sizeof(ts_adap);

/* length _immediately_ following 'adaptation_field_length' */
ts_adap.length = sizeof(ts_adap) -
@@ -214,24 +211,24 @@ static u32 vidtv_pes_write_stuffing(void *dest_buf,
stuff_nbytes;

/* write the adap after the TS header */
- nbytes += vidtv_memcpy(dest_buf,
+ nbytes += vidtv_memcpy(args->dest_buf,
dest_offset + nbytes,
- buf_sz,
+ args->dest_buf_sz,
&ts_adap,
sizeof(ts_adap));

/* write the stuffing bytes */
- nbytes += vidtv_memset(dest_buf,
+ nbytes += vidtv_memset(args->dest_buf,
dest_offset + nbytes,
- buf_sz,
+ args->dest_buf_sz,
TS_FILL_BYTE,
stuff_nbytes);

out:
- if (nbytes != n_stuffing_bytes)
+ if (nbytes != args->n_stuffing_bytes)
pr_warn_ratelimited("write size was %d, expected %d\n",
nbytes,
- n_stuffing_bytes);
+ args->n_stuffing_bytes);

return nbytes;
}
@@ -261,10 +258,7 @@ static u32 vidtv_pes_write_ts_h(struct pes_ts_header_write_args args)
sizeof(ts_header));

/* write stuffing, if any */
- nbytes += vidtv_pes_write_stuffing(args.dest_buf,
- args.dest_offset + nbytes,
- args.n_stuffing_bytes,
- args.dest_buf_sz);
+ nbytes += vidtv_pes_write_stuffing(&args, args.dest_offset + nbytes);

return nbytes;
}
--
2.26.2