Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
V4L/DVB (10191a): Update MAINTAINERS entries on media drivers
V4L/DVB (10190): cx88: Fix some Kbuild troubles
V4L/DVB (10189): dm1105: Fix build with INPUT=m and DVB_DM1105=y
V4L/DVB (10185): Use negated usb_endpoint_xfer_control, etc
V4L/DVB (10182): tda8290: fix TDA8290 + TDA18271 initialization
V4L/DVB (10181): v4l2-device: Fix some sparse warnings
V4L/DVB (10180): drivers/media: Fix a number of sparse warnings
V4L/DVB (10179): tda8290: Fix two sparse warnings
V4L/DVB (10178): dvb_frontend: Fix some sparse warnings due to static symbols
V4L/DVB (10177): Fix sparse warnings on em28xx
V4L/DVB (10176b): pxa-camera: fix redefinition warnings and missing DMA definitions
V4L/DVB (10176a): Switch remaining clear_user_page users over to clear_user_highpage

+148 -207
+42 -23
MAINTAINERS
··· 1024 1024 BTTV VIDEO4LINUX DRIVER 1025 1025 P: Mauro Carvalho Chehab 1026 1026 M: mchehab@infradead.org 1027 - M: v4l-dvb-maintainer@linuxtv.org 1027 + L: linux-media@vger.kernel.org 1028 1028 L: video4linux-list@redhat.com 1029 1029 W: http://linuxtv.org 1030 - T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb.git 1030 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 1031 1031 S: Maintained 1032 1032 1033 1033 CAFE CMOS INTEGRATED CAMERA CONTROLLER DRIVER 1034 1034 P: Jonathan Corbet 1035 1035 M: corbet@lwn.net 1036 - L: video4linux-list@redhat.com 1036 + L: linux-media@vger.kernel.org 1037 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 1037 1038 S: Maintained 1038 1039 1039 1040 CALGARY x86-64 IOMMU ··· 1262 1261 M: hverkuil@xs4all.nl, awalls@radix.net 1263 1262 L: ivtv-devel@ivtvdriver.org 1264 1263 L: ivtv-users@ivtvdriver.org 1265 - L: video4linux-list@redhat.com 1264 + L: linux-media@vger.kernel.org 1265 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 1266 1266 W: http://linuxtv.org 1267 1267 S: Maintained 1268 1268 ··· 1489 1487 1490 1488 DVB SUBSYSTEM AND DRIVERS 1491 1489 P: LinuxTV.org Project 1492 - M: v4l-dvb-maintainer@linuxtv.org 1490 + M: linux-media@vger.kernel.org 1493 1491 L: linux-dvb@linuxtv.org (subscription required) 1494 1492 W: http://linuxtv.org/ 1495 - T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb.git 1493 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 1496 1494 S: Maintained 1497 1495 1498 1496 DZ DECSTATION DZ11 SERIAL DRIVER ··· 1884 1882 GSPCA FINEPIX SUBDRIVER 1885 1883 P: Frank Zago 1886 1884 M: frank@zago.net 1887 - L: video4linux-list@redhat.com 1885 + L: linux-media@vger.kernel.org 1886 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 1888 1887 S: Maintained 1889 1888 1890 1889 GSPCA M5602 SUBDRIVER 1891 1890 P: Erik Andren 1892 1891 M: erik.andren@gmail.com 1893 - L: video4linux-list@redhat.com 1892 + L: linux-media@vger.kernel.org 1893 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 1894 1894 S: Maintained 1895 1895 1896 1896 GSPCA PAC207 SONIXB SUBDRIVER 1897 1897 P: Hans de Goede 1898 1898 M: hdegoede@redhat.com 1899 - L: video4linux-list@redhat.com 1899 + L: linux-media@vger.kernel.org 1900 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 1900 1901 S: Maintained 1901 1902 1902 1903 GSPCA T613 SUBDRIVER 1903 1904 P: Leandro Costantino 1904 1905 M: lcostantino@gmail.com 1905 - L: video4linux-list@redhat.com 1906 + L: linux-media@vger.kernel.org 1907 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 1906 1908 S: Maintained 1907 1909 1908 1910 GSPCA USB WEBCAM DRIVER 1909 1911 P: Jean-Francois Moine 1910 1912 M: moinejf@free.fr 1911 1913 W: http://moinejf.free.fr 1912 - L: video4linux-list@redhat.com 1914 + L: linux-media@vger.kernel.org 1915 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 1913 1916 S: Maintained 1914 1917 1915 1918 HARDWARE MONITORING ··· 2444 2437 M: hverkuil@xs4all.nl 2445 2438 L: ivtv-devel@ivtvdriver.org 2446 2439 L: ivtv-users@ivtvdriver.org 2447 - L: video4linux-list@redhat.com 2440 + L: linux-media@vger.kernel.org 2441 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 2448 2442 W: http://www.ivtvdriver.org 2449 2443 S: Maintained 2450 2444 ··· 3205 3197 OMNIVISION OV7670 SENSOR DRIVER 3206 3198 P: Jonathan Corbet 3207 3199 M: corbet@lwn.net 3208 - L: video4linux-list@redhat.com 3200 + L: linux-media@vger.kernel.org 3201 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 3209 3202 S: Maintained 3210 3203 3211 3204 ONENAND FLASH DRIVER ··· 3488 3479 P: Mike Isely 3489 3480 M: isely@pobox.com 3490 3481 L: pvrusb2@isely.net (subscribers-only) 3491 - L: video4linux-list@redhat.com 3482 + L: linux-media@vger.kernel.org 3492 3483 W: http://www.isely.net/pvrusb2/ 3484 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 3493 3485 S: Maintained 3494 3486 3495 3487 PXA2xx/PXA3xx SUPPORT ··· 3710 3700 SAA7146 VIDEO4LINUX-2 DRIVER 3711 3701 P: Michael Hunold 3712 3702 M: michael@mihu.de 3703 + L: linux-media@vger.kernel.org 3704 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 3713 3705 W: http://www.mihu.de/linux/saa7146 3714 3706 S: Maintained 3715 3707 ··· 3975 3963 SOC-CAMERA V4L2 SUBSYSTEM 3976 3964 P: Guennadi Liakhovetski 3977 3965 M: g.liakhovetski@gmx.de 3978 - L: video4linux-list@redhat.com 3966 + L: linux-media@vger.kernel.org 3967 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 3979 3968 S: Maintained 3980 3969 3981 3970 SOEKRIS NET48XX LED SUPPORT ··· 4395 4382 P: Luca Risolia 4396 4383 M: luca.risolia@studio.unibo.it 4397 4384 L: linux-usb@vger.kernel.org 4398 - L: video4linux-list@redhat.com 4385 + L: linux-media@vger.kernel.org 4386 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 4399 4387 W: http://www.linux-projects.org 4400 4388 S: Maintained 4401 4389 ··· 4545 4531 P: Luca Risolia 4546 4532 M: luca.risolia@studio.unibo.it 4547 4533 L: linux-usb@vger.kernel.org 4548 - L: video4linux-list@redhat.com 4534 + L: linux-media@vger.kernel.org 4535 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 4549 4536 W: http://www.linux-projects.org 4550 4537 S: Maintained 4551 4538 ··· 4575 4560 P: Laurent Pinchart 4576 4561 M: laurent.pinchart@skynet.be 4577 4562 L: linux-uvc-devel@lists.berlios.de (subscribers-only) 4578 - L: video4linux-list@redhat.com 4563 + L: linux-media@vger.kernel.org 4564 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 4579 4565 W: http://linux-uvc.berlios.de 4580 4566 S: Maintained 4581 4567 ··· 4584 4568 P: Luca Risolia 4585 4569 M: luca.risolia@studio.unibo.it 4586 4570 L: linux-usb@vger.kernel.org 4587 - L: video4linux-list@redhat.com 4571 + L: linux-media@vger.kernel.org 4572 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 4588 4573 W: http://www.linux-projects.org 4589 4574 S: Maintained 4590 4575 ··· 4599 4582 P: Luca Risolia 4600 4583 M: luca.risolia@studio.unibo.it 4601 4584 L: linux-usb@vger.kernel.org 4602 - L: video4linux-list@redhat.com 4585 + L: linux-media@vger.kernel.org 4586 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 4603 4587 W: http://www.linux-projects.org 4604 4588 S: Maintained 4605 4589 ··· 4615 4597 P: Antoine Jacquet 4616 4598 M: royale@zerezo.com 4617 4599 L: linux-usb@vger.kernel.org 4618 - L: video4linux-list@redhat.com 4600 + L: linux-media@vger.kernel.org 4601 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 4619 4602 W: http://royale.zerezo.com/zr364xx/ 4620 4603 S: Maintained 4621 4604 ··· 4685 4666 VIDEO FOR LINUX (V4L) 4686 4667 P: Mauro Carvalho Chehab 4687 4668 M: mchehab@infradead.org 4688 - M: v4l-dvb-maintainer@linuxtv.org 4669 + L: linux-media@vger.kernel.org 4689 4670 L: video4linux-list@redhat.com 4690 4671 W: http://linuxtv.org 4691 - T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb.git 4672 + T: git kernel.org:/pub/scm/linux/kernel/git/mchehab/linux-2.6.git 4692 4673 S: Maintained 4693 4674 4694 4675 VLAN (802.1Q)
+3 -3
drivers/media/common/tuners/tda8290.c
··· 150 150 } 151 151 } 152 152 153 - struct { 153 + static struct { 154 154 unsigned char seq[2]; 155 155 } fm_mode[] = { 156 156 { { 0x01, 0x81} }, /* Put device into expert mode */ ··· 207 207 msleep(1); 208 208 209 209 if (params->mode == V4L2_TUNER_RADIO) { 210 - int i; 211 210 unsigned char deemphasis[] = { 0x13, 1 }; 212 211 213 212 /* FIXME: allow using a different deemphasis */ ··· 766 767 fe->ops.analog_ops.info.name = name; 767 768 768 769 if (priv->ver & TDA8290) { 769 - tda8290_init_tuner(fe); 770 + if (priv->ver & (TDA8275 | TDA8275A)) 771 + tda8290_init_tuner(fe); 770 772 tda8290_init_if(fe); 771 773 } else if (priv->ver & TDA8295) 772 774 tda8295_init_if(fe);
+1
drivers/media/dvb/dm1105/Kconfig
··· 1 1 config DVB_DM1105 2 2 tristate "SDMC DM1105 based PCI cards" 3 3 depends on DVB_CORE && PCI && I2C 4 + depends on INPUT 4 5 select DVB_PLL if !DVB_FE_CUSTOMISE 5 6 select DVB_STV0299 if !DVB_FE_CUSTOMISE 6 7 select DVB_STV0288 if !DVB_FE_CUSTOMISE
+15 -11
drivers/media/dvb/dvb-core/dvb_frontend.c
··· 824 824 return 0; 825 825 } 826 826 827 - struct dtv_cmds_h dtv_cmds[] = { 827 + static struct dtv_cmds_h dtv_cmds[] = { 828 828 [DTV_TUNE] = { 829 829 .name = "DTV_TUNE", 830 830 .cmd = DTV_TUNE, ··· 962 962 }, 963 963 }; 964 964 965 - void dtv_property_dump(struct dtv_property *tvp) 965 + static void dtv_property_dump(struct dtv_property *tvp) 966 966 { 967 967 int i; 968 968 ··· 993 993 dprintk("%s() tvp.u.data = 0x%08x\n", __func__, tvp->u.data); 994 994 } 995 995 996 - int is_legacy_delivery_system(fe_delivery_system_t s) 996 + static int is_legacy_delivery_system(fe_delivery_system_t s) 997 997 { 998 998 if((s == SYS_UNDEFINED) || (s == SYS_DVBC_ANNEX_AC) || 999 999 (s == SYS_DVBC_ANNEX_B) || (s == SYS_DVBT) || (s == SYS_DVBS) || ··· 1007 1007 * drivers can use a single set_frontend tuning function, regardless of whether 1008 1008 * it's being used for the legacy or new API, reducing code and complexity. 1009 1009 */ 1010 - void dtv_property_cache_sync(struct dvb_frontend *fe, struct dvb_frontend_parameters *p) 1010 + static void dtv_property_cache_sync(struct dvb_frontend *fe, 1011 + struct dvb_frontend_parameters *p) 1011 1012 { 1012 1013 struct dtv_frontend_properties *c = &fe->dtv_property_cache; 1013 1014 ··· 1060 1059 /* Ensure the cached values are set correctly in the frontend 1061 1060 * legacy tuning structures, for the advanced tuning API. 1062 1061 */ 1063 - void dtv_property_legacy_params_sync(struct dvb_frontend *fe) 1062 + static void dtv_property_legacy_params_sync(struct dvb_frontend *fe) 1064 1063 { 1065 1064 struct dtv_frontend_properties *c = &fe->dtv_property_cache; 1066 1065 struct dvb_frontend_private *fepriv = fe->frontend_priv; ··· 1115 1114 /* Ensure the cached values are set correctly in the frontend 1116 1115 * legacy tuning structures, for the legacy tuning API. 1117 1116 */ 1118 - void dtv_property_adv_params_sync(struct dvb_frontend *fe) 1117 + static void dtv_property_adv_params_sync(struct dvb_frontend *fe) 1119 1118 { 1120 1119 struct dtv_frontend_properties *c = &fe->dtv_property_cache; 1121 1120 struct dvb_frontend_private *fepriv = fe->frontend_priv; ··· 1150 1149 } 1151 1150 } 1152 1151 1153 - void dtv_property_cache_submit(struct dvb_frontend *fe) 1152 + static void dtv_property_cache_submit(struct dvb_frontend *fe) 1154 1153 { 1155 1154 struct dtv_frontend_properties *c = &fe->dtv_property_cache; 1156 1155 ··· 1181 1180 static int dvb_frontend_ioctl_properties(struct inode *inode, struct file *file, 1182 1181 unsigned int cmd, void *parg); 1183 1182 1184 - int dtv_property_process_get(struct dvb_frontend *fe, struct dtv_property *tvp, 1185 - struct inode *inode, struct file *file) 1183 + static int dtv_property_process_get(struct dvb_frontend *fe, 1184 + struct dtv_property *tvp, 1185 + struct inode *inode, struct file *file) 1186 1186 { 1187 1187 int r = 0; 1188 1188 ··· 1255 1253 return r; 1256 1254 } 1257 1255 1258 - int dtv_property_process_set(struct dvb_frontend *fe, struct dtv_property *tvp, 1259 - struct inode *inode, struct file *file) 1256 + static int dtv_property_process_set(struct dvb_frontend *fe, 1257 + struct dtv_property *tvp, 1258 + struct inode *inode, 1259 + struct file *file) 1260 1260 { 1261 1261 int r = 0; 1262 1262 struct dvb_frontend_private *fepriv = fe->frontend_priv;
+1 -1
drivers/media/dvb/dvb-usb/anysee.c
··· 41 41 static int dvb_usb_anysee_debug; 42 42 module_param_named(debug, dvb_usb_anysee_debug, int, 0644); 43 43 MODULE_PARM_DESC(debug, "set debugging level" DVB_USB_DEBUG_STATUS); 44 - int dvb_usb_anysee_delsys; 44 + static int dvb_usb_anysee_delsys; 45 45 module_param_named(delsys, dvb_usb_anysee_delsys, int, 0644); 46 46 MODULE_PARM_DESC(delsys, "select delivery mode (0=DVB-C, 1=DVB-T)"); 47 47 DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
+1 -1
drivers/media/dvb/frontends/cx24116.c
··· 369 369 * Not all S2 mmodulation schemes are support and not all rates with 370 370 * a scheme are support. Especially, no auto detect when in S2 mode. 371 371 */ 372 - struct cx24116_modfec { 372 + static struct cx24116_modfec { 373 373 fe_delivery_system_t delivery_system; 374 374 fe_modulation_t modulation; 375 375 fe_code_rate_t fec;
+2 -2
drivers/media/dvb/frontends/stb0899_algo.c
··· 54 54 * stb0899_get_srate 55 55 * Get the current symbol rate 56 56 */ 57 - u32 stb0899_get_srate(struct stb0899_state *state) 57 + static u32 stb0899_get_srate(struct stb0899_state *state) 58 58 { 59 59 struct stb0899_internal *internal = &state->internal; 60 60 u8 sfr[3]; ··· 763 763 stb0899_write_s2reg(state, STB0899_S2DEMOD, STB0899_BASE_CSM_CNTRL1, STB0899_OFF0_CSM_CNTRL1, reg); 764 764 } 765 765 766 - long Log2Int(int number) 766 + static long Log2Int(int number) 767 767 { 768 768 int i; 769 769
+3 -3
drivers/media/dvb/frontends/stb0899_drv.c
··· 134 134 }; 135 135 136 136 /* DVB-S2 Es/N0 quant in dB/100 vs read value * 100*/ 137 - struct stb0899_tab stb0899_quant_tab[] = { 137 + static struct stb0899_tab stb0899_quant_tab[] = { 138 138 { 0, 0 }, 139 139 { 0, 100 }, 140 140 { 600, 200 }, ··· 177 177 }; 178 178 179 179 /* DVB-S2 Es/N0 estimate in dB/100 vs read value */ 180 - struct stb0899_tab stb0899_est_tab[] = { 180 + static struct stb0899_tab stb0899_est_tab[] = { 181 181 { 0, 0 }, 182 182 { 0, 1 }, 183 183 { 301, 2 }, ··· 217 217 { 5721, 526017 }, 218 218 }; 219 219 220 - int _stb0899_read_reg(struct stb0899_state *state, unsigned int reg) 220 + static int _stb0899_read_reg(struct stb0899_state *state, unsigned int reg) 221 221 { 222 222 int ret; 223 223
+1 -1
drivers/media/dvb/ttpci/budget-ci.c
··· 1337 1337 .tuner_set_rfsiggain = NULL 1338 1338 }; 1339 1339 1340 - struct stb6100_config tt3200_stb6100_config = { 1340 + static struct stb6100_config tt3200_stb6100_config = { 1341 1341 .tuner_address = 0x60, 1342 1342 .refclock = 27000000, 1343 1343 };
+5
drivers/media/video/cx88/Kconfig
··· 69 69 To compile this driver as a module, choose M here: the 70 70 module will be called cx88-dvb. 71 71 72 + config VIDEO_CX88_MPEG 73 + tristate 74 + depends on VIDEO_CX88_DVB || VIDEO_CX88_BLACKBIRD 75 + default y 76 + 72 77 config VIDEO_CX88_VP3054 73 78 tristate "VP-3054 Secondary I2C Bus Support" 74 79 default m
+2 -1
drivers/media/video/cx88/Makefile
··· 3 3 cx8800-objs := cx88-video.o cx88-vbi.o 4 4 cx8802-objs := cx88-mpeg.o 5 5 6 - obj-$(CONFIG_VIDEO_CX88) += cx88xx.o cx8800.o cx8802.o 6 + obj-$(CONFIG_VIDEO_CX88) += cx88xx.o cx8800.o 7 + obj-$(CONFIG_VIDEO_CX88_MPEG) += cx8802.o 7 8 obj-$(CONFIG_VIDEO_CX88_ALSA) += cx88-alsa.o 8 9 obj-$(CONFIG_VIDEO_CX88_BLACKBIRD) += cx88-blackbird.o 9 10 obj-$(CONFIG_VIDEO_CX88_DVB) += cx88-dvb.o
+46
drivers/media/video/cx88/cx88-dvb.c
··· 138 138 return ret; 139 139 } 140 140 141 + static void cx88_dvb_gate_ctrl(struct cx88_core *core, int open) 142 + { 143 + struct videobuf_dvb_frontends *f; 144 + struct videobuf_dvb_frontend *fe; 145 + 146 + if (!core->dvbdev) 147 + return; 148 + 149 + f = &core->dvbdev->frontends; 150 + 151 + if (!f) 152 + return; 153 + 154 + if (f->gate <= 1) /* undefined or fe0 */ 155 + fe = videobuf_dvb_get_frontend(f, 1); 156 + else 157 + fe = videobuf_dvb_get_frontend(f, f->gate); 158 + 159 + if (fe && fe->dvb.frontend && fe->dvb.frontend->ops.i2c_gate_ctrl) 160 + fe->dvb.frontend->ops.i2c_gate_ctrl(fe->dvb.frontend, open); 161 + } 162 + 141 163 /* ------------------------------------------------------------------ */ 142 164 143 165 static int dvico_fusionhdtv_demod_init(struct dvb_frontend* fe) ··· 619 597 struct cx88_core *core = dev->core; 620 598 struct videobuf_dvb_frontend *fe0, *fe1 = NULL; 621 599 int mfe_shared = 0; /* bus not shared by default */ 600 + int i; 622 601 623 602 if (0 != core->i2c_rc) { 624 603 printk(KERN_ERR "%s/2: no i2c-bus available, cannot attach dvb drivers\n", core->name); 625 604 goto frontend_detach; 605 + } 606 + 607 + if (!core->board.num_frontends) 608 + return -EINVAL; 609 + 610 + mutex_init(&dev->frontends.lock); 611 + INIT_LIST_HEAD(&dev->frontends.felist); 612 + 613 + printk(KERN_INFO "%s() allocating %d frontend(s)\n", __func__, 614 + core->board.num_frontends); 615 + for (i = 1; i <= core->board.num_frontends; i++) { 616 + fe0 = videobuf_dvb_alloc_frontend(&dev->frontends, i); 617 + if (!fe0) { 618 + printk(KERN_ERR "%s() failed to alloc\n", __func__); 619 + videobuf_dvb_dealloc_frontends(&dev->frontends); 620 + goto frontend_detach; 621 + } 626 622 } 627 623 628 624 /* Get the first frontend */ ··· 650 610 651 611 /* multi-frontend gate control is undefined or defaults to fe0 */ 652 612 dev->frontends.gate = 0; 613 + 614 + /* Sets the gate control callback to be used by i2c command calls */ 615 + core->gate_ctrl = cx88_dvb_gate_ctrl; 653 616 654 617 /* init frontend(s) */ 655 618 switch (core->boardnr) { ··· 1152 1109 &dev->pci->dev, adapter_nr, mfe_shared); 1153 1110 1154 1111 frontend_detach: 1112 + core->gate_ctrl = NULL; 1155 1113 videobuf_dvb_dealloc_frontends(&dev->frontends); 1156 1114 return -EINVAL; 1157 1115 } ··· 1313 1269 videobuf_dvb_unregister_bus(&dev->frontends); 1314 1270 1315 1271 vp3054_i2c_remove(dev); 1272 + 1273 + core->gate_ctrl = NULL; 1316 1274 1317 1275 return 0; 1318 1276 }
+5 -19
drivers/media/video/cx88/cx88-i2c.c
··· 116 116 117 117 void cx88_call_i2c_clients(struct cx88_core *core, unsigned int cmd, void *arg) 118 118 { 119 - #if defined(CONFIG_VIDEO_CX88_DVB) || defined(CONFIG_VIDEO_CX88_DVB_MODULE) 120 - struct videobuf_dvb_frontends *f = &core->dvbdev->frontends; 121 - struct videobuf_dvb_frontend *fe = NULL; 122 - #endif 123 119 if (0 != core->i2c_rc) 124 120 return; 125 121 126 - #if defined(CONFIG_VIDEO_CX88_DVB) || defined(CONFIG_VIDEO_CX88_DVB_MODULE) 127 - if (core->dvbdev && f) { 128 - if(f->gate <= 1) /* undefined or fe0 */ 129 - fe = videobuf_dvb_get_frontend(f, 1); 130 - else 131 - fe = videobuf_dvb_get_frontend(f, f->gate); 122 + if (core->gate_ctrl) 123 + core->gate_ctrl(core, 1); 132 124 133 - if (fe && fe->dvb.frontend && fe->dvb.frontend->ops.i2c_gate_ctrl) 134 - fe->dvb.frontend->ops.i2c_gate_ctrl(fe->dvb.frontend, 1); 125 + i2c_clients_command(&core->i2c_adap, cmd, arg); 135 126 136 - i2c_clients_command(&core->i2c_adap, cmd, arg); 137 - 138 - if (fe && fe->dvb.frontend && fe->dvb.frontend->ops.i2c_gate_ctrl) 139 - fe->dvb.frontend->ops.i2c_gate_ctrl(fe->dvb.frontend, 0); 140 - } else 141 - #endif 142 - i2c_clients_command(&core->i2c_adap, cmd, arg); 127 + if (core->gate_ctrl) 128 + core->gate_ctrl(core, 0); 143 129 } 144 130 145 131 static const struct i2c_algo_bit_data cx8800_i2c_algo_template = {
+4 -26
drivers/media/video/cx88/cx88-mpeg.c
··· 787 787 dev->pci = pci_dev; 788 788 dev->core = core; 789 789 790 + /* Maintain a reference so cx88-video can query the 8802 device. */ 791 + core->dvbdev = dev; 792 + 790 793 err = cx8802_init_common(dev); 791 794 if (err != 0) 792 795 goto fail_free; 793 796 794 797 INIT_LIST_HEAD(&dev->drvlist); 795 798 list_add_tail(&dev->devlist,&cx8802_devlist); 796 - 797 - #if defined(CONFIG_VIDEO_CX88_DVB) || defined(CONFIG_VIDEO_CX88_DVB_MODULE) 798 - mutex_init(&dev->frontends.lock); 799 - INIT_LIST_HEAD(&dev->frontends.felist); 800 - 801 - if (core->board.num_frontends) { 802 - struct videobuf_dvb_frontend *fe; 803 - int i; 804 - 805 - printk(KERN_INFO "%s() allocating %d frontend(s)\n", __func__, 806 - core->board.num_frontends); 807 - for (i = 1; i <= core->board.num_frontends; i++) { 808 - fe = videobuf_dvb_alloc_frontend(&dev->frontends, i); 809 - if(fe == NULL) { 810 - printk(KERN_ERR "%s() failed to alloc\n", 811 - __func__); 812 - videobuf_dvb_dealloc_frontends(&dev->frontends); 813 - err = -ENOMEM; 814 - goto fail_free; 815 - } 816 - } 817 - } 818 - #endif 819 - 820 - /* Maintain a reference so cx88-video can query the 8802 device. */ 821 - core->dvbdev = dev; 822 799 823 800 /* now autoload cx88-dvb or cx88-blackbird */ 824 801 request_modules(dev); ··· 804 827 fail_free: 805 828 kfree(dev); 806 829 fail_core: 830 + core->dvbdev = NULL; 807 831 cx88_core_put(core,pci_dev); 808 832 return err; 809 833 }
+3 -1
drivers/media/video/cx88/cx88.h
··· 302 302 struct btcx_riscmem stopper; 303 303 u32 count; 304 304 }; 305 + struct cx88_core; 305 306 306 307 struct cx88_core { 307 308 struct list_head devlist; ··· 335 334 336 335 /* config info -- dvb */ 337 336 #if defined(CONFIG_VIDEO_CX88_DVB) || defined(CONFIG_VIDEO_CX88_DVB_MODULE) 338 - int (*prev_set_voltage)(struct dvb_frontend* fe, fe_sec_voltage_t voltage); 337 + int (*prev_set_voltage)(struct dvb_frontend *fe, fe_sec_voltage_t voltage); 338 + void (*gate_ctrl)(struct cx88_core *core, int open); 339 339 #endif 340 340 341 341 /* state info */
+2 -3
drivers/media/video/em28xx/em28xx-cards.c
··· 1842 1842 * em28xx_init_dev() 1843 1843 * allocates and inits the device structs, registers i2c bus and v4l device 1844 1844 */ 1845 - int em28xx_init_dev(struct em28xx **devhandle, struct usb_device *udev, 1845 + static int em28xx_init_dev(struct em28xx **devhandle, struct usb_device *udev, 1846 1846 int minor) 1847 1847 { 1848 1848 struct em28xx *dev = *devhandle; ··· 1990 1990 int check_interface = 1; 1991 1991 isoc_pipe = 1; 1992 1992 endpoint = &interface->cur_altsetting->endpoint[1].desc; 1993 - if (usb_endpoint_type(endpoint) != 1994 - USB_ENDPOINT_XFER_ISOC) 1993 + if (!usb_endpoint_xfer_isoc(endpoint)) 1995 1994 check_interface = 0; 1996 1995 1997 1996 if (usb_endpoint_dir_out(endpoint))
+1 -1
drivers/media/video/em28xx/em28xx-core.c
··· 393 393 return ret; 394 394 } 395 395 396 - struct em28xx_vol_table outputs[] = { 396 + static const struct em28xx_vol_table outputs[] = { 397 397 { EM28XX_AOUT_MASTER, AC97_MASTER_VOL }, 398 398 { EM28XX_AOUT_LINE, AC97_LINE_LEVEL_VOL }, 399 399 { EM28XX_AOUT_MONO, AC97_MASTER_MONO_VOL },
+1 -1
drivers/media/video/em28xx/em28xx-input.c
··· 307 307 mod_timer(&ir->timer, jiffies + msecs_to_jiffies(ir->polling)); 308 308 } 309 309 310 - void em28xx_ir_start(struct em28xx_IR *ir) 310 + static void em28xx_ir_start(struct em28xx_IR *ir) 311 311 { 312 312 setup_timer(&ir->timer, ir_timer, (unsigned long)ir); 313 313 INIT_WORK(&ir->work, em28xx_ir_work);
+1 -1
drivers/media/video/gspca/m5602/m5602_s5k83a.c
··· 113 113 return 0; 114 114 } 115 115 116 - void s5k83a_dump_registers(struct sd *sd) 116 + static void s5k83a_dump_registers(struct sd *sd) 117 117 { 118 118 int address; 119 119 u8 page, old_page;
+1 -3
drivers/media/video/pxa_camera.c
··· 34 34 35 35 #include <linux/videodev2.h> 36 36 37 - #include <asm/dma.h> 37 + #include <mach/dma.h> 38 38 #include <mach/pxa-regs.h> 39 39 #include <mach/camera.h> 40 - 41 - #include "pxa_camera.h" 42 40 43 41 #define PXA_CAM_VERSION_CODE KERNEL_VERSION(0, 0, 5) 44 42 #define PXA_CAM_DRV_NAME "pxa27x-camera"
-95
drivers/media/video/pxa_camera.h
··· 1 - /* Camera Interface */ 2 - #define CICR0 __REG(0x50000000) 3 - #define CICR1 __REG(0x50000004) 4 - #define CICR2 __REG(0x50000008) 5 - #define CICR3 __REG(0x5000000C) 6 - #define CICR4 __REG(0x50000010) 7 - #define CISR __REG(0x50000014) 8 - #define CIFR __REG(0x50000018) 9 - #define CITOR __REG(0x5000001C) 10 - #define CIBR0 __REG(0x50000028) 11 - #define CIBR1 __REG(0x50000030) 12 - #define CIBR2 __REG(0x50000038) 13 - 14 - #define CICR0_DMAEN (1 << 31) /* DMA request enable */ 15 - #define CICR0_PAR_EN (1 << 30) /* Parity enable */ 16 - #define CICR0_SL_CAP_EN (1 << 29) /* Capture enable for slave mode */ 17 - #define CICR0_ENB (1 << 28) /* Camera interface enable */ 18 - #define CICR0_DIS (1 << 27) /* Camera interface disable */ 19 - #define CICR0_SIM (0x7 << 24) /* Sensor interface mode mask */ 20 - #define CICR0_TOM (1 << 9) /* Time-out mask */ 21 - #define CICR0_RDAVM (1 << 8) /* Receive-data-available mask */ 22 - #define CICR0_FEM (1 << 7) /* FIFO-empty mask */ 23 - #define CICR0_EOLM (1 << 6) /* End-of-line mask */ 24 - #define CICR0_PERRM (1 << 5) /* Parity-error mask */ 25 - #define CICR0_QDM (1 << 4) /* Quick-disable mask */ 26 - #define CICR0_CDM (1 << 3) /* Disable-done mask */ 27 - #define CICR0_SOFM (1 << 2) /* Start-of-frame mask */ 28 - #define CICR0_EOFM (1 << 1) /* End-of-frame mask */ 29 - #define CICR0_FOM (1 << 0) /* FIFO-overrun mask */ 30 - 31 - #define CICR1_TBIT (1 << 31) /* Transparency bit */ 32 - #define CICR1_RGBT_CONV (0x3 << 29) /* RGBT conversion mask */ 33 - #define CICR1_PPL (0x7ff << 15) /* Pixels per line mask */ 34 - #define CICR1_RGB_CONV (0x7 << 12) /* RGB conversion mask */ 35 - #define CICR1_RGB_F (1 << 11) /* RGB format */ 36 - #define CICR1_YCBCR_F (1 << 10) /* YCbCr format */ 37 - #define CICR1_RGB_BPP (0x7 << 7) /* RGB bis per pixel mask */ 38 - #define CICR1_RAW_BPP (0x3 << 5) /* Raw bis per pixel mask */ 39 - #define CICR1_COLOR_SP (0x3 << 3) /* Color space mask */ 40 - #define CICR1_DW (0x7 << 0) /* Data width mask */ 41 - 42 - #define CICR2_BLW (0xff << 24) /* Beginning-of-line pixel clock 43 - wait count mask */ 44 - #define CICR2_ELW (0xff << 16) /* End-of-line pixel clock 45 - wait count mask */ 46 - #define CICR2_HSW (0x3f << 10) /* Horizontal sync pulse width mask */ 47 - #define CICR2_BFPW (0x3f << 3) /* Beginning-of-frame pixel clock 48 - wait count mask */ 49 - #define CICR2_FSW (0x7 << 0) /* Frame stabilization 50 - wait count mask */ 51 - 52 - #define CICR3_BFW (0xff << 24) /* Beginning-of-frame line clock 53 - wait count mask */ 54 - #define CICR3_EFW (0xff << 16) /* End-of-frame line clock 55 - wait count mask */ 56 - #define CICR3_VSW (0x3f << 10) /* Vertical sync pulse width mask */ 57 - #define CICR3_BFPW (0x3f << 3) /* Beginning-of-frame pixel clock 58 - wait count mask */ 59 - #define CICR3_LPF (0x7ff << 0) /* Lines per frame mask */ 60 - 61 - #define CICR4_MCLK_DLY (0x3 << 24) /* MCLK Data Capture Delay mask */ 62 - #define CICR4_PCLK_EN (1 << 23) /* Pixel clock enable */ 63 - #define CICR4_PCP (1 << 22) /* Pixel clock polarity */ 64 - #define CICR4_HSP (1 << 21) /* Horizontal sync polarity */ 65 - #define CICR4_VSP (1 << 20) /* Vertical sync polarity */ 66 - #define CICR4_MCLK_EN (1 << 19) /* MCLK enable */ 67 - #define CICR4_FR_RATE (0x7 << 8) /* Frame rate mask */ 68 - #define CICR4_DIV (0xff << 0) /* Clock divisor mask */ 69 - 70 - #define CISR_FTO (1 << 15) /* FIFO time-out */ 71 - #define CISR_RDAV_2 (1 << 14) /* Channel 2 receive data available */ 72 - #define CISR_RDAV_1 (1 << 13) /* Channel 1 receive data available */ 73 - #define CISR_RDAV_0 (1 << 12) /* Channel 0 receive data available */ 74 - #define CISR_FEMPTY_2 (1 << 11) /* Channel 2 FIFO empty */ 75 - #define CISR_FEMPTY_1 (1 << 10) /* Channel 1 FIFO empty */ 76 - #define CISR_FEMPTY_0 (1 << 9) /* Channel 0 FIFO empty */ 77 - #define CISR_EOL (1 << 8) /* End of line */ 78 - #define CISR_PAR_ERR (1 << 7) /* Parity error */ 79 - #define CISR_CQD (1 << 6) /* Camera interface quick disable */ 80 - #define CISR_CDD (1 << 5) /* Camera interface disable done */ 81 - #define CISR_SOF (1 << 4) /* Start of frame */ 82 - #define CISR_EOF (1 << 3) /* End of frame */ 83 - #define CISR_IFO_2 (1 << 2) /* FIFO overrun for Channel 2 */ 84 - #define CISR_IFO_1 (1 << 1) /* FIFO overrun for Channel 1 */ 85 - #define CISR_IFO_0 (1 << 0) /* FIFO overrun for Channel 0 */ 86 - 87 - #define CIFR_FLVL2 (0x7f << 23) /* FIFO 2 level mask */ 88 - #define CIFR_FLVL1 (0x7f << 16) /* FIFO 1 level mask */ 89 - #define CIFR_FLVL0 (0xff << 8) /* FIFO 0 level mask */ 90 - #define CIFR_THL_0 (0x3 << 4) /* Threshold Level for Channel 0 FIFO */ 91 - #define CIFR_RESET_F (1 << 3) /* Reset input FIFOs */ 92 - #define CIFR_FEN2 (1 << 2) /* FIFO enable for channel 2 */ 93 - #define CIFR_FEN1 (1 << 1) /* FIFO enable for channel 1 */ 94 - #define CIFR_FEN0 (1 << 0) /* FIFO enable for channel 0 */ 95 -
+1 -1
drivers/media/video/usbvideo/ibmcam.c
··· 3779 3779 err("Alternate settings have different endpoint addresses!"); 3780 3780 return -ENODEV; 3781 3781 } 3782 - if (usb_endpoint_type(endpoint) != USB_ENDPOINT_XFER_ISOC) { 3782 + if (!usb_endpoint_xfer_isoc(endpoint)) { 3783 3783 err("Interface %d. has non-ISO endpoint!", ifnum); 3784 3784 return -ENODEV; 3785 3785 }
+1 -1
drivers/media/video/usbvideo/konicawc.c
··· 823 823 err("Alternate settings have different endpoint addresses!"); 824 824 return -ENODEV; 825 825 } 826 - if (usb_endpoint_type(endpoint) != USB_ENDPOINT_XFER_ISOC) { 826 + if (!usb_endpoint_xfer_isoc(endpoint)) { 827 827 err("Interface %d. has non-ISO endpoint!", 828 828 interface->desc.bInterfaceNumber); 829 829 return -ENODEV;
+1 -1
drivers/media/video/usbvideo/ultracam.c
··· 556 556 err("Alternate settings have different endpoint addresses!"); 557 557 return -ENODEV; 558 558 } 559 - if (usb_endpoint_type(endpoint) != USB_ENDPOINT_XFER_ISOC) { 559 + if (!usb_endpoint_xfer_isoc(endpoint)) { 560 560 err("Interface %d. has non-ISO endpoint!", 561 561 interface->desc.bInterfaceNumber); 562 562 return -ENODEV;
+1 -2
drivers/media/video/usbvision/usbvision-video.c
··· 1674 1674 interface = &dev->actconfig->interface[ifnum]->altsetting[0]; 1675 1675 } 1676 1676 endpoint = &interface->endpoint[1].desc; 1677 - if (usb_endpoint_type(endpoint) != 1678 - USB_ENDPOINT_XFER_ISOC) { 1677 + if (!usb_endpoint_xfer_isoc(endpoint)) { 1679 1678 err("%s: interface %d. has non-ISO endpoint!", 1680 1679 __func__, ifnum); 1681 1680 err("%s: Endpoint attributes %d",
+2 -2
drivers/media/video/v4l2-device.c
··· 29 29 if (dev == NULL || v4l2_dev == NULL) 30 30 return -EINVAL; 31 31 /* Warn if we apparently re-register a device */ 32 - WARN_ON(dev_get_drvdata(dev)); 32 + WARN_ON(dev_get_drvdata(dev) != NULL); 33 33 INIT_LIST_HEAD(&v4l2_dev->subdevs); 34 34 spin_lock_init(&v4l2_dev->lock); 35 35 v4l2_dev->dev = dev; ··· 61 61 if (dev == NULL || sd == NULL || !sd->name[0]) 62 62 return -EINVAL; 63 63 /* Warn if we apparently re-register a subdev */ 64 - WARN_ON(sd->dev); 64 + WARN_ON(sd->dev != NULL); 65 65 if (!try_module_get(sd->owner)) 66 66 return -ENODEV; 67 67 sd->dev = dev;
+1 -2
drivers/media/video/videobuf-dma-sg.c
··· 388 388 page = alloc_page(GFP_USER | __GFP_DMA32); 389 389 if (!page) 390 390 return VM_FAULT_OOM; 391 - clear_user_page(page_address(page), (unsigned long)vmf->virtual_address, 392 - page); 391 + clear_user_highpage(page, (unsigned long)vmf->virtual_address); 393 392 vmf->page = page; 394 393 return 0; 395 394 }
+1 -2
drivers/staging/go7007/go7007-v4l2.c
··· 1712 1712 page = alloc_page(GFP_USER | __GFP_DMA32); 1713 1713 if (!page) 1714 1714 return VM_FAULT_OOM; 1715 - clear_user_page(page_address(page), (unsigned long)vmf->virtual_address, 1716 - page); 1715 + clear_user_highpage(page, (unsigned long)vmf->virtual_address); 1717 1716 vmf->page = page; 1718 1717 return 0; 1719 1718 }