diff options
author | Jean-François Moine <moinejf@free.fr> | 2010-12-28 05:17:40 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-12-29 05:17:20 -0500 |
commit | 7fbee99aa2c73bdf47add9de58f646fa7713e7e5 (patch) | |
tree | bbc03e33bc0079d4c89d76611250eaa8fc05d4fc /drivers/media/video/gspca/zc3xx.c | |
parent | 49fb5e60f7e907126aac10af6577fac6fde684f6 (diff) |
[media] gspca - zc3xx: The sensor of the VF0250 is a GC0303
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca/zc3xx.c')
-rw-r--r-- | drivers/media/video/gspca/zc3xx.c | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/drivers/media/video/gspca/zc3xx.c b/drivers/media/video/gspca/zc3xx.c index 48b880283b63..14b85d483163 100644 --- a/drivers/media/video/gspca/zc3xx.c +++ b/drivers/media/video/gspca/zc3xx.c | |||
@@ -71,6 +71,7 @@ enum sensors { | |||
71 | SENSOR_ADCM2700, | 71 | SENSOR_ADCM2700, |
72 | SENSOR_CS2102, | 72 | SENSOR_CS2102, |
73 | SENSOR_CS2102K, | 73 | SENSOR_CS2102K, |
74 | SENSOR_GC0303, | ||
74 | SENSOR_GC0305, | 75 | SENSOR_GC0305, |
75 | SENSOR_HDCS2020b, | 76 | SENSOR_HDCS2020b, |
76 | SENSOR_HV7131B, | 77 | SENSOR_HV7131B, |
@@ -86,7 +87,6 @@ enum sensors { | |||
86 | SENSOR_PB0330, | 87 | SENSOR_PB0330, |
87 | SENSOR_PO2030, | 88 | SENSOR_PO2030, |
88 | SENSOR_TAS5130C, | 89 | SENSOR_TAS5130C, |
89 | SENSOR_TAS5130C_VF0250, | ||
90 | SENSOR_MAX | 90 | SENSOR_MAX |
91 | }; | 91 | }; |
92 | 92 | ||
@@ -5393,7 +5393,7 @@ static const struct usb_action tas5130c_NoFlikerScale[] = { | |||
5393 | {} | 5393 | {} |
5394 | }; | 5394 | }; |
5395 | 5395 | ||
5396 | static const struct usb_action tas5130c_vf0250_InitialScale[] = { | 5396 | static const struct usb_action gc0303_InitialScale[] = { |
5397 | {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc, */ | 5397 | {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc, */ |
5398 | {0xa0, 0x02, ZC3XX_R008_CLOCKSETTING}, /* 00,08,02,cc, */ | 5398 | {0xa0, 0x02, ZC3XX_R008_CLOCKSETTING}, /* 00,08,02,cc, */ |
5399 | {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc, */ | 5399 | {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc, */ |
@@ -5460,7 +5460,7 @@ static const struct usb_action tas5130c_vf0250_InitialScale[] = { | |||
5460 | {} | 5460 | {} |
5461 | }; | 5461 | }; |
5462 | 5462 | ||
5463 | static const struct usb_action tas5130c_vf0250_Initial[] = { | 5463 | static const struct usb_action gc0303_Initial[] = { |
5464 | {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc, */ | 5464 | {0xa0, 0x01, ZC3XX_R000_SYSTEMCONTROL}, /* 00,00,01,cc, */ |
5465 | {0xa0, 0x02, ZC3XX_R008_CLOCKSETTING}, /* 00,08,02,cc, */ | 5465 | {0xa0, 0x02, ZC3XX_R008_CLOCKSETTING}, /* 00,08,02,cc, */ |
5466 | {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc, */ | 5466 | {0xa0, 0x01, ZC3XX_R010_CMOSSENSORSELECT}, /* 00,10,01,cc, */ |
@@ -5525,7 +5525,7 @@ static const struct usb_action tas5130c_vf0250_Initial[] = { | |||
5525 | {0xa0, 0x65, ZC3XX_R118_BGAIN}, /* 01,18,65,cc */ | 5525 | {0xa0, 0x65, ZC3XX_R118_BGAIN}, /* 01,18,65,cc */ |
5526 | {} | 5526 | {} |
5527 | }; | 5527 | }; |
5528 | static const struct usb_action tas5130c_vf0250_50HZScale[] = { | 5528 | static const struct usb_action gc0303_50HZScale[] = { |
5529 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ | 5529 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ |
5530 | {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */ | 5530 | {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */ |
5531 | {0xaa, 0x84, 0x00aa}, /* 00,84,aa,aa */ | 5531 | {0xaa, 0x84, 0x00aa}, /* 00,84,aa,aa */ |
@@ -5549,7 +5549,7 @@ static const struct usb_action tas5130c_vf0250_50HZScale[] = { | |||
5549 | {} | 5549 | {} |
5550 | }; | 5550 | }; |
5551 | 5551 | ||
5552 | static const struct usb_action tas5130c_vf0250_50HZ[] = { | 5552 | static const struct usb_action gc0303_50HZ[] = { |
5553 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ | 5553 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ |
5554 | {0xaa, 0x83, 0x0003}, /* 00,83,03,aa */ | 5554 | {0xaa, 0x83, 0x0003}, /* 00,83,03,aa */ |
5555 | {0xaa, 0x84, 0x0054}, /* 00,84,54,aa */ | 5555 | {0xaa, 0x84, 0x0054}, /* 00,84,54,aa */ |
@@ -5573,7 +5573,7 @@ static const struct usb_action tas5130c_vf0250_50HZ[] = { | |||
5573 | {} | 5573 | {} |
5574 | }; | 5574 | }; |
5575 | 5575 | ||
5576 | static const struct usb_action tas5130c_vf0250_60HZScale[] = { | 5576 | static const struct usb_action gc0303_60HZScale[] = { |
5577 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ | 5577 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ |
5578 | {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */ | 5578 | {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */ |
5579 | {0xaa, 0x84, 0x0062}, /* 00,84,62,aa */ | 5579 | {0xaa, 0x84, 0x0062}, /* 00,84,62,aa */ |
@@ -5597,7 +5597,7 @@ static const struct usb_action tas5130c_vf0250_60HZScale[] = { | |||
5597 | {} | 5597 | {} |
5598 | }; | 5598 | }; |
5599 | 5599 | ||
5600 | static const struct usb_action tas5130c_vf0250_60HZ[] = { | 5600 | static const struct usb_action gc0303_60HZ[] = { |
5601 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ | 5601 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ |
5602 | {0xaa, 0x83, 0x0002}, /* 00,83,02,aa */ | 5602 | {0xaa, 0x83, 0x0002}, /* 00,83,02,aa */ |
5603 | {0xaa, 0x84, 0x00c4}, /* 00,84,c4,aa */ | 5603 | {0xaa, 0x84, 0x00c4}, /* 00,84,c4,aa */ |
@@ -5621,7 +5621,7 @@ static const struct usb_action tas5130c_vf0250_60HZ[] = { | |||
5621 | {} | 5621 | {} |
5622 | }; | 5622 | }; |
5623 | 5623 | ||
5624 | static const struct usb_action tas5130c_vf0250_NoFlikerScale[] = { | 5624 | static const struct usb_action gc0303_NoFlikerScale[] = { |
5625 | {0xa0, 0x0c, ZC3XX_R100_OPERATIONMODE}, /* 01,00,0c,cc, */ | 5625 | {0xa0, 0x0c, ZC3XX_R100_OPERATIONMODE}, /* 01,00,0c,cc, */ |
5626 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ | 5626 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ |
5627 | {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */ | 5627 | {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */ |
@@ -5643,7 +5643,7 @@ static const struct usb_action tas5130c_vf0250_NoFlikerScale[] = { | |||
5643 | {} | 5643 | {} |
5644 | }; | 5644 | }; |
5645 | 5645 | ||
5646 | static const struct usb_action tas5130c_vf0250_NoFliker[] = { | 5646 | static const struct usb_action gc0303_NoFliker[] = { |
5647 | {0xa0, 0x0c, ZC3XX_R100_OPERATIONMODE}, /* 01,00,0c,cc, */ | 5647 | {0xa0, 0x0c, ZC3XX_R100_OPERATIONMODE}, /* 01,00,0c,cc, */ |
5648 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ | 5648 | {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ |
5649 | {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */ | 5649 | {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */ |
@@ -5820,12 +5820,13 @@ static void setmatrix(struct gspca_dev *gspca_dev) | |||
5820 | {0x60, 0xf0, 0xf0, 0xf0, 0x60, 0xf0, 0xf0, 0xf0, 0x60}; | 5820 | {0x60, 0xf0, 0xf0, 0xf0, 0x60, 0xf0, 0xf0, 0xf0, 0x60}; |
5821 | static const u8 tas5130c_matrix[9] = | 5821 | static const u8 tas5130c_matrix[9] = |
5822 | {0x68, 0xec, 0xec, 0xec, 0x68, 0xec, 0xec, 0xec, 0x68}; | 5822 | {0x68, 0xec, 0xec, 0xec, 0x68, 0xec, 0xec, 0xec, 0x68}; |
5823 | static const u8 vf0250_matrix[9] = | 5823 | static const u8 gc0303_matrix[9] = |
5824 | {0x7b, 0xea, 0xea, 0xea, 0x7b, 0xea, 0xea, 0xea, 0x7b}; | 5824 | {0x7b, 0xea, 0xea, 0xea, 0x7b, 0xea, 0xea, 0xea, 0x7b}; |
5825 | static const u8 *matrix_tb[SENSOR_MAX] = { | 5825 | static const u8 *matrix_tb[SENSOR_MAX] = { |
5826 | [SENSOR_ADCM2700] = adcm2700_matrix, | 5826 | [SENSOR_ADCM2700] = adcm2700_matrix, |
5827 | [SENSOR_CS2102] = ov7620_matrix, | 5827 | [SENSOR_CS2102] = ov7620_matrix, |
5828 | [SENSOR_CS2102K] = NULL, | 5828 | [SENSOR_CS2102K] = NULL, |
5829 | [SENSOR_GC0303] = gc0303_matrix, | ||
5829 | [SENSOR_GC0305] = gc0305_matrix, | 5830 | [SENSOR_GC0305] = gc0305_matrix, |
5830 | [SENSOR_HDCS2020b] = NULL, | 5831 | [SENSOR_HDCS2020b] = NULL, |
5831 | [SENSOR_HV7131B] = NULL, | 5832 | [SENSOR_HV7131B] = NULL, |
@@ -5841,7 +5842,6 @@ static void setmatrix(struct gspca_dev *gspca_dev) | |||
5841 | [SENSOR_PB0330] = gc0305_matrix, | 5842 | [SENSOR_PB0330] = gc0305_matrix, |
5842 | [SENSOR_PO2030] = po2030_matrix, | 5843 | [SENSOR_PO2030] = po2030_matrix, |
5843 | [SENSOR_TAS5130C] = tas5130c_matrix, | 5844 | [SENSOR_TAS5130C] = tas5130c_matrix, |
5844 | [SENSOR_TAS5130C_VF0250] = vf0250_matrix, | ||
5845 | }; | 5845 | }; |
5846 | 5846 | ||
5847 | matrix = matrix_tb[sd->sensor]; | 5847 | matrix = matrix_tb[sd->sensor]; |
@@ -5981,6 +5981,10 @@ static void setlightfreq(struct gspca_dev *gspca_dev) | |||
5981 | {cs2102_NoFliker, cs2102_NoFlikerScale, | 5981 | {cs2102_NoFliker, cs2102_NoFlikerScale, |
5982 | NULL, NULL, /* currently disabled */ | 5982 | NULL, NULL, /* currently disabled */ |
5983 | NULL, NULL}, | 5983 | NULL, NULL}, |
5984 | [SENSOR_GC0303] = | ||
5985 | {gc0303_NoFliker, gc0303_NoFlikerScale, | ||
5986 | gc0303_50HZ, gc0303_50HZScale, | ||
5987 | gc0303_60HZ, gc0303_60HZScale}, | ||
5984 | [SENSOR_GC0305] = | 5988 | [SENSOR_GC0305] = |
5985 | {gc0305_NoFliker, gc0305_NoFliker, | 5989 | {gc0305_NoFliker, gc0305_NoFliker, |
5986 | gc0305_50HZ, gc0305_50HZ, | 5990 | gc0305_50HZ, gc0305_50HZ, |
@@ -6041,10 +6045,6 @@ static void setlightfreq(struct gspca_dev *gspca_dev) | |||
6041 | {tas5130c_NoFliker, tas5130c_NoFlikerScale, | 6045 | {tas5130c_NoFliker, tas5130c_NoFlikerScale, |
6042 | tas5130c_50HZ, tas5130c_50HZScale, | 6046 | tas5130c_50HZ, tas5130c_50HZScale, |
6043 | tas5130c_60HZ, tas5130c_60HZScale}, | 6047 | tas5130c_60HZ, tas5130c_60HZScale}, |
6044 | [SENSOR_TAS5130C_VF0250] = | ||
6045 | {tas5130c_vf0250_NoFliker, tas5130c_vf0250_NoFlikerScale, | ||
6046 | tas5130c_vf0250_50HZ, tas5130c_vf0250_50HZScale, | ||
6047 | tas5130c_vf0250_60HZ, tas5130c_vf0250_60HZScale}, | ||
6048 | }; | 6048 | }; |
6049 | 6049 | ||
6050 | i = sd->ctrls[LIGHTFREQ].val * 2; | 6050 | i = sd->ctrls[LIGHTFREQ].val * 2; |
@@ -6317,8 +6317,8 @@ static int vga_3wr_probe(struct gspca_dev *gspca_dev) | |||
6317 | retword = i2c_read(gspca_dev, 0x00); | 6317 | retword = i2c_read(gspca_dev, 0x00); |
6318 | if (retword != 0) { | 6318 | if (retword != 0) { |
6319 | PDEBUG(D_PROBE, "probe 3wr vga type %02x", retword); | 6319 | PDEBUG(D_PROBE, "probe 3wr vga type %02x", retword); |
6320 | if (retword == 0x0011) /* VF0250 */ | 6320 | if (retword == 0x0011) /* gc0303 */ |
6321 | return 0x0250; | 6321 | return 0x0303; |
6322 | if (retword == 0x0029) /* gc0305 */ | 6322 | if (retword == 0x0029) /* gc0305 */ |
6323 | send_unknown(gspca_dev, SENSOR_GC0305); | 6323 | send_unknown(gspca_dev, SENSOR_GC0305); |
6324 | return retword; | 6324 | return retword; |
@@ -6379,7 +6379,7 @@ static int zcxx_probeSensor(struct gspca_dev *gspca_dev) | |||
6379 | switch (sd->sensor) { | 6379 | switch (sd->sensor) { |
6380 | case SENSOR_MC501CB: | 6380 | case SENSOR_MC501CB: |
6381 | return -1; /* don't probe */ | 6381 | return -1; /* don't probe */ |
6382 | case SENSOR_TAS5130C_VF0250: | 6382 | case SENSOR_GC0303: |
6383 | /* may probe but with no write in reg 0x0010 */ | 6383 | /* may probe but with no write in reg 0x0010 */ |
6384 | return -1; /* don't probe */ | 6384 | return -1; /* don't probe */ |
6385 | case SENSOR_PAS106: | 6385 | case SENSOR_PAS106: |
@@ -6424,6 +6424,7 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
6424 | [SENSOR_ADCM2700] = 4, | 6424 | [SENSOR_ADCM2700] = 4, |
6425 | [SENSOR_CS2102] = 4, | 6425 | [SENSOR_CS2102] = 4, |
6426 | [SENSOR_CS2102K] = 5, | 6426 | [SENSOR_CS2102K] = 5, |
6427 | [SENSOR_GC0303] = 3, | ||
6427 | [SENSOR_GC0305] = 4, | 6428 | [SENSOR_GC0305] = 4, |
6428 | [SENSOR_HDCS2020b] = 4, | 6429 | [SENSOR_HDCS2020b] = 4, |
6429 | [SENSOR_HV7131B] = 4, | 6430 | [SENSOR_HV7131B] = 4, |
@@ -6439,12 +6440,12 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
6439 | [SENSOR_PB0330] = 4, | 6440 | [SENSOR_PB0330] = 4, |
6440 | [SENSOR_PO2030] = 4, | 6441 | [SENSOR_PO2030] = 4, |
6441 | [SENSOR_TAS5130C] = 3, | 6442 | [SENSOR_TAS5130C] = 3, |
6442 | [SENSOR_TAS5130C_VF0250] = 3, | ||
6443 | }; | 6443 | }; |
6444 | static const u8 mode_tb[SENSOR_MAX] = { | 6444 | static const u8 mode_tb[SENSOR_MAX] = { |
6445 | [SENSOR_ADCM2700] = 2, | 6445 | [SENSOR_ADCM2700] = 2, |
6446 | [SENSOR_CS2102] = 1, | 6446 | [SENSOR_CS2102] = 1, |
6447 | [SENSOR_CS2102K] = 1, | 6447 | [SENSOR_CS2102K] = 1, |
6448 | [SENSOR_GC0303] = 1, | ||
6448 | [SENSOR_GC0305] = 1, | 6449 | [SENSOR_GC0305] = 1, |
6449 | [SENSOR_HDCS2020b] = 1, | 6450 | [SENSOR_HDCS2020b] = 1, |
6450 | [SENSOR_HV7131B] = 1, | 6451 | [SENSOR_HV7131B] = 1, |
@@ -6460,7 +6461,6 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
6460 | [SENSOR_PB0330] = 1, | 6461 | [SENSOR_PB0330] = 1, |
6461 | [SENSOR_PO2030] = 1, | 6462 | [SENSOR_PO2030] = 1, |
6462 | [SENSOR_TAS5130C] = 1, | 6463 | [SENSOR_TAS5130C] = 1, |
6463 | [SENSOR_TAS5130C_VF0250] = 1, | ||
6464 | }; | 6464 | }; |
6465 | 6465 | ||
6466 | sensor = zcxx_probeSensor(gspca_dev); | 6466 | sensor = zcxx_probeSensor(gspca_dev); |
@@ -6476,8 +6476,8 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
6476 | case SENSOR_MC501CB: | 6476 | case SENSOR_MC501CB: |
6477 | PDEBUG(D_PROBE, "Sensor MC501CB"); | 6477 | PDEBUG(D_PROBE, "Sensor MC501CB"); |
6478 | break; | 6478 | break; |
6479 | case SENSOR_TAS5130C_VF0250: | 6479 | case SENSOR_GC0303: |
6480 | PDEBUG(D_PROBE, "Sensor Tas5130 (VF0250)"); | 6480 | PDEBUG(D_PROBE, "Sensor GC0303"); |
6481 | break; | 6481 | break; |
6482 | default: | 6482 | default: |
6483 | warn("Unknown sensor - set to TAS5130C"); | 6483 | warn("Unknown sensor - set to TAS5130C"); |
@@ -6564,9 +6564,9 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
6564 | PDEBUG(D_PROBE, "Find Sensor GC0305"); | 6564 | PDEBUG(D_PROBE, "Find Sensor GC0305"); |
6565 | sd->sensor = SENSOR_GC0305; | 6565 | sd->sensor = SENSOR_GC0305; |
6566 | break; | 6566 | break; |
6567 | case 0x0250: | 6567 | case 0x0303: |
6568 | PDEBUG(D_PROBE, "Sensor Tas5130 (VF0250)"); | 6568 | PDEBUG(D_PROBE, "Sensor GC0303"); |
6569 | sd->sensor = SENSOR_TAS5130C_VF0250; | 6569 | sd->sensor = SENSOR_GC0303; |
6570 | break; | 6570 | break; |
6571 | case 0x2030: | 6571 | case 0x2030: |
6572 | PDEBUG(D_PROBE, "Find Sensor PO2030"); | 6572 | PDEBUG(D_PROBE, "Find Sensor PO2030"); |
@@ -6637,6 +6637,8 @@ static int sd_start(struct gspca_dev *gspca_dev) | |||
6637 | {cs2102_Initial, cs2102_InitialScale}, | 6637 | {cs2102_Initial, cs2102_InitialScale}, |
6638 | [SENSOR_CS2102K] = | 6638 | [SENSOR_CS2102K] = |
6639 | {cs2102K_Initial, cs2102K_InitialScale}, | 6639 | {cs2102K_Initial, cs2102K_InitialScale}, |
6640 | [SENSOR_GC0303] = | ||
6641 | {gc0303_Initial, gc0303_InitialScale}, | ||
6640 | [SENSOR_GC0305] = | 6642 | [SENSOR_GC0305] = |
6641 | {gc0305_Initial, gc0305_InitialScale}, | 6643 | {gc0305_Initial, gc0305_InitialScale}, |
6642 | [SENSOR_HDCS2020b] = | 6644 | [SENSOR_HDCS2020b] = |
@@ -6667,8 +6669,6 @@ static int sd_start(struct gspca_dev *gspca_dev) | |||
6667 | {po2030_Initial, po2030_InitialScale}, | 6669 | {po2030_Initial, po2030_InitialScale}, |
6668 | [SENSOR_TAS5130C] = | 6670 | [SENSOR_TAS5130C] = |
6669 | {tas5130c_Initial, tas5130c_InitialScale}, | 6671 | {tas5130c_Initial, tas5130c_InitialScale}, |
6670 | [SENSOR_TAS5130C_VF0250] = | ||
6671 | {tas5130c_vf0250_Initial, tas5130c_vf0250_InitialScale}, | ||
6672 | }; | 6672 | }; |
6673 | 6673 | ||
6674 | /* create the JPEG header */ | 6674 | /* create the JPEG header */ |
@@ -6693,7 +6693,7 @@ static int sd_start(struct gspca_dev *gspca_dev) | |||
6693 | case SENSOR_OV7620: | 6693 | case SENSOR_OV7620: |
6694 | case SENSOR_PO2030: | 6694 | case SENSOR_PO2030: |
6695 | case SENSOR_TAS5130C: | 6695 | case SENSOR_TAS5130C: |
6696 | case SENSOR_TAS5130C_VF0250: | 6696 | case SENSOR_GC0303: |
6697 | /* msleep(100); * ?? */ | 6697 | /* msleep(100); * ?? */ |
6698 | reg_r(gspca_dev, 0x0002); /* --> 0x40 */ | 6698 | reg_r(gspca_dev, 0x0002); /* --> 0x40 */ |
6699 | reg_w(gspca_dev, 0x09, 0x01ad); /* (from win traces) */ | 6699 | reg_w(gspca_dev, 0x09, 0x01ad); /* (from win traces) */ |
@@ -6921,8 +6921,8 @@ static const __devinitdata struct usb_device_id device_table[] = { | |||
6921 | {USB_DEVICE(0x041e, 0x4035), .driver_info = SENSOR_PAS106}, | 6921 | {USB_DEVICE(0x041e, 0x4035), .driver_info = SENSOR_PAS106}, |
6922 | {USB_DEVICE(0x041e, 0x4036)}, | 6922 | {USB_DEVICE(0x041e, 0x4036)}, |
6923 | {USB_DEVICE(0x041e, 0x403a)}, | 6923 | {USB_DEVICE(0x041e, 0x403a)}, |
6924 | {USB_DEVICE(0x041e, 0x4051), .driver_info = SENSOR_TAS5130C_VF0250}, | 6924 | {USB_DEVICE(0x041e, 0x4051), .driver_info = SENSOR_GC0303}, |
6925 | {USB_DEVICE(0x041e, 0x4053), .driver_info = SENSOR_TAS5130C_VF0250}, | 6925 | {USB_DEVICE(0x041e, 0x4053), .driver_info = SENSOR_GC0303}, |
6926 | {USB_DEVICE(0x0458, 0x7007)}, | 6926 | {USB_DEVICE(0x0458, 0x7007)}, |
6927 | {USB_DEVICE(0x0458, 0x700c)}, | 6927 | {USB_DEVICE(0x0458, 0x700c)}, |
6928 | {USB_DEVICE(0x0458, 0x700f)}, | 6928 | {USB_DEVICE(0x0458, 0x700f)}, |