mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 07:34:06 +08:00
V4L/DVB (13298): gspca - pac207/pac7311/mr97310a: Simplify pac_find_sof.
Remove struct sd dependency from pac_find_sof() function implementation. This step prepares separation of pac7302 and pac7311 specific parts of struct sd. Signed-off-by: Marton Nemeth <nm127@freemail.hu> Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
c86c82b74f
commit
a6b69e409a
@ -1034,9 +1034,10 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
|
||||
__u8 *data, /* isoc packet */
|
||||
int len) /* iso packet length */
|
||||
{
|
||||
struct sd *sd = (struct sd *) gspca_dev;
|
||||
unsigned char *sof;
|
||||
|
||||
sof = pac_find_sof(gspca_dev, data, len);
|
||||
sof = pac_find_sof(&sd->sof_read, data, len);
|
||||
if (sof) {
|
||||
int n;
|
||||
|
||||
|
@ -344,7 +344,7 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
|
||||
struct sd *sd = (struct sd *) gspca_dev;
|
||||
unsigned char *sof;
|
||||
|
||||
sof = pac_find_sof(gspca_dev, data, len);
|
||||
sof = pac_find_sof(&sd->sof_read, data, len);
|
||||
if (sof) {
|
||||
int n;
|
||||
|
||||
|
@ -838,7 +838,7 @@ static void sd_pkt_scan(struct gspca_dev *gspca_dev,
|
||||
struct sd *sd = (struct sd *) gspca_dev;
|
||||
unsigned char *sof;
|
||||
|
||||
sof = pac_find_sof(gspca_dev, data, len);
|
||||
sof = pac_find_sof(&sd->sof_read, data, len);
|
||||
if (sof) {
|
||||
unsigned char tmpbuf[4];
|
||||
int n, lum_offset, footer_length;
|
||||
|
@ -72,42 +72,41 @@ static const unsigned char pac_sof_marker[5] =
|
||||
+----------+
|
||||
*/
|
||||
|
||||
static unsigned char *pac_find_sof(struct gspca_dev *gspca_dev,
|
||||
static unsigned char *pac_find_sof(u8 *sof_read,
|
||||
unsigned char *m, int len)
|
||||
{
|
||||
struct sd *sd = (struct sd *) gspca_dev;
|
||||
int i;
|
||||
|
||||
/* Search for the SOF marker (fixed part) in the header */
|
||||
for (i = 0; i < len; i++) {
|
||||
switch (sd->sof_read) {
|
||||
switch (*sof_read) {
|
||||
case 0:
|
||||
if (m[i] == 0xff)
|
||||
sd->sof_read = 1;
|
||||
*sof_read = 1;
|
||||
break;
|
||||
case 1:
|
||||
if (m[i] == 0xff)
|
||||
sd->sof_read = 2;
|
||||
*sof_read = 2;
|
||||
else
|
||||
sd->sof_read = 0;
|
||||
*sof_read = 0;
|
||||
break;
|
||||
case 2:
|
||||
switch (m[i]) {
|
||||
case 0x00:
|
||||
sd->sof_read = 3;
|
||||
*sof_read = 3;
|
||||
break;
|
||||
case 0xff:
|
||||
/* stay in this state */
|
||||
break;
|
||||
default:
|
||||
sd->sof_read = 0;
|
||||
*sof_read = 0;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (m[i] == 0xff)
|
||||
sd->sof_read = 4;
|
||||
*sof_read = 4;
|
||||
else
|
||||
sd->sof_read = 0;
|
||||
*sof_read = 0;
|
||||
break;
|
||||
case 4:
|
||||
switch (m[i]) {
|
||||
@ -117,18 +116,18 @@ static unsigned char *pac_find_sof(struct gspca_dev *gspca_dev,
|
||||
"SOF found, bytes to analyze: %u."
|
||||
" Frame starts at byte #%u",
|
||||
len, i + 1);
|
||||
sd->sof_read = 0;
|
||||
*sof_read = 0;
|
||||
return m + i + 1;
|
||||
break;
|
||||
case 0xff:
|
||||
sd->sof_read = 2;
|
||||
*sof_read = 2;
|
||||
break;
|
||||
default:
|
||||
sd->sof_read = 0;
|
||||
*sof_read = 0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
sd->sof_read = 0;
|
||||
*sof_read = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user