forked from Minki/linux
V4L/DVB (10853): cx18: Fix s-parse warnings and a logic error about extracting the VBI PTS
My s-parse builds never griped about be32_to_cpu() casting to __be32, but Hans' builds did. This change explictly declares the pointer into the VBI buffer header as __be32, which is the correct thing to do as the data is always big endian when we go to fetch it. Hopefully this will quiet s-parse warnings. Also corrected a misplaced parenthesis logic error in checking for the VBI header magic number. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
386e439f0c
commit
583803d135
@ -169,7 +169,7 @@ void cx18_process_vbi_data(struct cx18 *cx, struct cx18_buffer *buf,
|
||||
int streamtype)
|
||||
{
|
||||
u8 *p = (u8 *) buf->buf;
|
||||
u32 *q = (u32 *) buf->buf;
|
||||
__be32 *q = (__be32 *) buf->buf;
|
||||
u32 size = buf->bytesused;
|
||||
u32 pts;
|
||||
int lines;
|
||||
@ -178,8 +178,9 @@ void cx18_process_vbi_data(struct cx18 *cx, struct cx18_buffer *buf,
|
||||
return;
|
||||
|
||||
/*
|
||||
* The CX23418 sends us data that is 32 bit LE swapped, but we want
|
||||
* the raw VBI bytes in the order they were in the raster line
|
||||
* The CX23418 sends us data that is 32 bit little-endian swapped,
|
||||
* but we want the raw VBI bytes in the order they were in the raster
|
||||
* line. This has a side effect of making the 12 byte header big endian
|
||||
*/
|
||||
cx18_buf_swap(buf);
|
||||
|
||||
@ -218,7 +219,7 @@ void cx18_process_vbi_data(struct cx18 *cx, struct cx18_buffer *buf,
|
||||
|
||||
/* Sliced VBI data with data insertion */
|
||||
|
||||
pts = (be32_to_cpu(q[0] == 0x3fffffff)) ? be32_to_cpu(q[2]) : 0;
|
||||
pts = (be32_to_cpu(q[0]) == 0x3fffffff) ? be32_to_cpu(q[2]) : 0;
|
||||
|
||||
/*
|
||||
* For calls to compress_sliced_buf(), ensure there are an integral
|
||||
|
Loading…
Reference in New Issue
Block a user