aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/gspca/zc3xx.c
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2008-07-04 10:16:16 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-20 06:16:53 -0400
commita5ae2062252e697d38e53dbbeb91460252208914 (patch)
tree38706e9f36e2d93cd3dee8eea639bb74a17b3efa /drivers/media/video/gspca/zc3xx.c
parent54ab92ca05550550bcec2462de2605f35d079b66 (diff)
V4L/DVB (8195): gspca: Input buffer overwritten in spca561 + cleanup code.
spca561: Input buffer may be changed on reg write. (all sd): Cleanup code, 'const' added. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/gspca/zc3xx.c')
-rw-r--r--drivers/media/video/gspca/zc3xx.c246
1 files changed, 123 insertions, 123 deletions
diff --git a/drivers/media/video/gspca/zc3xx.c b/drivers/media/video/gspca/zc3xx.c
index ccd24cb92b3f..878344e4d2ec 100644
--- a/drivers/media/video/gspca/zc3xx.c
+++ b/drivers/media/video/gspca/zc3xx.c
@@ -24,8 +24,8 @@
24 24
25#include "gspca.h" 25#include "gspca.h"
26 26
27#define DRIVER_VERSION_NUMBER KERNEL_VERSION(2, 1, 0) 27#define DRIVER_VERSION_NUMBER KERNEL_VERSION(2, 1, 4)
28static const char version[] = "2.1.0"; 28static const char version[] = "2.1.4";
29 29
30MODULE_AUTHOR("Michel Xhaard <mxhaard@users.sourceforge.net>, " 30MODULE_AUTHOR("Michel Xhaard <mxhaard@users.sourceforge.net>, "
31 "Serge A. Suchkov <Serge.A.S@tochka.ru>"); 31 "Serge A. Suchkov <Serge.A.S@tochka.ru>");
@@ -190,7 +190,7 @@ struct usb_action {
190 __u16 idx; 190 __u16 idx;
191}; 191};
192 192
193static struct usb_action cs2102_Initial[] = { 193static const struct usb_action cs2102_Initial[] = {
194 {0xa1, 0x01, 0x0008}, 194 {0xa1, 0x01, 0x0008},
195 {0xa1, 0x01, 0x0008}, 195 {0xa1, 0x01, 0x0008},
196 {0xa0, 0x01, 0x0000}, 196 {0xa0, 0x01, 0x0000},
@@ -320,7 +320,7 @@ static struct usb_action cs2102_Initial[] = {
320 {} 320 {}
321}; 321};
322 322
323static struct usb_action cs2102_InitialScale[] = { 323static const struct usb_action cs2102_InitialScale[] = {
324 {0xa1, 0x01, 0x0008}, 324 {0xa1, 0x01, 0x0008},
325 {0xa1, 0x01, 0x0008}, 325 {0xa1, 0x01, 0x0008},
326 {0xa0, 0x01, 0x0000}, 326 {0xa0, 0x01, 0x0000},
@@ -449,7 +449,7 @@ static struct usb_action cs2102_InitialScale[] = {
449 {0xa0, 0x40, 0x0118}, 449 {0xa0, 0x40, 0x0118},
450 {} 450 {}
451}; 451};
452static struct usb_action cs2102_50HZ[] = { 452static const struct usb_action cs2102_50HZ[] = {
453 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 453 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
454 {0xaa, 0x0f, 0x008c}, /* 00,0f,8c,aa */ 454 {0xaa, 0x0f, 0x008c}, /* 00,0f,8c,aa */
455 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */ 455 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
@@ -474,7 +474,7 @@ static struct usb_action cs2102_50HZ[] = {
474 {0xa0, 0xd0, 0x001f}, /* 00,1f,d0,cc */ 474 {0xa0, 0xd0, 0x001f}, /* 00,1f,d0,cc */
475 {} 475 {}
476}; 476};
477static struct usb_action cs2102_50HZScale[] = { 477static const struct usb_action cs2102_50HZScale[] = {
478 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 478 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
479 {0xaa, 0x0f, 0x0093}, /* 00,0f,93,aa */ 479 {0xaa, 0x0f, 0x0093}, /* 00,0f,93,aa */
480 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */ 480 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
@@ -499,7 +499,7 @@ static struct usb_action cs2102_50HZScale[] = {
499 {0xa0, 0xd0, 0x001f}, /* 00,1f,d0,cc */ 499 {0xa0, 0xd0, 0x001f}, /* 00,1f,d0,cc */
500 {} 500 {}
501}; 501};
502static struct usb_action cs2102_60HZ[] = { 502static const struct usb_action cs2102_60HZ[] = {
503 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 503 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
504 {0xaa, 0x0f, 0x005d}, /* 00,0f,5d,aa */ 504 {0xaa, 0x0f, 0x005d}, /* 00,0f,5d,aa */
505 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */ 505 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
@@ -524,7 +524,7 @@ static struct usb_action cs2102_60HZ[] = {
524 {0xa0, 0xd0, 0x00c8}, /* 00,c8,d0,cc */ 524 {0xa0, 0xd0, 0x00c8}, /* 00,c8,d0,cc */
525 {} 525 {}
526}; 526};
527static struct usb_action cs2102_60HZScale[] = { 527static const struct usb_action cs2102_60HZScale[] = {
528 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 528 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
529 {0xaa, 0x0f, 0x00b7}, /* 00,0f,b7,aa */ 529 {0xaa, 0x0f, 0x00b7}, /* 00,0f,b7,aa */
530 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */ 530 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
@@ -549,7 +549,7 @@ static struct usb_action cs2102_60HZScale[] = {
549 {0xa0, 0xe8, 0x001f}, /* 00,1f,e8,cc */ 549 {0xa0, 0xe8, 0x001f}, /* 00,1f,e8,cc */
550 {} 550 {}
551}; 551};
552static struct usb_action cs2102_NoFliker[] = { 552static const struct usb_action cs2102_NoFliker[] = {
553 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 553 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
554 {0xaa, 0x0f, 0x0059}, /* 00,0f,59,aa */ 554 {0xaa, 0x0f, 0x0059}, /* 00,0f,59,aa */
555 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */ 555 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
@@ -574,7 +574,7 @@ static struct usb_action cs2102_NoFliker[] = {
574 {0xa0, 0xc8, 0x001f}, /* 00,1f,c8,cc */ 574 {0xa0, 0xc8, 0x001f}, /* 00,1f,c8,cc */
575 {} 575 {}
576}; 576};
577static struct usb_action cs2102_NoFlikerScale[] = { 577static const struct usb_action cs2102_NoFlikerScale[] = {
578 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 578 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
579 {0xaa, 0x0f, 0x0059}, /* 00,0f,59,aa */ 579 {0xaa, 0x0f, 0x0059}, /* 00,0f,59,aa */
580 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */ 580 {0xaa, 0x03, 0x0005}, /* 00,03,05,aa */
@@ -601,7 +601,7 @@ static struct usb_action cs2102_NoFlikerScale[] = {
601}; 601};
602 602
603/* CS2102_KOCOM */ 603/* CS2102_KOCOM */
604static struct usb_action cs2102K_Initial[] = { 604static const struct usb_action cs2102K_Initial[] = {
605 {0xa0, 0x11, 0x0002}, 605 {0xa0, 0x11, 0x0002},
606 {0xa0, 0x03, 0x0008}, 606 {0xa0, 0x03, 0x0008},
607 {0xa0, 0x08, 0x0010}, 607 {0xa0, 0x08, 0x0010},
@@ -860,7 +860,7 @@ static struct usb_action cs2102K_Initial[] = {
860 {} 860 {}
861}; 861};
862 862
863static struct usb_action cs2102K_InitialScale[] = { 863static const struct usb_action cs2102K_InitialScale[] = {
864 {0xa0, 0x11, 0x0002}, 864 {0xa0, 0x11, 0x0002},
865 {0xa0, 0x00, 0x0002}, 865 {0xa0, 0x00, 0x0002},
866 {0xa0, 0x03, 0x0008}, 866 {0xa0, 0x03, 0x0008},
@@ -1437,7 +1437,7 @@ static struct usb_action cs2102K_InitialScale[] = {
1437 {} 1437 {}
1438}; 1438};
1439 1439
1440static struct usb_action gc0305_Initial[] = { /* 640x480 */ 1440static const struct usb_action gc0305_Initial[] = { /* 640x480 */
1441 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */ 1441 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
1442 {0xa0, 0x03, 0x0008}, /* 00,08,03,cc */ 1442 {0xa0, 0x03, 0x0008}, /* 00,08,03,cc */
1443 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */ 1443 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */
@@ -1501,7 +1501,7 @@ static struct usb_action gc0305_Initial[] = { /* 640x480 */
1501 {0xa0, 0x03, 0x0113}, /* 01,13,03,cc */ 1501 {0xa0, 0x03, 0x0113}, /* 01,13,03,cc */
1502 {} 1502 {}
1503}; 1503};
1504static struct usb_action gc0305_InitialScale[] = { /* 320x240 */ 1504static const struct usb_action gc0305_InitialScale[] = { /* 320x240 */
1505 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */ 1505 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
1506 {0xa0, 0x03, 0x0008}, /* 00,08,03,cc */ 1506 {0xa0, 0x03, 0x0008}, /* 00,08,03,cc */
1507 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */ 1507 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */
@@ -1564,7 +1564,7 @@ static struct usb_action gc0305_InitialScale[] = { /* 320x240 */
1564 {0xa0, 0x03, 0x0113}, /* 01,13,03,cc */ 1564 {0xa0, 0x03, 0x0113}, /* 01,13,03,cc */
1565 {} 1565 {}
1566}; 1566};
1567static struct usb_action gc0305_50HZ[] = { 1567static const struct usb_action gc0305_50HZ[] = {
1568 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 1568 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
1569 {0xaa, 0x83, 0x0002}, /* 00,83,02,aa */ 1569 {0xaa, 0x83, 0x0002}, /* 00,83,02,aa */
1570 {0xaa, 0x84, 0x0038}, /* 00,84,38,aa */ /* win: 00,84,ec */ 1570 {0xaa, 0x84, 0x0038}, /* 00,84,38,aa */ /* win: 00,84,ec */
@@ -1587,7 +1587,7 @@ static struct usb_action gc0305_50HZ[] = {
1587/* {0xa0, 0x85, 0x018d}, * 01,8d,85,cc * * if 640x480 */ 1587/* {0xa0, 0x85, 0x018d}, * 01,8d,85,cc * * if 640x480 */
1588 {} 1588 {}
1589}; 1589};
1590static struct usb_action gc0305_60HZ[] = { 1590static const struct usb_action gc0305_60HZ[] = {
1591 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 1591 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
1592 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */ 1592 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */
1593 {0xaa, 0x84, 0x00ec}, /* 00,84,ec,aa */ 1593 {0xaa, 0x84, 0x00ec}, /* 00,84,ec,aa */
@@ -1611,7 +1611,7 @@ static struct usb_action gc0305_60HZ[] = {
1611 {} 1611 {}
1612}; 1612};
1613 1613
1614static struct usb_action gc0305_NoFliker[] = { 1614static const struct usb_action gc0305_NoFliker[] = {
1615 {0xa0, 0x0c, 0x0100}, /* 01,00,0c,cc */ 1615 {0xa0, 0x0c, 0x0100}, /* 01,00,0c,cc */
1616 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 1616 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
1617 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */ 1617 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */
@@ -1635,7 +1635,7 @@ static struct usb_action gc0305_NoFliker[] = {
1635}; 1635};
1636 1636
1637/* play poker with registers at your own risk !! */ 1637/* play poker with registers at your own risk !! */
1638static struct usb_action hdcs2020xx_Initial[] = { 1638static const struct usb_action hdcs2020xx_Initial[] = {
1639 {0xa0, 0x01, 0x0000}, 1639 {0xa0, 0x01, 0x0000},
1640 {0xa0, 0x03, 0x0008}, 1640 {0xa0, 0x03, 0x0008},
1641 {0xa0, 0x0e, 0x0010}, 1641 {0xa0, 0x0e, 0x0010},
@@ -1780,7 +1780,7 @@ static struct usb_action hdcs2020xx_Initial[] = {
1780 {} 1780 {}
1781}; 1781};
1782 1782
1783static struct usb_action hdcs2020xx_InitialScale[] = { 1783static const struct usb_action hdcs2020xx_InitialScale[] = {
1784 {0xa0, 0x01, 0x0000}, 1784 {0xa0, 0x01, 0x0000},
1785 {0xa0, 0x03, 0x0008}, 1785 {0xa0, 0x03, 0x0008},
1786 {0xa0, 0x0e, 0x0010}, 1786 {0xa0, 0x0e, 0x0010},
@@ -1922,7 +1922,7 @@ static struct usb_action hdcs2020xx_InitialScale[] = {
1922/* {0xa0, 0x18, 0x00fe}, */ 1922/* {0xa0, 0x18, 0x00fe}, */
1923 {} 1923 {}
1924}; 1924};
1925static struct usb_action hdcs2020xb_Initial[] = { 1925static const struct usb_action hdcs2020xb_Initial[] = {
1926 {0xa0, 0x01, 0x0000}, 1926 {0xa0, 0x01, 0x0000},
1927 {0xa0, 0x11, 0x0002}, 1927 {0xa0, 0x11, 0x0002},
1928 {0xa0, 0x03, 0x0008}, /* qtable 0x05 */ 1928 {0xa0, 0x03, 0x0008}, /* qtable 0x05 */
@@ -2054,7 +2054,7 @@ static struct usb_action hdcs2020xb_Initial[] = {
2054 {0xa0, 0x40, 0x0118}, 2054 {0xa0, 0x40, 0x0118},
2055 {} 2055 {}
2056}; 2056};
2057static struct usb_action hdcs2020xb_InitialScale[] = { 2057static const struct usb_action hdcs2020xb_InitialScale[] = {
2058 {0xa0, 0x01, 0x0000}, 2058 {0xa0, 0x01, 0x0000},
2059 {0xa0, 0x00, 0x0002}, 2059 {0xa0, 0x00, 0x0002},
2060 {0xa0, 0x03, 0x0008}, 2060 {0xa0, 0x03, 0x0008},
@@ -2182,7 +2182,7 @@ static struct usb_action hdcs2020xb_InitialScale[] = {
2182 {0xa0, 0x40, 0x0118}, 2182 {0xa0, 0x40, 0x0118},
2183 {} 2183 {}
2184}; 2184};
2185static struct usb_action hdcs2020b_50HZ[] = { 2185static const struct usb_action hdcs2020b_50HZ[] = {
2186 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 2186 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
2187 {0xaa, 0x13, 0x0018}, /* 00,13,18,aa */ 2187 {0xaa, 0x13, 0x0018}, /* 00,13,18,aa */
2188 {0xaa, 0x14, 0x0001}, /* 00,14,01,aa */ 2188 {0xaa, 0x14, 0x0001}, /* 00,14,01,aa */
@@ -2203,7 +2203,7 @@ static struct usb_action hdcs2020b_50HZ[] = {
2203 {0xa0, 0x2f, 0x001f}, /* 00,1f,2f,cc */ 2203 {0xa0, 0x2f, 0x001f}, /* 00,1f,2f,cc */
2204 {} 2204 {}
2205}; 2205};
2206static struct usb_action hdcs2020b_60HZ[] = { 2206static const struct usb_action hdcs2020b_60HZ[] = {
2207 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 2207 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
2208 {0xaa, 0x13, 0x0031}, /* 00,13,31,aa */ 2208 {0xaa, 0x13, 0x0031}, /* 00,13,31,aa */
2209 {0xaa, 0x14, 0x0001}, /* 00,14,01,aa */ 2209 {0xaa, 0x14, 0x0001}, /* 00,14,01,aa */
@@ -2224,7 +2224,7 @@ static struct usb_action hdcs2020b_60HZ[] = {
2224 {0xa0, 0x2c, 0x001f}, /* 00,1f,2c,cc */ 2224 {0xa0, 0x2c, 0x001f}, /* 00,1f,2c,cc */
2225 {} 2225 {}
2226}; 2226};
2227static struct usb_action hdcs2020b_NoFliker[] = { 2227static const struct usb_action hdcs2020b_NoFliker[] = {
2228 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 2228 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
2229 {0xaa, 0x13, 0x0010}, /* 00,13,10,aa */ 2229 {0xaa, 0x13, 0x0010}, /* 00,13,10,aa */
2230 {0xaa, 0x14, 0x0001}, /* 00,14,01,aa */ 2230 {0xaa, 0x14, 0x0001}, /* 00,14,01,aa */
@@ -2246,7 +2246,7 @@ static struct usb_action hdcs2020b_NoFliker[] = {
2246 {} 2246 {}
2247}; 2247};
2248 2248
2249static struct usb_action hv7131bxx_Initial[] = { 2249static const struct usb_action hv7131bxx_Initial[] = {
2250 {0xa0, 0x01, 0x0000}, 2250 {0xa0, 0x01, 0x0000},
2251 {0xa0, 0x10, 0x0002}, 2251 {0xa0, 0x10, 0x0002},
2252 {0xa0, 0x00, 0x0010}, 2252 {0xa0, 0x00, 0x0010},
@@ -2354,7 +2354,7 @@ static struct usb_action hv7131bxx_Initial[] = {
2354 {} 2354 {}
2355}; 2355};
2356 2356
2357static struct usb_action hv7131bxx_InitialScale[] = { 2357static const struct usb_action hv7131bxx_InitialScale[] = {
2358 {0xa0, 0x01, 0x0000}, 2358 {0xa0, 0x01, 0x0000},
2359 {0xa0, 0x00, 0x0002}, 2359 {0xa0, 0x00, 0x0002},
2360 {0xa0, 0x00, 0x0010}, 2360 {0xa0, 0x00, 0x0010},
@@ -2460,7 +2460,7 @@ static struct usb_action hv7131bxx_InitialScale[] = {
2460 {} 2460 {}
2461}; 2461};
2462 2462
2463static struct usb_action hv7131cxx_Initial[] = { 2463static const struct usb_action hv7131cxx_Initial[] = {
2464 {0xa0, 0x01, 0x0000}, 2464 {0xa0, 0x01, 0x0000},
2465 {0xa0, 0x10, 0x0002}, 2465 {0xa0, 0x10, 0x0002},
2466 {0xa0, 0x01, 0x0010}, 2466 {0xa0, 0x01, 0x0010},
@@ -2554,7 +2554,7 @@ static struct usb_action hv7131cxx_Initial[] = {
2554 {} 2554 {}
2555}; 2555};
2556 2556
2557static struct usb_action hv7131cxx_InitialScale[] = { 2557static const struct usb_action hv7131cxx_InitialScale[] = {
2558 {0xa0, 0x01, 0x0000}, 2558 {0xa0, 0x01, 0x0000},
2559 2559
2560 {0xa0, 0x00, 0x0002}, /* diff */ 2560 {0xa0, 0x00, 0x0002}, /* diff */
@@ -2655,7 +2655,7 @@ static struct usb_action hv7131cxx_InitialScale[] = {
2655 {} 2655 {}
2656}; 2656};
2657 2657
2658static struct usb_action icm105axx_Initial[] = { 2658static const struct usb_action icm105axx_Initial[] = {
2659 {0xa0, 0x01, 0x0000}, 2659 {0xa0, 0x01, 0x0000},
2660 {0xa0, 0x10, 0x0002}, 2660 {0xa0, 0x10, 0x0002},
2661 {0xa0, 0x03, 0x0008}, 2661 {0xa0, 0x03, 0x0008},
@@ -2832,7 +2832,7 @@ static struct usb_action icm105axx_Initial[] = {
2832 {} 2832 {}
2833}; 2833};
2834 2834
2835static struct usb_action icm105axx_InitialScale[] = { 2835static const struct usb_action icm105axx_InitialScale[] = {
2836 {0xa0, 0x01, 0x0000}, 2836 {0xa0, 0x01, 0x0000},
2837 {0xa0, 0x00, 0x0002}, 2837 {0xa0, 0x00, 0x0002},
2838 {0xa0, 0x03, 0x0008}, 2838 {0xa0, 0x03, 0x0008},
@@ -3011,7 +3011,7 @@ static struct usb_action icm105axx_InitialScale[] = {
3011 {0xa0, 0x40, 0x0118}, 3011 {0xa0, 0x40, 0x0118},
3012 {} 3012 {}
3013}; 3013};
3014static struct usb_action icm105a_50HZ[] = { 3014static const struct usb_action icm105a_50HZ[] = {
3015 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 3015 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
3016 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 3016 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
3017 {0xaa, 0x0c, 0x0020}, /* 00,0c,20,aa */ 3017 {0xaa, 0x0c, 0x0020}, /* 00,0c,20,aa */
@@ -3042,7 +3042,7 @@ static struct usb_action icm105a_50HZ[] = {
3042 {0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */ 3042 {0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
3043 {} 3043 {}
3044}; 3044};
3045static struct usb_action icm105a_50HZScale[] = { 3045static const struct usb_action icm105a_50HZScale[] = {
3046 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 3046 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
3047 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 3047 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
3048 {0xaa, 0x0c, 0x008c}, /* 00,0c,8c,aa */ 3048 {0xaa, 0x0c, 0x008c}, /* 00,0c,8c,aa */
@@ -3075,7 +3075,7 @@ static struct usb_action icm105a_50HZScale[] = {
3075 {0xa0, 0xc0, 0x01a8}, /* 01,a8,c0,cc */ 3075 {0xa0, 0xc0, 0x01a8}, /* 01,a8,c0,cc */
3076 {} 3076 {}
3077}; 3077};
3078static struct usb_action icm105a_60HZ[] = { 3078static const struct usb_action icm105a_60HZ[] = {
3079 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 3079 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
3080 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 3080 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
3081 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */ 3081 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */
@@ -3106,7 +3106,7 @@ static struct usb_action icm105a_60HZ[] = {
3106 {0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */ 3106 {0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
3107 {} 3107 {}
3108}; 3108};
3109static struct usb_action icm105a_60HZScale[] = { 3109static const struct usb_action icm105a_60HZScale[] = {
3110 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 3110 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
3111 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 3111 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
3112 {0xaa, 0x0c, 0x0008}, /* 00,0c,08,aa */ 3112 {0xaa, 0x0c, 0x0008}, /* 00,0c,08,aa */
@@ -3139,7 +3139,7 @@ static struct usb_action icm105a_60HZScale[] = {
3139 {0xa0, 0xc0, 0x01a8}, /* 01,a8,c0,cc */ 3139 {0xa0, 0xc0, 0x01a8}, /* 01,a8,c0,cc */
3140 {} 3140 {}
3141}; 3141};
3142static struct usb_action icm105a_NoFliker[] = { 3142static const struct usb_action icm105a_NoFliker[] = {
3143 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 3143 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
3144 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 3144 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
3145 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */ 3145 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */
@@ -3170,7 +3170,7 @@ static struct usb_action icm105a_NoFliker[] = {
3170 {0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */ 3170 {0xa0, 0xff, 0x0020}, /* 00,20,ff,cc */
3171 {} 3171 {}
3172}; 3172};
3173static struct usb_action icm105a_NoFlikerScale[] = { 3173static const struct usb_action icm105a_NoFlikerScale[] = {
3174 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 3174 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
3175 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */ 3175 {0xaa, 0x0d, 0x0003}, /* 00,0d,03,aa */
3176 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */ 3176 {0xaa, 0x0c, 0x0004}, /* 00,0c,04,aa */
@@ -3204,7 +3204,7 @@ static struct usb_action icm105a_NoFlikerScale[] = {
3204 {} 3204 {}
3205}; 3205};
3206 3206
3207static struct usb_action MC501CB_InitialScale[] = { 3207static const struct usb_action MC501CB_InitialScale[] = {
3208 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */ 3208 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
3209 {0xa0, 0x00, 0x0002}, /* 00,02,00,cc */ 3209 {0xa0, 0x00, 0x0002}, /* 00,02,00,cc */
3210 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */ 3210 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */
@@ -3324,7 +3324,7 @@ static struct usb_action MC501CB_InitialScale[] = {
3324 {} 3324 {}
3325}; 3325};
3326 3326
3327static struct usb_action MC501CB_Initial[] = { /* 320x240 */ 3327static const struct usb_action MC501CB_Initial[] = { /* 320x240 */
3328 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */ 3328 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
3329 {0xa0, 0x10, 0x0002}, /* 00,02,10,cc */ 3329 {0xa0, 0x10, 0x0002}, /* 00,02,10,cc */
3330 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */ 3330 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */
@@ -3443,7 +3443,7 @@ static struct usb_action MC501CB_Initial[] = { /* 320x240 */
3443 {} 3443 {}
3444}; 3444};
3445 3445
3446static struct usb_action MC501CB_50HZ[] = { 3446static const struct usb_action MC501CB_50HZ[] = {
3447 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3447 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3448 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3448 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3449 {0xaa, 0x36, 0x001d}, /* 00,36,1D,aa */ 3449 {0xaa, 0x36, 0x001d}, /* 00,36,1D,aa */
@@ -3460,7 +3460,7 @@ static struct usb_action MC501CB_50HZ[] = {
3460 {} 3460 {}
3461}; 3461};
3462 3462
3463static struct usb_action MC501CB_50HZScale[] = { 3463static const struct usb_action MC501CB_50HZScale[] = {
3464 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3464 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3465 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3465 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3466 {0xaa, 0x36, 0x003a}, /* 00,36,3A,aa */ 3466 {0xaa, 0x36, 0x003a}, /* 00,36,3A,aa */
@@ -3477,7 +3477,7 @@ static struct usb_action MC501CB_50HZScale[] = {
3477 {} 3477 {}
3478}; 3478};
3479 3479
3480static struct usb_action MC501CB_60HZ[] = { 3480static const struct usb_action MC501CB_60HZ[] = {
3481 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3481 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3482 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3482 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3483 {0xaa, 0x36, 0x0018}, /* 00,36,18,aa */ 3483 {0xaa, 0x36, 0x0018}, /* 00,36,18,aa */
@@ -3494,7 +3494,7 @@ static struct usb_action MC501CB_60HZ[] = {
3494 {} 3494 {}
3495}; 3495};
3496 3496
3497static struct usb_action MC501CB_60HZScale[] = { 3497static const struct usb_action MC501CB_60HZScale[] = {
3498 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3498 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3499 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3499 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3500 {0xaa, 0x36, 0x0030}, /* 00,36,30,aa */ 3500 {0xaa, 0x36, 0x0030}, /* 00,36,30,aa */
@@ -3511,7 +3511,7 @@ static struct usb_action MC501CB_60HZScale[] = {
3511 {} 3511 {}
3512}; 3512};
3513 3513
3514static struct usb_action MC501CB_NoFliker[] = { 3514static const struct usb_action MC501CB_NoFliker[] = {
3515 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3515 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3516 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3516 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3517 {0xaa, 0x36, 0x0018}, /* 00,36,18,aa */ 3517 {0xaa, 0x36, 0x0018}, /* 00,36,18,aa */
@@ -3528,7 +3528,7 @@ static struct usb_action MC501CB_NoFliker[] = {
3528 {} 3528 {}
3529}; 3529};
3530 3530
3531static struct usb_action MC501CB_NoFlikerScale[] = { 3531static const struct usb_action MC501CB_NoFlikerScale[] = {
3532 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */ 3532 {0xaa, 0x03, 0x0003}, /* 00,03,03,aa */
3533 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */ 3533 {0xaa, 0x10, 0x00fc}, /* 00,10,fc,aa */
3534 {0xaa, 0x36, 0x0030}, /* 00,36,30,aa */ 3534 {0xaa, 0x36, 0x0030}, /* 00,36,30,aa */
@@ -3541,7 +3541,7 @@ static struct usb_action MC501CB_NoFlikerScale[] = {
3541}; 3541};
3542 3542
3543/* from zs211.inf - HKR,%OV7620%,Initial - 640x480 */ 3543/* from zs211.inf - HKR,%OV7620%,Initial - 640x480 */
3544static struct usb_action OV7620_mode0[] = { 3544static const struct usb_action OV7620_mode0[] = {
3545 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */ 3545 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
3546 {0xa0, 0x40, 0x0002}, /* 00,02,40,cc */ 3546 {0xa0, 0x40, 0x0002}, /* 00,02,40,cc */
3547 {0xa0, 0x00, 0x0008}, /* 00,08,00,cc */ 3547 {0xa0, 0x00, 0x0008}, /* 00,08,00,cc */
@@ -3612,7 +3612,7 @@ static struct usb_action OV7620_mode0[] = {
3612}; 3612};
3613 3613
3614/* from zs211.inf - HKR,%OV7620%,InitialScale - 320x240 */ 3614/* from zs211.inf - HKR,%OV7620%,InitialScale - 320x240 */
3615static struct usb_action OV7620_mode1[] = { 3615static const struct usb_action OV7620_mode1[] = {
3616 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */ 3616 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
3617 {0xa0, 0x50, 0x0002}, /* 00,02,50,cc */ 3617 {0xa0, 0x50, 0x0002}, /* 00,02,50,cc */
3618 {0xa0, 0x03, 0x0008}, /* 00,08,00,cc */ /* mx change? */ 3618 {0xa0, 0x03, 0x0008}, /* 00,08,00,cc */ /* mx change? */
@@ -3683,7 +3683,7 @@ static struct usb_action OV7620_mode1[] = {
3683}; 3683};
3684 3684
3685/* from zs211.inf - HKR,%OV7620%\AE,50HZ */ 3685/* from zs211.inf - HKR,%OV7620%\AE,50HZ */
3686static struct usb_action OV7620_50HZ[] = { 3686static const struct usb_action OV7620_50HZ[] = {
3687 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */ 3687 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */
3688 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */ 3688 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */
3689 {0xaa, 0x2b, 0x0096}, /* 00,2b,96,aa */ 3689 {0xaa, 0x2b, 0x0096}, /* 00,2b,96,aa */
@@ -3702,7 +3702,7 @@ static struct usb_action OV7620_50HZ[] = {
3702}; 3702};
3703 3703
3704/* from zs211.inf - HKR,%OV7620%\AE,60HZ */ 3704/* from zs211.inf - HKR,%OV7620%\AE,60HZ */
3705static struct usb_action OV7620_60HZ[] = { 3705static const struct usb_action OV7620_60HZ[] = {
3706 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */ /* (bug in zs211.inf) */ 3706 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */ /* (bug in zs211.inf) */
3707 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */ 3707 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */
3708 {0xaa, 0x2b, 0x0000}, /* 00,2b,00,aa */ 3708 {0xaa, 0x2b, 0x0000}, /* 00,2b,00,aa */
@@ -3724,7 +3724,7 @@ static struct usb_action OV7620_60HZ[] = {
3724}; 3724};
3725 3725
3726/* from zs211.inf - HKR,%OV7620%\AE,NoFliker */ 3726/* from zs211.inf - HKR,%OV7620%\AE,NoFliker */
3727static struct usb_action OV7620_NoFliker[] = { 3727static const struct usb_action OV7620_NoFliker[] = {
3728 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */ /* (bug in zs211.inf) */ 3728 {0xaa, 0x13, 0x00a3}, /* 00,13,a3,aa */ /* (bug in zs211.inf) */
3729 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */ 3729 {0xdd, 0x00, 0x0100}, /* 00,01,00,dd */
3730 {0xaa, 0x2b, 0x0000}, /* 00,2b,00,aa */ 3730 {0xaa, 0x2b, 0x0000}, /* 00,2b,00,aa */
@@ -3743,7 +3743,7 @@ static struct usb_action OV7620_NoFliker[] = {
3743 {} 3743 {}
3744}; 3744};
3745 3745
3746static struct usb_action ov7630c_Initial[] = { 3746static const struct usb_action ov7630c_Initial[] = {
3747 {0xa0, 0x01, 0x0000}, 3747 {0xa0, 0x01, 0x0000},
3748 {0xa0, 0x10, 0x0002}, 3748 {0xa0, 0x10, 0x0002},
3749 {0xa0, 0x01, 0x0000}, 3749 {0xa0, 0x01, 0x0000},
@@ -3900,7 +3900,7 @@ static struct usb_action ov7630c_Initial[] = {
3900 {} 3900 {}
3901}; 3901};
3902 3902
3903static struct usb_action ov7630c_InitialScale[] = { 3903static const struct usb_action ov7630c_InitialScale[] = {
3904 {0xa0, 0x01, 0x0000}, 3904 {0xa0, 0x01, 0x0000},
3905 {0xa0, 0x00, 0x0002}, 3905 {0xa0, 0x00, 0x0002},
3906 {0xa0, 0x03, 0x0008}, 3906 {0xa0, 0x03, 0x0008},
@@ -4057,7 +4057,7 @@ static struct usb_action ov7630c_InitialScale[] = {
4057 {} 4057 {}
4058}; 4058};
4059 4059
4060static struct usb_action pas106b_Initial_com[] = { 4060static const struct usb_action pas106b_Initial_com[] = {
4061/* Sream and Sensor specific */ 4061/* Sream and Sensor specific */
4062 {0xa1, 0x01, 0x0010}, /* CMOSSensorSelect */ 4062 {0xa1, 0x01, 0x0010}, /* CMOSSensorSelect */
4063/* System */ 4063/* System */
@@ -4071,7 +4071,7 @@ static struct usb_action pas106b_Initial_com[] = {
4071 {} 4071 {}
4072}; 4072};
4073 4073
4074static struct usb_action pas106b_Initial[] = { /* 176x144 */ 4074static const struct usb_action pas106b_Initial[] = { /* 176x144 */
4075/* JPEG control */ 4075/* JPEG control */
4076 {0xa0, 0x03, 0x0008}, /* ClockSetting */ 4076 {0xa0, 0x03, 0x0008}, /* ClockSetting */
4077/* Sream and Sensor specific */ 4077/* Sream and Sensor specific */
@@ -4189,7 +4189,7 @@ static struct usb_action pas106b_Initial[] = { /* 176x144 */
4189 {} 4189 {}
4190}; 4190};
4191 4191
4192static struct usb_action pas106b_InitialScale[] = { /* 352x288 */ 4192static const struct usb_action pas106b_InitialScale[] = { /* 352x288 */
4193/* JPEG control */ 4193/* JPEG control */
4194 {0xa0, 0x03, 0x0008}, /* ClockSetting */ 4194 {0xa0, 0x03, 0x0008}, /* ClockSetting */
4195/* Sream and Sensor specific */ 4195/* Sream and Sensor specific */
@@ -4312,7 +4312,7 @@ static struct usb_action pas106b_InitialScale[] = { /* 352x288 */
4312 {0xa0, 0xff, 0x0018}, /* Frame adjust */ 4312 {0xa0, 0xff, 0x0018}, /* Frame adjust */
4313 {} 4313 {}
4314}; 4314};
4315static struct usb_action pas106b_50HZ[] = { 4315static const struct usb_action pas106b_50HZ[] = {
4316 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */ 4316 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
4317 {0xa0, 0x06, 0x0191}, /* 01,91,06,cc */ 4317 {0xa0, 0x06, 0x0191}, /* 01,91,06,cc */
4318 {0xa0, 0x54, 0x0192}, /* 01,92,54,cc */ 4318 {0xa0, 0x54, 0x0192}, /* 01,92,54,cc */
@@ -4328,7 +4328,7 @@ static struct usb_action pas106b_50HZ[] = {
4328 {0xa0, 0x04, 0x01a9}, /* 01,a9,04,cc */ 4328 {0xa0, 0x04, 0x01a9}, /* 01,a9,04,cc */
4329 {} 4329 {}
4330}; 4330};
4331static struct usb_action pas106b_60HZ[] = { 4331static const struct usb_action pas106b_60HZ[] = {
4332 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */ 4332 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
4333 {0xa0, 0x06, 0x0191}, /* 01,91,06,cc */ 4333 {0xa0, 0x06, 0x0191}, /* 01,91,06,cc */
4334 {0xa0, 0x2e, 0x0192}, /* 01,92,2e,cc */ 4334 {0xa0, 0x2e, 0x0192}, /* 01,92,2e,cc */
@@ -4344,7 +4344,7 @@ static struct usb_action pas106b_60HZ[] = {
4344 {0xa0, 0x04, 0x01a9}, /* 01,a9,04,cc */ 4344 {0xa0, 0x04, 0x01a9}, /* 01,a9,04,cc */
4345 {} 4345 {}
4346}; 4346};
4347static struct usb_action pas106b_NoFliker[] = { 4347static const struct usb_action pas106b_NoFliker[] = {
4348 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */ 4348 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
4349 {0xa0, 0x06, 0x0191}, /* 01,91,06,cc */ 4349 {0xa0, 0x06, 0x0191}, /* 01,91,06,cc */
4350 {0xa0, 0x50, 0x0192}, /* 01,92,50,cc */ 4350 {0xa0, 0x50, 0x0192}, /* 01,92,50,cc */
@@ -4361,7 +4361,7 @@ static struct usb_action pas106b_NoFliker[] = {
4361 {} 4361 {}
4362}; 4362};
4363 4363
4364static struct usb_action pb03303x_Initial[] = { 4364static const struct usb_action pb03303x_Initial[] = {
4365 {0xa0, 0x01, 0x0000}, 4365 {0xa0, 0x01, 0x0000},
4366 {0xa0, 0x03, 0x0008}, 4366 {0xa0, 0x03, 0x0008},
4367 {0xa0, 0x0a, 0x0010}, 4367 {0xa0, 0x0a, 0x0010},
@@ -4507,7 +4507,7 @@ static struct usb_action pb03303x_Initial[] = {
4507 {} 4507 {}
4508}; 4508};
4509 4509
4510static struct usb_action pb03303x_InitialScale[] = { 4510static const struct usb_action pb03303x_InitialScale[] = {
4511 {0xa0, 0x01, 0x0000}, 4511 {0xa0, 0x01, 0x0000},
4512 {0xa0, 0x03, 0x0008}, 4512 {0xa0, 0x03, 0x0008},
4513 {0xa0, 0x0a, 0x0010}, 4513 {0xa0, 0x0a, 0x0010},
@@ -4655,7 +4655,7 @@ static struct usb_action pb03303x_InitialScale[] = {
4655 {0xa0, 0x42, 0x0180}, 4655 {0xa0, 0x42, 0x0180},
4656 {} 4656 {}
4657}; 4657};
4658static struct usb_action pb0330xx_Initial[] = { 4658static const struct usb_action pb0330xx_Initial[] = {
4659 {0xa1, 0x01, 0x0008}, 4659 {0xa1, 0x01, 0x0008},
4660 {0xa1, 0x01, 0x0008}, 4660 {0xa1, 0x01, 0x0008},
4661 {0xa0, 0x01, 0x0000}, 4661 {0xa0, 0x01, 0x0000},
@@ -4770,7 +4770,7 @@ static struct usb_action pb0330xx_Initial[] = {
4770 {} 4770 {}
4771}; 4771};
4772 4772
4773static struct usb_action pb0330xx_InitialScale[] = { 4773static const struct usb_action pb0330xx_InitialScale[] = {
4774 {0xa1, 0x01, 0x0008}, 4774 {0xa1, 0x01, 0x0008},
4775 {0xa1, 0x01, 0x0008}, 4775 {0xa1, 0x01, 0x0008},
4776 {0xa0, 0x01, 0x0000}, 4776 {0xa0, 0x01, 0x0000},
@@ -4883,7 +4883,7 @@ static struct usb_action pb0330xx_InitialScale[] = {
4883/* {0xa0, 0x00, 0x0007}, */ 4883/* {0xa0, 0x00, 0x0007}, */
4884 {} 4884 {}
4885}; 4885};
4886static struct usb_action pb0330_50HZ[] = { 4886static const struct usb_action pb0330_50HZ[] = {
4887 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */ 4887 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
4888 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */ 4888 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
4889 {0xa0, 0xee, 0x0192}, /* 01,92,ee,cc */ 4889 {0xa0, 0xee, 0x0192}, /* 01,92,ee,cc */
@@ -4899,7 +4899,7 @@ static struct usb_action pb0330_50HZ[] = {
4899 {0xa0, 0xc8, 0x001f}, /* 00,1f,c8,cc */ 4899 {0xa0, 0xc8, 0x001f}, /* 00,1f,c8,cc */
4900 {} 4900 {}
4901}; 4901};
4902static struct usb_action pb0330_50HZScale[] = { 4902static const struct usb_action pb0330_50HZScale[] = {
4903 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 4903 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
4904 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */ 4904 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
4905 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */ 4905 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
@@ -4916,7 +4916,7 @@ static struct usb_action pb0330_50HZScale[] = {
4916 {0xa0, 0xf8, 0x001f}, /* 00,1f,f8,cc */ 4916 {0xa0, 0xf8, 0x001f}, /* 00,1f,f8,cc */
4917 {} 4917 {}
4918}; 4918};
4919static struct usb_action pb0330_60HZ[] = { 4919static const struct usb_action pb0330_60HZ[] = {
4920 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 4920 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
4921 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */ 4921 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
4922 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */ 4922 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
@@ -4933,7 +4933,7 @@ static struct usb_action pb0330_60HZ[] = {
4933 {0xa0, 0x90, 0x001f}, /* 00,1f,90,cc */ 4933 {0xa0, 0x90, 0x001f}, /* 00,1f,90,cc */
4934 {} 4934 {}
4935}; 4935};
4936static struct usb_action pb0330_60HZScale[] = { 4936static const struct usb_action pb0330_60HZScale[] = {
4937 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 4937 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
4938 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */ 4938 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
4939 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */ 4939 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
@@ -4950,7 +4950,7 @@ static struct usb_action pb0330_60HZScale[] = {
4950 {0xa0, 0x90, 0x001f}, /* 00,1f,90,cc */ 4950 {0xa0, 0x90, 0x001f}, /* 00,1f,90,cc */
4951 {} 4951 {}
4952}; 4952};
4953static struct usb_action pb0330_NoFliker[] = { 4953static const struct usb_action pb0330_NoFliker[] = {
4954 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 4954 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
4955 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */ 4955 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
4956 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */ 4956 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
@@ -4967,7 +4967,7 @@ static struct usb_action pb0330_NoFliker[] = {
4967 {0xa0, 0x90, 0x001f}, /* 00,1f,90,cc */ 4967 {0xa0, 0x90, 0x001f}, /* 00,1f,90,cc */
4968 {} 4968 {}
4969}; 4969};
4970static struct usb_action pb0330_NoFlikerScale[] = { 4970static const struct usb_action pb0330_NoFlikerScale[] = {
4971 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 4971 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
4972 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */ 4972 {0xa0, 0x00, 0x0190}, /* 01,90,00,cc */
4973 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */ 4973 {0xa0, 0x07, 0x0191}, /* 01,91,07,cc */
@@ -4986,7 +4986,7 @@ static struct usb_action pb0330_NoFlikerScale[] = {
4986}; 4986};
4987 4987
4988/* from oem9.inf - HKR,%PO2030%,Initial - 640x480 - (close to CS2102) */ 4988/* from oem9.inf - HKR,%PO2030%,Initial - 640x480 - (close to CS2102) */
4989static struct usb_action PO2030_mode0[] = { 4989static const struct usb_action PO2030_mode0[] = {
4990 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */ 4990 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
4991 {0xa0, 0x04, 0x0002}, /* 00,02,04,cc */ 4991 {0xa0, 0x04, 0x0002}, /* 00,02,04,cc */
4992 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */ 4992 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */
@@ -5063,7 +5063,7 @@ static struct usb_action PO2030_mode0[] = {
5063}; 5063};
5064 5064
5065/* from oem9.inf - HKR,%PO2030%,InitialScale - 320x240 */ 5065/* from oem9.inf - HKR,%PO2030%,InitialScale - 320x240 */
5066static struct usb_action PO2030_mode1[] = { 5066static const struct usb_action PO2030_mode1[] = {
5067 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */ 5067 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc */
5068 {0xa0, 0x10, 0x0002}, /* 00,02,10,cc */ 5068 {0xa0, 0x10, 0x0002}, /* 00,02,10,cc */
5069 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */ 5069 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc */
@@ -5139,7 +5139,7 @@ static struct usb_action PO2030_mode1[] = {
5139 {} 5139 {}
5140}; 5140};
5141 5141
5142static struct usb_action PO2030_50HZ[] = { 5142static const struct usb_action PO2030_50HZ[] = {
5143 {0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */ 5143 {0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */
5144 {0xaa, 0x1a, 0x0001}, /* 00,1a,01,aa */ 5144 {0xaa, 0x1a, 0x0001}, /* 00,1a,01,aa */
5145 {0xaa, 0x1b, 0x000a}, /* 00,1b,0a,aa */ 5145 {0xaa, 0x1b, 0x000a}, /* 00,1b,0a,aa */
@@ -5161,7 +5161,7 @@ static struct usb_action PO2030_50HZ[] = {
5161 {} 5161 {}
5162}; 5162};
5163 5163
5164static struct usb_action PO2030_60HZ[] = { 5164static const struct usb_action PO2030_60HZ[] = {
5165 {0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */ 5165 {0xaa, 0x8d, 0x0008}, /* 00,8d,08,aa */
5166 {0xaa, 0x1a, 0x0000}, /* 00,1a,00,aa */ 5166 {0xaa, 0x1a, 0x0000}, /* 00,1a,00,aa */
5167 {0xaa, 0x1b, 0x00de}, /* 00,1b,de,aa */ 5167 {0xaa, 0x1b, 0x00de}, /* 00,1b,de,aa */
@@ -5183,7 +5183,7 @@ static struct usb_action PO2030_60HZ[] = {
5183 {} 5183 {}
5184}; 5184};
5185 5185
5186static struct usb_action PO2030_NoFliker[] = { 5186static const struct usb_action PO2030_NoFliker[] = {
5187 {0xa0, 0x02, 0x0180}, /* 01,80,02,cc */ 5187 {0xa0, 0x02, 0x0180}, /* 01,80,02,cc */
5188 {0xaa, 0x8d, 0x000d}, /* 00,8d,0d,aa */ 5188 {0xaa, 0x8d, 0x000d}, /* 00,8d,0d,aa */
5189 {0xaa, 0x1a, 0x0000}, /* 00,1a,00,aa */ 5189 {0xaa, 0x1a, 0x0000}, /* 00,1a,00,aa */
@@ -5195,7 +5195,7 @@ static struct usb_action PO2030_NoFliker[] = {
5195}; 5195};
5196 5196
5197/* TEST */ 5197/* TEST */
5198static struct usb_action tas5130CK_Initial[] = { 5198static const struct usb_action tas5130CK_Initial[] = {
5199 {0xa0, 0x01, 0x0000}, 5199 {0xa0, 0x01, 0x0000},
5200 {0xa0, 0x01, 0x003b}, 5200 {0xa0, 0x01, 0x003b},
5201 {0xa0, 0x0e, 0x003a}, 5201 {0xa0, 0x0e, 0x003a},
@@ -5398,7 +5398,7 @@ static struct usb_action tas5130CK_Initial[] = {
5398 {} 5398 {}
5399}; 5399};
5400 5400
5401static struct usb_action tas5130CK_InitialScale[] = { 5401static const struct usb_action tas5130CK_InitialScale[] = {
5402 {0xa0, 0x01, 0x0000}, 5402 {0xa0, 0x01, 0x0000},
5403 {0xa0, 0x01, 0x003b}, 5403 {0xa0, 0x01, 0x003b},
5404 {0xa0, 0x0e, 0x003a}, 5404 {0xa0, 0x0e, 0x003a},
@@ -5606,7 +5606,7 @@ static struct usb_action tas5130CK_InitialScale[] = {
5606 {} 5606 {}
5607}; 5607};
5608 5608
5609static struct usb_action tas5130cxx_Initial[] = { 5609static const struct usb_action tas5130cxx_Initial[] = {
5610 {0xa0, 0x01, 0x0000}, 5610 {0xa0, 0x01, 0x0000},
5611 {0xa0, 0x50, 0x0002}, 5611 {0xa0, 0x50, 0x0002},
5612 {0xa0, 0x03, 0x0008}, 5612 {0xa0, 0x03, 0x0008},
@@ -5695,7 +5695,7 @@ static struct usb_action tas5130cxx_Initial[] = {
5695 {0xa0, 0x42, 0x0180}, 5695 {0xa0, 0x42, 0x0180},
5696 {} 5696 {}
5697}; 5697};
5698static struct usb_action tas5130cxx_InitialScale[] = { 5698static const struct usb_action tas5130cxx_InitialScale[] = {
5699 {0xa0, 0x01, 0x0000}, 5699 {0xa0, 0x01, 0x0000},
5700 {0xa0, 0x01, 0x0000}, 5700 {0xa0, 0x01, 0x0000},
5701 {0xa0, 0x40, 0x0002}, 5701 {0xa0, 0x40, 0x0002},
@@ -5785,7 +5785,7 @@ static struct usb_action tas5130cxx_InitialScale[] = {
5785 {0xa0, 0x42, 0x0180}, 5785 {0xa0, 0x42, 0x0180},
5786 {} 5786 {}
5787}; 5787};
5788static struct usb_action tas5130cxx_50HZ[] = { 5788static const struct usb_action tas5130cxx_50HZ[] = {
5789 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 5789 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
5790 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */ 5790 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
5791 {0xaa, 0xa4, 0x0063}, /* 00,a4,63,aa */ 5791 {0xaa, 0xa4, 0x0063}, /* 00,a4,63,aa */
@@ -5808,7 +5808,7 @@ static struct usb_action tas5130cxx_50HZ[] = {
5808 {0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */ 5808 {0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */
5809 {} 5809 {}
5810}; 5810};
5811static struct usb_action tas5130cxx_50HZScale[] = { 5811static const struct usb_action tas5130cxx_50HZScale[] = {
5812 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 5812 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
5813 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */ 5813 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
5814 {0xaa, 0xa4, 0x0077}, /* 00,a4,77,aa */ 5814 {0xaa, 0xa4, 0x0077}, /* 00,a4,77,aa */
@@ -5831,7 +5831,7 @@ static struct usb_action tas5130cxx_50HZScale[] = {
5831 {0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */ 5831 {0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */
5832 {} 5832 {}
5833}; 5833};
5834static struct usb_action tas5130cxx_60HZ[] = { 5834static const struct usb_action tas5130cxx_60HZ[] = {
5835 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 5835 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
5836 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */ 5836 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
5837 {0xaa, 0xa4, 0x0036}, /* 00,a4,36,aa */ 5837 {0xaa, 0xa4, 0x0036}, /* 00,a4,36,aa */
@@ -5854,7 +5854,7 @@ static struct usb_action tas5130cxx_60HZ[] = {
5854 {0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */ 5854 {0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */
5855 {} 5855 {}
5856}; 5856};
5857static struct usb_action tas5130cxx_60HZScale[] = { 5857static const struct usb_action tas5130cxx_60HZScale[] = {
5858 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 5858 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
5859 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */ 5859 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
5860 {0xaa, 0xa4, 0x0077}, /* 00,a4,77,aa */ 5860 {0xaa, 0xa4, 0x0077}, /* 00,a4,77,aa */
@@ -5877,7 +5877,7 @@ static struct usb_action tas5130cxx_60HZScale[] = {
5877 {0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */ 5877 {0xa0, 0x03, 0x009f}, /* 00,9f,03,cc */
5878 {} 5878 {}
5879}; 5879};
5880static struct usb_action tas5130cxx_NoFliker[] = { 5880static const struct usb_action tas5130cxx_NoFliker[] = {
5881 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 5881 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
5882 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */ 5882 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
5883 {0xaa, 0xa4, 0x0040}, /* 00,a4,40,aa */ 5883 {0xaa, 0xa4, 0x0040}, /* 00,a4,40,aa */
@@ -5901,7 +5901,7 @@ static struct usb_action tas5130cxx_NoFliker[] = {
5901 {} 5901 {}
5902}; 5902};
5903 5903
5904static struct usb_action tas5130cxx_NoFlikerScale[] = { 5904static const struct usb_action tas5130cxx_NoFlikerScale[] = {
5905 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */ 5905 {0xa0, 0x00, 0x0019}, /* 00,19,00,cc */
5906 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */ 5906 {0xaa, 0xa3, 0x0001}, /* 00,a3,01,aa */
5907 {0xaa, 0xa4, 0x0090}, /* 00,a4,90,aa */ 5907 {0xaa, 0xa4, 0x0090}, /* 00,a4,90,aa */
@@ -5925,7 +5925,7 @@ static struct usb_action tas5130cxx_NoFlikerScale[] = {
5925 {} 5925 {}
5926}; 5926};
5927 5927
5928static struct usb_action tas5130c_vf0250_Initial[] = { 5928static const struct usb_action tas5130c_vf0250_Initial[] = {
5929 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc, */ 5929 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc, */
5930 {0xa0, 0x02, 0x0008}, /* 00,08,02,cc, */ 5930 {0xa0, 0x02, 0x0008}, /* 00,08,02,cc, */
5931 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc, */ 5931 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc, */
@@ -5989,7 +5989,7 @@ static struct usb_action tas5130c_vf0250_Initial[] = {
5989 {} 5989 {}
5990}; 5990};
5991 5991
5992static struct usb_action tas5130c_vf0250_InitialScale[] = { 5992static const struct usb_action tas5130c_vf0250_InitialScale[] = {
5993 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc, */ 5993 {0xa0, 0x01, 0x0000}, /* 00,00,01,cc, */
5994 {0xa0, 0x02, 0x0008}, /* 00,08,02,cc, */ 5994 {0xa0, 0x02, 0x0008}, /* 00,08,02,cc, */
5995 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc, */ 5995 {0xa0, 0x01, 0x0010}, /* 00,10,01,cc, */
@@ -6053,7 +6053,7 @@ static struct usb_action tas5130c_vf0250_InitialScale[] = {
6053 {} 6053 {}
6054}; 6054};
6055/* "50HZ" light frequency banding filter */ 6055/* "50HZ" light frequency banding filter */
6056static struct usb_action tas5130c_vf0250_50HZ[] = { 6056static const struct usb_action tas5130c_vf0250_50HZ[] = {
6057 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 6057 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
6058 {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */ 6058 {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */
6059 {0xaa, 0x84, 0x00aa}, /* 00,84,aa,aa */ 6059 {0xaa, 0x84, 0x00aa}, /* 00,84,aa,aa */
@@ -6078,7 +6078,7 @@ static struct usb_action tas5130c_vf0250_50HZ[] = {
6078}; 6078};
6079 6079
6080/* "50HZScale" light frequency banding filter */ 6080/* "50HZScale" light frequency banding filter */
6081static struct usb_action tas5130c_vf0250_50HZScale[] = { 6081static const struct usb_action tas5130c_vf0250_50HZScale[] = {
6082 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 6082 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
6083 {0xaa, 0x83, 0x0003}, /* 00,83,03,aa */ 6083 {0xaa, 0x83, 0x0003}, /* 00,83,03,aa */
6084 {0xaa, 0x84, 0x0054}, /* 00,84,54,aa */ 6084 {0xaa, 0x84, 0x0054}, /* 00,84,54,aa */
@@ -6103,7 +6103,7 @@ static struct usb_action tas5130c_vf0250_50HZScale[] = {
6103}; 6103};
6104 6104
6105/* "60HZ" light frequency banding filter */ 6105/* "60HZ" light frequency banding filter */
6106static struct usb_action tas5130c_vf0250_60HZ[] = { 6106static const struct usb_action tas5130c_vf0250_60HZ[] = {
6107 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 6107 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
6108 {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */ 6108 {0xaa, 0x83, 0x0001}, /* 00,83,01,aa */
6109 {0xaa, 0x84, 0x0062}, /* 00,84,62,aa */ 6109 {0xaa, 0x84, 0x0062}, /* 00,84,62,aa */
@@ -6128,7 +6128,7 @@ static struct usb_action tas5130c_vf0250_60HZ[] = {
6128}; 6128};
6129 6129
6130/* "60HZScale" light frequency banding ilter */ 6130/* "60HZScale" light frequency banding ilter */
6131static struct usb_action tas5130c_vf0250_60HZScale[] = { 6131static const struct usb_action tas5130c_vf0250_60HZScale[] = {
6132 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 6132 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
6133 {0xaa, 0x83, 0x0002}, /* 00,83,02,aa */ 6133 {0xaa, 0x83, 0x0002}, /* 00,83,02,aa */
6134 {0xaa, 0x84, 0x00c4}, /* 00,84,c4,aa */ 6134 {0xaa, 0x84, 0x00c4}, /* 00,84,c4,aa */
@@ -6153,7 +6153,7 @@ static struct usb_action tas5130c_vf0250_60HZScale[] = {
6153}; 6153};
6154 6154
6155/* "NoFliker" light frequency banding flter */ 6155/* "NoFliker" light frequency banding flter */
6156static struct usb_action tas5130c_vf0250_NoFliker[] = { 6156static const struct usb_action tas5130c_vf0250_NoFliker[] = {
6157 {0xa0, 0x0c, 0x0100}, /* 01,00,0c,cc, */ 6157 {0xa0, 0x0c, 0x0100}, /* 01,00,0c,cc, */
6158 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 6158 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
6159 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */ 6159 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */
@@ -6176,7 +6176,7 @@ static struct usb_action tas5130c_vf0250_NoFliker[] = {
6176}; 6176};
6177 6177
6178/* "NoFlikerScale" light frequency banding filter */ 6178/* "NoFlikerScale" light frequency banding filter */
6179static struct usb_action tas5130c_vf0250_NoFlikerScale[] = { 6179static const struct usb_action tas5130c_vf0250_NoFlikerScale[] = {
6180 {0xa0, 0x0c, 0x0100}, /* 01,00,0c,cc, */ 6180 {0xa0, 0x0c, 0x0100}, /* 01,00,0c,cc, */
6181 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */ 6181 {0xaa, 0x82, 0x0000}, /* 00,82,00,aa */
6182 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */ 6182 {0xaa, 0x83, 0x0000}, /* 00,83,00,aa */
@@ -6272,7 +6272,7 @@ static __u8 i2c_write(struct usb_device *dev,
6272} 6272}
6273 6273
6274static void usb_exchange(struct usb_device *dev, 6274static void usb_exchange(struct usb_device *dev,
6275 struct usb_action *action) 6275 const struct usb_action *action)
6276{ 6276{
6277 __u8 buffread; 6277 __u8 buffread;
6278 6278
@@ -6304,12 +6304,12 @@ static void setmatrix(struct gspca_dev *gspca_dev)
6304{ 6304{
6305 struct sd *sd = (struct sd *) gspca_dev; 6305 struct sd *sd = (struct sd *) gspca_dev;
6306 int i; 6306 int i;
6307 __u8 *matrix; 6307 const __u8 *matrix;
6308 static __u8 gc0305_matrix[9] = 6308 static const __u8 gc0305_matrix[9] =
6309 {0x50, 0xf8, 0xf8, 0xf8, 0x50, 0xf8, 0xf8, 0xf8, 0x50}; 6309 {0x50, 0xf8, 0xf8, 0xf8, 0x50, 0xf8, 0xf8, 0xf8, 0x50};
6310 static __u8 ov7620_matrix[9] = 6310 static const __u8 ov7620_matrix[9] =
6311 {0x58, 0xf4, 0xf4, 0xf4, 0x58, 0xf4, 0xf4, 0xf4, 0x58}; 6311 {0x58, 0xf4, 0xf4, 0xf4, 0x58, 0xf4, 0xf4, 0xf4, 0x58};
6312 static __u8 po2030_matrix[9] = 6312 static const __u8 po2030_matrix[9] =
6313 {0x60, 0xf0, 0xf0, 0xf0, 0x60, 0xf0, 0xf0, 0xf0, 0x60}; 6313 {0x60, 0xf0, 0xf0, 0xf0, 0x60, 0xf0, 0xf0, 0xf0, 0x60};
6314 6314
6315 switch (sd->sensor) { 6315 switch (sd->sensor) {
@@ -6361,7 +6361,7 @@ static void setsharpness(struct gspca_dev *gspca_dev)
6361 struct usb_device *dev = gspca_dev->dev; 6361 struct usb_device *dev = gspca_dev->dev;
6362 int sharpness; 6362 int sharpness;
6363 __u8 retbyte; 6363 __u8 retbyte;
6364 static __u8 sharpness_tb[][2] = { 6364 static const __u8 sharpness_tb[][2] = {
6365 {0x02, 0x03}, 6365 {0x02, 0x03},
6366 {0x04, 0x07}, 6366 {0x04, 0x07},
6367 {0x08, 0x0f}, 6367 {0x08, 0x0f},
@@ -6380,55 +6380,55 @@ static void setcontrast(struct gspca_dev *gspca_dev)
6380{ 6380{
6381 struct sd *sd = (struct sd *) gspca_dev; 6381 struct sd *sd = (struct sd *) gspca_dev;
6382 struct usb_device *dev = gspca_dev->dev; 6382 struct usb_device *dev = gspca_dev->dev;
6383 __u8 *Tgamma, *Tgradient; 6383 const __u8 *Tgamma, *Tgradient;
6384 int g, i, k; 6384 int g, i, k;
6385 static __u8 kgamma_tb[16] = /* delta for contrast */ 6385 static const __u8 kgamma_tb[16] = /* delta for contrast */
6386 {0x15, 0x0d, 0x0a, 0x09, 0x08, 0x08, 0x08, 0x08, 6386 {0x15, 0x0d, 0x0a, 0x09, 0x08, 0x08, 0x08, 0x08,
6387 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08}; 6387 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08};
6388 static __u8 kgrad_tb[16] = 6388 static const __u8 kgrad_tb[16] =
6389 {0x1b, 0x06, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 6389 {0x1b, 0x06, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00,
6390 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x04}; 6390 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x04};
6391 static __u8 Tgamma_1[16] = 6391 static const __u8 Tgamma_1[16] =
6392 {0x00, 0x00, 0x03, 0x0d, 0x1b, 0x2e, 0x45, 0x5f, 6392 {0x00, 0x00, 0x03, 0x0d, 0x1b, 0x2e, 0x45, 0x5f,
6393 0x79, 0x93, 0xab, 0xc1, 0xd4, 0xe5, 0xf3, 0xff}; 6393 0x79, 0x93, 0xab, 0xc1, 0xd4, 0xe5, 0xf3, 0xff};
6394 static __u8 Tgradient_1[16] = 6394 static const __u8 Tgradient_1[16] =
6395 {0x00, 0x01, 0x05, 0x0b, 0x10, 0x15, 0x18, 0x1a, 6395 {0x00, 0x01, 0x05, 0x0b, 0x10, 0x15, 0x18, 0x1a,
6396 0x1a, 0x18, 0x16, 0x14, 0x12, 0x0f, 0x0d, 0x06}; 6396 0x1a, 0x18, 0x16, 0x14, 0x12, 0x0f, 0x0d, 0x06};
6397 static __u8 Tgamma_2[16] = 6397 static const __u8 Tgamma_2[16] =
6398 {0x01, 0x0c, 0x1f, 0x3a, 0x53, 0x6d, 0x85, 0x9c, 6398 {0x01, 0x0c, 0x1f, 0x3a, 0x53, 0x6d, 0x85, 0x9c,
6399 0xb0, 0xc2, 0xd1, 0xde, 0xe9, 0xf2, 0xf9, 0xff}; 6399 0xb0, 0xc2, 0xd1, 0xde, 0xe9, 0xf2, 0xf9, 0xff};
6400 static __u8 Tgradient_2[16] = 6400 static const __u8 Tgradient_2[16] =
6401 {0x05, 0x0f, 0x16, 0x1a, 0x19, 0x19, 0x17, 0x15, 6401 {0x05, 0x0f, 0x16, 0x1a, 0x19, 0x19, 0x17, 0x15,
6402 0x12, 0x10, 0x0e, 0x0b, 0x09, 0x08, 0x06, 0x03}; 6402 0x12, 0x10, 0x0e, 0x0b, 0x09, 0x08, 0x06, 0x03};
6403 static __u8 Tgamma_3[16] = 6403 static const __u8 Tgamma_3[16] =
6404 {0x04, 0x16, 0x30, 0x4e, 0x68, 0x81, 0x98, 0xac, 6404 {0x04, 0x16, 0x30, 0x4e, 0x68, 0x81, 0x98, 0xac,
6405 0xbe, 0xcd, 0xda, 0xe4, 0xed, 0xf5, 0xfb, 0xff}; 6405 0xbe, 0xcd, 0xda, 0xe4, 0xed, 0xf5, 0xfb, 0xff};
6406 static __u8 Tgradient_3[16] = 6406 static const __u8 Tgradient_3[16] =
6407 {0x0c, 0x16, 0x1b, 0x1c, 0x19, 0x18, 0x15, 0x12, 6407 {0x0c, 0x16, 0x1b, 0x1c, 0x19, 0x18, 0x15, 0x12,
6408 0x10, 0x0d, 0x0b, 0x09, 0x08, 0x06, 0x05, 0x03}; 6408 0x10, 0x0d, 0x0b, 0x09, 0x08, 0x06, 0x05, 0x03};
6409 static __u8 Tgamma_4[16] = 6409 static const __u8 Tgamma_4[16] =
6410 {0x13, 0x38, 0x59, 0x79, 0x92, 0xa7, 0xb9, 0xc8, 6410 {0x13, 0x38, 0x59, 0x79, 0x92, 0xa7, 0xb9, 0xc8,
6411 0xd4, 0xdf, 0xe7, 0xee, 0xf4, 0xf9, 0xfc, 0xff}; 6411 0xd4, 0xdf, 0xe7, 0xee, 0xf4, 0xf9, 0xfc, 0xff};
6412 static __u8 Tgradient_4[16] = 6412 static const __u8 Tgradient_4[16] =
6413 {0x26, 0x22, 0x20, 0x1c, 0x16, 0x13, 0x10, 0x0d, 6413 {0x26, 0x22, 0x20, 0x1c, 0x16, 0x13, 0x10, 0x0d,
6414 0x0b, 0x09, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02}; 6414 0x0b, 0x09, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02};
6415 static __u8 Tgamma_5[16] = 6415 static const __u8 Tgamma_5[16] =
6416 {0x20, 0x4b, 0x6e, 0x8d, 0xa3, 0xb5, 0xc5, 0xd2, 6416 {0x20, 0x4b, 0x6e, 0x8d, 0xa3, 0xb5, 0xc5, 0xd2,
6417 0xdc, 0xe5, 0xec, 0xf2, 0xf6, 0xfa, 0xfd, 0xff}; 6417 0xdc, 0xe5, 0xec, 0xf2, 0xf6, 0xfa, 0xfd, 0xff};
6418 static __u8 Tgradient_5[16] = 6418 static const __u8 Tgradient_5[16] =
6419 {0x37, 0x26, 0x20, 0x1a, 0x14, 0x10, 0x0e, 0x0b, 6419 {0x37, 0x26, 0x20, 0x1a, 0x14, 0x10, 0x0e, 0x0b,
6420 0x09, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x02}; 6420 0x09, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x02};
6421 static __u8 Tgamma_6[16] = /* ?? was gamma 5 */ 6421 static const __u8 Tgamma_6[16] = /* ?? was gamma 5 */
6422 {0x24, 0x44, 0x64, 0x84, 0x9d, 0xb2, 0xc4, 0xd3, 6422 {0x24, 0x44, 0x64, 0x84, 0x9d, 0xb2, 0xc4, 0xd3,
6423 0xe0, 0xeb, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff}; 6423 0xe0, 0xeb, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff};
6424 static __u8 Tgradient_6[16] = 6424 static const __u8 Tgradient_6[16] =
6425 {0x18, 0x20, 0x20, 0x1c, 0x16, 0x13, 0x10, 0x0e, 6425 {0x18, 0x20, 0x20, 0x1c, 0x16, 0x13, 0x10, 0x0e,
6426 0x0b, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01}; 6426 0x0b, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01};
6427 static __u8 *gamma_tb[] = { 6427 static const __u8 *gamma_tb[] = {
6428 0, Tgamma_1, Tgamma_2, 6428 0, Tgamma_1, Tgamma_2,
6429 Tgamma_3, Tgamma_4, Tgamma_5, Tgamma_6 6429 Tgamma_3, Tgamma_4, Tgamma_5, Tgamma_6
6430 }; 6430 };
6431 static __u8 *gradient_tb[] = { 6431 static const __u8 *gradient_tb[] = {
6432 0, Tgradient_1, Tgradient_2, 6432 0, Tgradient_1, Tgradient_2,
6433 Tgradient_3, Tgradient_4, Tgradient_5, Tgradient_6 6433 Tgradient_3, Tgradient_4, Tgradient_5, Tgradient_6
6434 }; 6434 };
@@ -6529,8 +6529,8 @@ static int setlightfreq(struct gspca_dev *gspca_dev)
6529{ 6529{
6530 struct sd *sd = (struct sd *) gspca_dev; 6530 struct sd *sd = (struct sd *) gspca_dev;
6531 int i, mode; 6531 int i, mode;
6532 struct usb_action *zc3_freq; 6532 const struct usb_action *zc3_freq;
6533 static struct usb_action *freq_tb[SENSOR_MAX][6] = { 6533 static const struct usb_action *freq_tb[SENSOR_MAX][6] = {
6534/* SENSOR_CS2102 0 */ 6534/* SENSOR_CS2102 0 */
6535 {cs2102_NoFliker, cs2102_NoFlikerScale, 6535 {cs2102_NoFliker, cs2102_NoFlikerScale,
6536 cs2102_50HZ, cs2102_50HZScale, 6536 cs2102_50HZ, cs2102_50HZScale,
@@ -6952,7 +6952,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
6952 int sensor; 6952 int sensor;
6953 __u8 bsensor; 6953 __u8 bsensor;
6954 int vga = 1; /* 1: vga, 0: sif */ 6954 int vga = 1; /* 1: vga, 0: sif */
6955 static __u8 gamma[SENSOR_MAX] = { 6955 static const __u8 gamma[SENSOR_MAX] = {
6956 5, /* SENSOR_CS2102 0 */ 6956 5, /* SENSOR_CS2102 0 */
6957 5, /* SENSOR_CS2102K 1 */ 6957 5, /* SENSOR_CS2102K 1 */
6958 4, /* SENSOR_GC0305 2 */ 6958 4, /* SENSOR_GC0305 2 */
@@ -7145,10 +7145,10 @@ static void sd_start(struct gspca_dev *gspca_dev)
7145{ 7145{
7146 struct sd *sd = (struct sd *) gspca_dev; 7146 struct sd *sd = (struct sd *) gspca_dev;
7147 struct usb_device *dev = gspca_dev->dev; 7147 struct usb_device *dev = gspca_dev->dev;
7148 struct usb_action *zc3_init; 7148 const struct usb_action *zc3_init;
7149 int mode; 7149 int mode;
7150 __u8 retbyte; 7150 __u8 retbyte;
7151 static struct usb_action *init_tb[SENSOR_MAX][2] = { 7151 static const struct usb_action *init_tb[SENSOR_MAX][2] = {
7152 {cs2102_InitialScale, cs2102_Initial}, /* 0 */ 7152 {cs2102_InitialScale, cs2102_Initial}, /* 0 */
7153 {cs2102K_InitialScale, cs2102K_Initial}, /* 1 */ 7153 {cs2102K_InitialScale, cs2102K_Initial}, /* 1 */
7154 {gc0305_Initial, gc0305_InitialScale}, /* 2 */ 7154 {gc0305_Initial, gc0305_InitialScale}, /* 2 */
@@ -7451,13 +7451,13 @@ static int sd_querymenu(struct gspca_dev *gspca_dev,
7451 case V4L2_CID_POWER_LINE_FREQUENCY: 7451 case V4L2_CID_POWER_LINE_FREQUENCY:
7452 switch (menu->index) { 7452 switch (menu->index) {
7453 case 0: /* V4L2_CID_POWER_LINE_FREQUENCY_DISABLED */ 7453 case 0: /* V4L2_CID_POWER_LINE_FREQUENCY_DISABLED */
7454 strcpy(menu->name, "NoFliker"); 7454 strcpy((char *) menu->name, "NoFliker");
7455 return 0; 7455 return 0;
7456 case 1: /* V4L2_CID_POWER_LINE_FREQUENCY_50HZ */ 7456 case 1: /* V4L2_CID_POWER_LINE_FREQUENCY_50HZ */
7457 strcpy(menu->name, "50 Hz"); 7457 strcpy((char *) menu->name, "50 Hz");
7458 return 0; 7458 return 0;
7459 case 2: /* V4L2_CID_POWER_LINE_FREQUENCY_60HZ */ 7459 case 2: /* V4L2_CID_POWER_LINE_FREQUENCY_60HZ */
7460 strcpy(menu->name, "60 Hz"); 7460 strcpy((char *) menu->name, "60 Hz");
7461 return 0; 7461 return 0;
7462 } 7462 }
7463 break; 7463 break;
@@ -7465,7 +7465,7 @@ static int sd_querymenu(struct gspca_dev *gspca_dev,
7465 return -EINVAL; 7465 return -EINVAL;
7466} 7466}
7467 7467
7468static struct sd_desc sd_desc = { 7468static const struct sd_desc sd_desc = {
7469 .name = MODULE_NAME, 7469 .name = MODULE_NAME,
7470 .ctrls = sd_ctrls, 7470 .ctrls = sd_ctrls,
7471 .nctrls = sizeof sd_ctrls / sizeof sd_ctrls[0], 7471 .nctrls = sizeof sd_ctrls / sizeof sd_ctrls[0],
@@ -7480,7 +7480,7 @@ static struct sd_desc sd_desc = {
7480}; 7480};
7481 7481
7482#define DVNM(name) .driver_info = (kernel_ulong_t) name 7482#define DVNM(name) .driver_info = (kernel_ulong_t) name
7483static __devinitdata struct usb_device_id device_table[] = { 7483static const __devinitdata struct usb_device_id device_table[] = {
7484 {USB_DEVICE(0x041e, 0x041e), DVNM("Creative WebCam Live!")}, 7484 {USB_DEVICE(0x041e, 0x041e), DVNM("Creative WebCam Live!")},
7485 {USB_DEVICE(0x041e, 0x4017), DVNM("Creative Webcam Mobile PD1090")}, 7485 {USB_DEVICE(0x041e, 0x4017), DVNM("Creative Webcam Mobile PD1090")},
7486 {USB_DEVICE(0x041e, 0x401c), DVNM("Creative NX")}, 7486 {USB_DEVICE(0x041e, 0x401c), DVNM("Creative NX")},