aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/gspca/gspca.c7
-rw-r--r--drivers/media/video/gspca/pac207.c10
2 files changed, 11 insertions, 6 deletions
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c
index 5583c53e486..07d765a7de6 100644
--- a/drivers/media/video/gspca/gspca.c
+++ b/drivers/media/video/gspca/gspca.c
@@ -316,6 +316,7 @@ static int gspca_is_compressed(__u32 format)
switch (format) {
case V4L2_PIX_FMT_MJPEG:
case V4L2_PIX_FMT_JPEG:
+ case V4L2_PIX_FMT_SPCA561:
return 1;
}
return 0;
@@ -369,12 +370,12 @@ static __u32 get_v4l2_depth(__u32 pixfmt)
case V4L2_PIX_FMT_YYUV: /* 'YYUV' */
return 16;
case V4L2_PIX_FMT_YUV420: /* 'YU12' planar 4.2.0 */
+ case V4L2_PIX_FMT_SPCA501: /* 'S501' YUYV per line */
return 12;
case V4L2_PIX_FMT_MJPEG:
case V4L2_PIX_FMT_JPEG:
case V4L2_PIX_FMT_SBGGR8: /* 'BA81' Bayer */
case V4L2_PIX_FMT_SN9C10X: /* 'S910' SN9C10x compression */
- case V4L2_PIX_FMT_SPCA501: /* 'S501' YUYV per line */
case V4L2_PIX_FMT_SPCA561: /* 'S561' compressed BGGR bayer */
return 8;
}
@@ -913,8 +914,10 @@ static int vidioc_s_fmt_cap(struct file *file, void *priv,
goto out;
}
- if (ret == gspca_dev->curr_mode)
+ if (ret == gspca_dev->curr_mode) {
+ ret = 0;
goto out; /* same mode */
+ }
if (gspca_dev->streaming) {
ret = -EBUSY;
diff --git a/drivers/media/video/gspca/pac207.c b/drivers/media/video/gspca/pac207.c
index 72a5b89cd59..008954e755f 100644
--- a/drivers/media/video/gspca/pac207.c
+++ b/drivers/media/video/gspca/pac207.c
@@ -492,7 +492,7 @@ static void pac207_do_auto_gain(struct gspca_dev *gspca_dev)
}
static unsigned char *pac207_find_sof(struct gspca_dev *gspca_dev,
- unsigned char *m, int len)
+ unsigned char *m, int len)
{
struct sd *sd = (struct sd *) gspca_dev;
int i;
@@ -518,7 +518,9 @@ static unsigned char *pac207_find_sof(struct gspca_dev *gspca_dev,
}
static int pac207_decompress_row(struct gspca_dev *gspca_dev,
- struct gspca_frame *f, unsigned char *cdata, int len)
+ struct gspca_frame *f,
+ __u8 *cdata,
+ int len)
{
struct sd *sd = (struct sd *) gspca_dev;
struct pac207_decoder_state *decoder_state = &sd->decoder_state;
@@ -667,10 +669,10 @@ static int pac207_decode_frame_data(struct gspca_dev *gspca_dev,
case LINE_HEADER2:
decoder_state->line_marker |= data[0];
switch (decoder_state->line_marker) {
- case 0x0FF0:
+ case 0x0ff0:
decoder_state->line_state = LINE_UNCOMPRESSED;
break;
- case 0x1EE1:
+ case 0x1ee1:
decoder_state->line_state = LINE_COMPRESSED;
break;
default: