Commit af5f88c8 authored by Johannes Goerner's avatar Johannes Goerner Committed by Mauro Carvalho Chehab

V4L/DVB (12281): gspca - sunplus: Webcam 052b:1803 added.

Signed-off-by: default avatarJohannes Goerner <johannes-goerner@gmx.de>
Signed-off-by: default avatarJean-Francois Moine <moinejf@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent d8f400ef
...@@ -140,6 +140,7 @@ spca500 04fc:7333 PalmPixDC85 ...@@ -140,6 +140,7 @@ spca500 04fc:7333 PalmPixDC85
sunplus 04fc:ffff Pure DigitalDakota sunplus 04fc:ffff Pure DigitalDakota
spca501 0506:00df 3Com HomeConnect Lite spca501 0506:00df 3Com HomeConnect Lite
sunplus 052b:1513 Megapix V4 sunplus 052b:1513 Megapix V4
sunplus 052b:1803 MegaImage VI
tv8532 0545:808b Veo Stingray tv8532 0545:808b Veo Stingray
tv8532 0545:8333 Veo Stingray tv8532 0545:8333 Veo Stingray
sunplus 0546:3155 Polaroid PDC3070 sunplus 0546:3155 Polaroid PDC3070
......
...@@ -52,6 +52,7 @@ struct sd { ...@@ -52,6 +52,7 @@ struct sd {
#define LogitechClickSmart420 2 #define LogitechClickSmart420 2
#define LogitechClickSmart820 3 #define LogitechClickSmart820 3
#define MegapixV4 4 #define MegapixV4 4
#define MegaImageVI 5
u8 *jpeg_hdr; u8 *jpeg_hdr;
}; };
...@@ -844,7 +845,10 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -844,7 +845,10 @@ static int sd_config(struct gspca_dev *gspca_dev,
break; break;
case BRIDGE_SPCA533: case BRIDGE_SPCA533:
cam->cam_mode = custom_mode; cam->cam_mode = custom_mode;
cam->nmodes = sizeof custom_mode / sizeof custom_mode[0]; if (sd->subtype == MegaImageVI) /* 320x240 only */
cam->nmodes = ARRAY_SIZE(custom_mode) - 1;
else
cam->nmodes = ARRAY_SIZE(custom_mode);
break; break;
case BRIDGE_SPCA504C: case BRIDGE_SPCA504C:
cam->cam_mode = vga_mode2; cam->cam_mode = vga_mode2;
...@@ -988,7 +992,8 @@ static int sd_start(struct gspca_dev *gspca_dev) ...@@ -988,7 +992,8 @@ static int sd_start(struct gspca_dev *gspca_dev)
/* case BRIDGE_SPCA533: */ /* case BRIDGE_SPCA533: */
/* case BRIDGE_SPCA536: */ /* case BRIDGE_SPCA536: */
if (sd->subtype == MegapixV4 || if (sd->subtype == MegapixV4 ||
sd->subtype == LogitechClickSmart820) { sd->subtype == LogitechClickSmart820 ||
sd->subtype == MegaImageVI) {
reg_w(gspca_dev, 0xf0, 0, 0, 0); reg_w(gspca_dev, 0xf0, 0, 0, 0);
spca504B_WaitCmdStatus(gspca_dev); spca504B_WaitCmdStatus(gspca_dev);
reg_r(gspca_dev, 0xf0, 4, 0); reg_r(gspca_dev, 0xf0, 4, 0);
...@@ -1384,6 +1389,7 @@ static const __devinitdata struct usb_device_id device_table[] = { ...@@ -1384,6 +1389,7 @@ static const __devinitdata struct usb_device_id device_table[] = {
{USB_DEVICE(0x04fc, 0x5360), BS(SPCA536, 0)}, {USB_DEVICE(0x04fc, 0x5360), BS(SPCA536, 0)},
{USB_DEVICE(0x04fc, 0xffff), BS(SPCA504B, 0)}, {USB_DEVICE(0x04fc, 0xffff), BS(SPCA504B, 0)},
{USB_DEVICE(0x052b, 0x1513), BS(SPCA533, MegapixV4)}, {USB_DEVICE(0x052b, 0x1513), BS(SPCA533, MegapixV4)},
{USB_DEVICE(0x052b, 0x1803), BS(SPCA533, MegaImageVI)},
{USB_DEVICE(0x0546, 0x3155), BS(SPCA533, 0)}, {USB_DEVICE(0x0546, 0x3155), BS(SPCA533, 0)},
{USB_DEVICE(0x0546, 0x3191), BS(SPCA504B, 0)}, {USB_DEVICE(0x0546, 0x3191), BS(SPCA504B, 0)},
{USB_DEVICE(0x0546, 0x3273), BS(SPCA504B, 0)}, {USB_DEVICE(0x0546, 0x3273), BS(SPCA504B, 0)},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment