diff options
Diffstat (limited to 'drivers/media/video')
28 files changed, 216 insertions, 242 deletions
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig index cc4a723e24db..fc87efc5049c 100644 --- a/drivers/media/video/Kconfig +++ b/drivers/media/video/Kconfig | |||
@@ -188,7 +188,7 @@ config VIDEO_ZORAN | |||
188 | 188 | ||
189 | To compile this driver as a module, choose M here: the | 189 | To compile this driver as a module, choose M here: the |
190 | module will be called zr36067. | 190 | module will be called zr36067. |
191 | 191 | ||
192 | config VIDEO_ZORAN_BUZ | 192 | config VIDEO_ZORAN_BUZ |
193 | tristate "Iomega Buz support" | 193 | tristate "Iomega Buz support" |
194 | depends on VIDEO_ZORAN | 194 | depends on VIDEO_ZORAN |
@@ -204,8 +204,8 @@ config VIDEO_ZORAN_DC10 | |||
204 | 204 | ||
205 | config VIDEO_ZORAN_DC30 | 205 | config VIDEO_ZORAN_DC30 |
206 | tristate "Pinnacle/Miro DC30(+) support" | 206 | tristate "Pinnacle/Miro DC30(+) support" |
207 | depends on VIDEO_ZORAN | 207 | depends on VIDEO_ZORAN |
208 | help | 208 | help |
209 | Support for the Pinnacle/Miro DC30(+) MJPEG capture/playback | 209 | Support for the Pinnacle/Miro DC30(+) MJPEG capture/playback |
210 | card. This also supports really old DC10 cards based on the | 210 | card. This also supports really old DC10 cards based on the |
211 | zr36050 MJPEG codec and zr36016 VFE. | 211 | zr36050 MJPEG codec and zr36016 VFE. |
@@ -260,7 +260,7 @@ config VIDEO_MXB | |||
260 | ---help--- | 260 | ---help--- |
261 | This is a video4linux driver for the 'Multimedia eXtension Board' | 261 | This is a video4linux driver for the 'Multimedia eXtension Board' |
262 | TV card by Siemens-Nixdorf. | 262 | TV card by Siemens-Nixdorf. |
263 | 263 | ||
264 | To compile this driver as a module, choose M here: the | 264 | To compile this driver as a module, choose M here: the |
265 | module will be called mxb. | 265 | module will be called mxb. |
266 | 266 | ||
@@ -274,7 +274,7 @@ config VIDEO_DPC | |||
274 | for SAA7146 bases boards, so if you have some unsupported | 274 | for SAA7146 bases boards, so if you have some unsupported |
275 | saa7146 based, analog video card, chances are good that it | 275 | saa7146 based, analog video card, chances are good that it |
276 | will work with this skeleton driver. | 276 | will work with this skeleton driver. |
277 | 277 | ||
278 | To compile this driver as a module, choose M here: the | 278 | To compile this driver as a module, choose M here: the |
279 | module will be called dpc7146. | 279 | module will be called dpc7146. |
280 | 280 | ||
@@ -285,7 +285,7 @@ config VIDEO_HEXIUM_ORION | |||
285 | ---help--- | 285 | ---help--- |
286 | This is a video4linux driver for the Hexium HV-PCI6 and | 286 | This is a video4linux driver for the Hexium HV-PCI6 and |
287 | Orion frame grabber cards by Hexium. | 287 | Orion frame grabber cards by Hexium. |
288 | 288 | ||
289 | To compile this driver as a module, choose M here: the | 289 | To compile this driver as a module, choose M here: the |
290 | module will be called hexium_orion. | 290 | module will be called hexium_orion. |
291 | 291 | ||
@@ -297,7 +297,7 @@ config VIDEO_HEXIUM_GEMINI | |||
297 | This is a video4linux driver for the Hexium Gemini frame | 297 | This is a video4linux driver for the Hexium Gemini frame |
298 | grabber card by Hexium. Please note that the Gemini Dual | 298 | grabber card by Hexium. Please note that the Gemini Dual |
299 | card is *not* fully supported. | 299 | card is *not* fully supported. |
300 | 300 | ||
301 | To compile this driver as a module, choose M here: the | 301 | To compile this driver as a module, choose M here: the |
302 | module will be called hexium_gemini. | 302 | module will be called hexium_gemini. |
303 | 303 | ||
diff --git a/drivers/media/video/bt832.c b/drivers/media/video/bt832.c index e4063950ae57..3ca1d768bfd3 100644 --- a/drivers/media/video/bt832.c +++ b/drivers/media/video/bt832.c | |||
@@ -231,18 +231,18 @@ bt832_command(struct i2c_client *client, unsigned int cmd, void *arg) | |||
231 | 231 | ||
232 | static struct i2c_driver driver = { | 232 | static struct i2c_driver driver = { |
233 | .owner = THIS_MODULE, | 233 | .owner = THIS_MODULE, |
234 | .name = "i2c bt832 driver", | 234 | .name = "i2c bt832 driver", |
235 | .id = -1, /* FIXME */ | 235 | .id = -1, /* FIXME */ |
236 | .flags = I2C_DF_NOTIFY, | 236 | .flags = I2C_DF_NOTIFY, |
237 | .attach_adapter = bt832_probe, | 237 | .attach_adapter = bt832_probe, |
238 | .detach_client = bt832_detach, | 238 | .detach_client = bt832_detach, |
239 | .command = bt832_command, | 239 | .command = bt832_command, |
240 | }; | 240 | }; |
241 | static struct i2c_client client_template = | 241 | static struct i2c_client client_template = |
242 | { | 242 | { |
243 | .name = "bt832", | 243 | .name = "bt832", |
244 | .flags = I2C_CLIENT_ALLOW_USE, | 244 | .flags = I2C_CLIENT_ALLOW_USE, |
245 | .driver = &driver, | 245 | .driver = &driver, |
246 | }; | 246 | }; |
247 | 247 | ||
248 | 248 | ||
diff --git a/drivers/media/video/bttv-driver.c b/drivers/media/video/bttv-driver.c index 3c58a2a68906..1ddf9ba613ef 100644 --- a/drivers/media/video/bttv-driver.c +++ b/drivers/media/video/bttv-driver.c | |||
@@ -727,71 +727,71 @@ void free_btres(struct bttv *btv, struct bttv_fh *fh, int bits) | |||
727 | 727 | ||
728 | static void set_pll_freq(struct bttv *btv, unsigned int fin, unsigned int fout) | 728 | static void set_pll_freq(struct bttv *btv, unsigned int fin, unsigned int fout) |
729 | { | 729 | { |
730 | unsigned char fl, fh, fi; | 730 | unsigned char fl, fh, fi; |
731 | 731 | ||
732 | /* prevent overflows */ | 732 | /* prevent overflows */ |
733 | fin/=4; | 733 | fin/=4; |
734 | fout/=4; | 734 | fout/=4; |
735 | 735 | ||
736 | fout*=12; | 736 | fout*=12; |
737 | fi=fout/fin; | 737 | fi=fout/fin; |
738 | 738 | ||
739 | fout=(fout%fin)*256; | 739 | fout=(fout%fin)*256; |
740 | fh=fout/fin; | 740 | fh=fout/fin; |
741 | 741 | ||
742 | fout=(fout%fin)*256; | 742 | fout=(fout%fin)*256; |
743 | fl=fout/fin; | 743 | fl=fout/fin; |
744 | 744 | ||
745 | btwrite(fl, BT848_PLL_F_LO); | 745 | btwrite(fl, BT848_PLL_F_LO); |
746 | btwrite(fh, BT848_PLL_F_HI); | 746 | btwrite(fh, BT848_PLL_F_HI); |
747 | btwrite(fi|BT848_PLL_X, BT848_PLL_XCI); | 747 | btwrite(fi|BT848_PLL_X, BT848_PLL_XCI); |
748 | } | 748 | } |
749 | 749 | ||
750 | static void set_pll(struct bttv *btv) | 750 | static void set_pll(struct bttv *btv) |
751 | { | 751 | { |
752 | int i; | 752 | int i; |
753 | 753 | ||
754 | if (!btv->pll.pll_crystal) | 754 | if (!btv->pll.pll_crystal) |
755 | return; | 755 | return; |
756 | 756 | ||
757 | if (btv->pll.pll_ofreq == btv->pll.pll_current) { | 757 | if (btv->pll.pll_ofreq == btv->pll.pll_current) { |
758 | dprintk("bttv%d: PLL: no change required\n",btv->c.nr); | 758 | dprintk("bttv%d: PLL: no change required\n",btv->c.nr); |
759 | return; | 759 | return; |
760 | } | 760 | } |
761 | 761 | ||
762 | if (btv->pll.pll_ifreq == btv->pll.pll_ofreq) { | 762 | if (btv->pll.pll_ifreq == btv->pll.pll_ofreq) { |
763 | /* no PLL needed */ | 763 | /* no PLL needed */ |
764 | if (btv->pll.pll_current == 0) | 764 | if (btv->pll.pll_current == 0) |
765 | return; | 765 | return; |
766 | bttv_printk(KERN_INFO "bttv%d: PLL can sleep, using XTAL (%d).\n", | 766 | bttv_printk(KERN_INFO "bttv%d: PLL can sleep, using XTAL (%d).\n", |
767 | btv->c.nr,btv->pll.pll_ifreq); | 767 | btv->c.nr,btv->pll.pll_ifreq); |
768 | btwrite(0x00,BT848_TGCTRL); | 768 | btwrite(0x00,BT848_TGCTRL); |
769 | btwrite(0x00,BT848_PLL_XCI); | 769 | btwrite(0x00,BT848_PLL_XCI); |
770 | btv->pll.pll_current = 0; | 770 | btv->pll.pll_current = 0; |
771 | return; | 771 | return; |
772 | } | 772 | } |
773 | 773 | ||
774 | bttv_printk(KERN_INFO "bttv%d: PLL: %d => %d ",btv->c.nr, | 774 | bttv_printk(KERN_INFO "bttv%d: PLL: %d => %d ",btv->c.nr, |
775 | btv->pll.pll_ifreq, btv->pll.pll_ofreq); | 775 | btv->pll.pll_ifreq, btv->pll.pll_ofreq); |
776 | set_pll_freq(btv, btv->pll.pll_ifreq, btv->pll.pll_ofreq); | 776 | set_pll_freq(btv, btv->pll.pll_ifreq, btv->pll.pll_ofreq); |
777 | 777 | ||
778 | for (i=0; i<10; i++) { | 778 | for (i=0; i<10; i++) { |
779 | /* Let other people run while the PLL stabilizes */ | 779 | /* Let other people run while the PLL stabilizes */ |
780 | bttv_printk("."); | 780 | bttv_printk("."); |
781 | msleep(10); | 781 | msleep(10); |
782 | 782 | ||
783 | if (btread(BT848_DSTATUS) & BT848_DSTATUS_PLOCK) { | 783 | if (btread(BT848_DSTATUS) & BT848_DSTATUS_PLOCK) { |
784 | btwrite(0,BT848_DSTATUS); | 784 | btwrite(0,BT848_DSTATUS); |
785 | } else { | 785 | } else { |
786 | btwrite(0x08,BT848_TGCTRL); | 786 | btwrite(0x08,BT848_TGCTRL); |
787 | btv->pll.pll_current = btv->pll.pll_ofreq; | 787 | btv->pll.pll_current = btv->pll.pll_ofreq; |
788 | bttv_printk(" ok\n"); | 788 | bttv_printk(" ok\n"); |
789 | return; | 789 | return; |
790 | } | 790 | } |
791 | } | 791 | } |
792 | btv->pll.pll_current = -1; | 792 | btv->pll.pll_current = -1; |
793 | bttv_printk("failed\n"); | 793 | bttv_printk("failed\n"); |
794 | return; | 794 | return; |
795 | } | 795 | } |
796 | 796 | ||
797 | /* used to switch between the bt848's analog/digital video capture modes */ | 797 | /* used to switch between the bt848's analog/digital video capture modes */ |
@@ -1964,7 +1964,7 @@ static int setup_window(struct bttv_fh *fh, struct bttv *btv, | |||
1964 | } | 1964 | } |
1965 | 1965 | ||
1966 | down(&fh->cap.lock); | 1966 | down(&fh->cap.lock); |
1967 | kfree(fh->ov.clips); | 1967 | kfree(fh->ov.clips); |
1968 | fh->ov.clips = clips; | 1968 | fh->ov.clips = clips; |
1969 | fh->ov.nclips = n; | 1969 | fh->ov.nclips = n; |
1970 | 1970 | ||
@@ -2758,7 +2758,7 @@ static int bttv_do_ioctl(struct inode *inode, struct file *file, | |||
2758 | fh->ov.w.height = fb->fmt.height; | 2758 | fh->ov.w.height = fb->fmt.height; |
2759 | btv->init.ov.w.width = fb->fmt.width; | 2759 | btv->init.ov.w.width = fb->fmt.width; |
2760 | btv->init.ov.w.height = fb->fmt.height; | 2760 | btv->init.ov.w.height = fb->fmt.height; |
2761 | kfree(fh->ov.clips); | 2761 | kfree(fh->ov.clips); |
2762 | fh->ov.clips = NULL; | 2762 | fh->ov.clips = NULL; |
2763 | fh->ov.nclips = 0; | 2763 | fh->ov.nclips = 0; |
2764 | 2764 | ||
diff --git a/drivers/media/video/bttvp.h b/drivers/media/video/bttvp.h index 3aa9c6e4fc33..1e6a5632c3c7 100644 --- a/drivers/media/video/bttvp.h +++ b/drivers/media/video/bttvp.h | |||
@@ -45,6 +45,7 @@ | |||
45 | #include <media/tveeprom.h> | 45 | #include <media/tveeprom.h> |
46 | #include <media/ir-common.h> | 46 | #include <media/ir-common.h> |
47 | 47 | ||
48 | |||
48 | #include "bt848.h" | 49 | #include "bt848.h" |
49 | #include "bttv.h" | 50 | #include "bttv.h" |
50 | #include "btcx-risc.h" | 51 | #include "btcx-risc.h" |
diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c index aea3f038cff6..5b93723a1768 100644 --- a/drivers/media/video/cx25840/cx25840-core.c +++ b/drivers/media/video/cx25840/cx25840-core.c | |||
@@ -333,24 +333,30 @@ static int set_input(struct i2c_client *client, enum cx25840_input input) | |||
333 | 333 | ||
334 | static int set_v4lstd(struct i2c_client *client, v4l2_std_id std) | 334 | static int set_v4lstd(struct i2c_client *client, v4l2_std_id std) |
335 | { | 335 | { |
336 | u8 fmt; | 336 | u8 fmt=0; /* zero is autodetect */ |
337 | 337 | ||
338 | switch (std) { | 338 | /* First tests should be against specific std */ |
339 | /* zero is autodetect */ | 339 | if (std & V4L2_STD_NTSC_M_JP) { |
340 | case 0: fmt = 0x0; break; | 340 | fmt=0x2; |
341 | /* default ntsc to ntsc-m */ | 341 | } else if (std & V4L2_STD_NTSC_443) { |
342 | case V4L2_STD_NTSC: | 342 | fmt=0x3; |
343 | case V4L2_STD_NTSC_M: fmt = 0x1; break; | 343 | } else if (std & V4L2_STD_PAL_M) { |
344 | case V4L2_STD_NTSC_M_JP: fmt = 0x2; break; | 344 | fmt=0x5; |
345 | case V4L2_STD_NTSC_443: fmt = 0x3; break; | 345 | } else if (std & V4L2_STD_PAL_N) { |
346 | case V4L2_STD_PAL: fmt = 0x4; break; | 346 | fmt=0x6; |
347 | case V4L2_STD_PAL_M: fmt = 0x5; break; | 347 | } else if (std & V4L2_STD_PAL_Nc) { |
348 | case V4L2_STD_PAL_N: fmt = 0x6; break; | 348 | fmt=0x7; |
349 | case V4L2_STD_PAL_Nc: fmt = 0x7; break; | 349 | } else if (std & V4L2_STD_PAL_60) { |
350 | case V4L2_STD_PAL_60: fmt = 0x8; break; | 350 | fmt=0x8; |
351 | case V4L2_STD_SECAM: fmt = 0xc; break; | 351 | } else { |
352 | default: | 352 | /* Then, test against generic ones */ |
353 | return -ERANGE; | 353 | if (std & V4L2_STD_NTSC) { |
354 | fmt=0x1; | ||
355 | } else if (std & V4L2_STD_PAL) { | ||
356 | fmt=0x4; | ||
357 | } else if (std & V4L2_STD_SECAM) { | ||
358 | fmt=0xc; | ||
359 | } | ||
354 | } | 360 | } |
355 | 361 | ||
356 | cx25840_and_or(client, 0x400, ~0xf, fmt); | 362 | cx25840_and_or(client, 0x400, ~0xf, fmt); |
diff --git a/drivers/media/video/cx88/cx88-blackbird.c b/drivers/media/video/cx88/cx88-blackbird.c index 4ae3f78cccf2..74e57a53116f 100644 --- a/drivers/media/video/cx88/cx88-blackbird.c +++ b/drivers/media/video/cx88/cx88-blackbird.c | |||
@@ -616,6 +616,8 @@ static int blackbird_load_firmware(struct cx8802_dev *dev) | |||
616 | 616 | ||
617 | retval = request_firmware(&firmware, BLACKBIRD_FIRM_ENC_FILENAME, | 617 | retval = request_firmware(&firmware, BLACKBIRD_FIRM_ENC_FILENAME, |
618 | &dev->pci->dev); | 618 | &dev->pci->dev); |
619 | |||
620 | |||
619 | if (retval != 0) { | 621 | if (retval != 0) { |
620 | dprintk(0, "ERROR: Hotplug firmware request failed (%s).\n", | 622 | dprintk(0, "ERROR: Hotplug firmware request failed (%s).\n", |
621 | BLACKBIRD_FIRM_ENC_FILENAME); | 623 | BLACKBIRD_FIRM_ENC_FILENAME); |
diff --git a/drivers/media/video/cx88/cx88-input.c b/drivers/media/video/cx88/cx88-input.c index 38b12ebaa49e..461019dca901 100644 --- a/drivers/media/video/cx88/cx88-input.c +++ b/drivers/media/video/cx88/cx88-input.c | |||
@@ -453,7 +453,6 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
453 | input_dev->id.product = pci->device; | 453 | input_dev->id.product = pci->device; |
454 | } | 454 | } |
455 | input_dev->cdev.dev = &pci->dev; | 455 | input_dev->cdev.dev = &pci->dev; |
456 | |||
457 | /* record handles to ourself */ | 456 | /* record handles to ourself */ |
458 | ir->core = core; | 457 | ir->core = core; |
459 | core->ir = ir; | 458 | core->ir = ir; |
@@ -586,7 +585,6 @@ void cx88_ir_irq(struct cx88_core *core) | |||
586 | MODULE_AUTHOR("Gerd Knorr, Pavel Machek, Chris Pascoe"); | 585 | MODULE_AUTHOR("Gerd Knorr, Pavel Machek, Chris Pascoe"); |
587 | MODULE_DESCRIPTION("input driver for cx88 GPIO-based IR remote controls"); | 586 | MODULE_DESCRIPTION("input driver for cx88 GPIO-based IR remote controls"); |
588 | MODULE_LICENSE("GPL"); | 587 | MODULE_LICENSE("GPL"); |
589 | |||
590 | /* | 588 | /* |
591 | * Local variables: | 589 | * Local variables: |
592 | * c-basic-offset: 8 | 590 | * c-basic-offset: 8 |
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index 27fb080fd7aa..77beafc5c327 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h | |||
@@ -411,7 +411,6 @@ struct cx8802_dev { | |||
411 | struct videobuf_dvb dvb; | 411 | struct videobuf_dvb dvb; |
412 | void* fe_handle; | 412 | void* fe_handle; |
413 | int (*fe_release)(void *handle); | 413 | int (*fe_release)(void *handle); |
414 | |||
415 | /* for switching modulation types */ | 414 | /* for switching modulation types */ |
416 | unsigned char ts_gen_cntrl; | 415 | unsigned char ts_gen_cntrl; |
417 | 416 | ||
diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c index 9f6e5e5355a1..0cfe75416ec6 100644 --- a/drivers/media/video/em28xx/em28xx-core.c +++ b/drivers/media/video/em28xx/em28xx-core.c | |||
@@ -116,47 +116,6 @@ void em28xx_print_ioctl(char *name, unsigned int cmd) | |||
116 | } | 116 | } |
117 | } | 117 | } |
118 | 118 | ||
119 | static void *rvmalloc(size_t size) | ||
120 | { | ||
121 | void *mem; | ||
122 | unsigned long adr; | ||
123 | |||
124 | size = PAGE_ALIGN(size); | ||
125 | |||
126 | mem = vmalloc_32((unsigned long)size); | ||
127 | if (!mem) | ||
128 | return NULL; | ||
129 | |||
130 | memset(mem, 0, size); | ||
131 | |||
132 | adr = (unsigned long)mem; | ||
133 | while (size > 0) { | ||
134 | SetPageReserved(vmalloc_to_page((void *)adr)); | ||
135 | adr += PAGE_SIZE; | ||
136 | size -= PAGE_SIZE; | ||
137 | } | ||
138 | |||
139 | return mem; | ||
140 | } | ||
141 | |||
142 | static void rvfree(void *mem, size_t size) | ||
143 | { | ||
144 | unsigned long adr; | ||
145 | |||
146 | if (!mem) | ||
147 | return; | ||
148 | |||
149 | size = PAGE_ALIGN(size); | ||
150 | |||
151 | adr = (unsigned long)mem; | ||
152 | while (size > 0) { | ||
153 | ClearPageReserved(vmalloc_to_page((void *)adr)); | ||
154 | adr += PAGE_SIZE; | ||
155 | size -= PAGE_SIZE; | ||
156 | } | ||
157 | |||
158 | vfree(mem); | ||
159 | } | ||
160 | 119 | ||
161 | /* | 120 | /* |
162 | * em28xx_request_buffers() | 121 | * em28xx_request_buffers() |
@@ -167,14 +126,16 @@ u32 em28xx_request_buffers(struct em28xx *dev, u32 count) | |||
167 | const size_t imagesize = PAGE_ALIGN(dev->frame_size); /*needs to be page aligned cause the buffers can be mapped individually! */ | 126 | const size_t imagesize = PAGE_ALIGN(dev->frame_size); /*needs to be page aligned cause the buffers can be mapped individually! */ |
168 | void *buff = NULL; | 127 | void *buff = NULL; |
169 | u32 i; | 128 | u32 i; |
170 | em28xx_coredbg("requested %i buffers with size %i", count, imagesize); | 129 | em28xx_coredbg("requested %i buffers with size %zd", count, imagesize); |
171 | if (count > EM28XX_NUM_FRAMES) | 130 | if (count > EM28XX_NUM_FRAMES) |
172 | count = EM28XX_NUM_FRAMES; | 131 | count = EM28XX_NUM_FRAMES; |
173 | 132 | ||
174 | dev->num_frames = count; | 133 | dev->num_frames = count; |
175 | while (dev->num_frames > 0) { | 134 | while (dev->num_frames > 0) { |
176 | if ((buff = rvmalloc(dev->num_frames * imagesize))) | 135 | if ((buff = vmalloc_32(dev->num_frames * imagesize))) { |
136 | memset(buff, 0, dev->num_frames * imagesize); | ||
177 | break; | 137 | break; |
138 | } | ||
178 | dev->num_frames--; | 139 | dev->num_frames--; |
179 | } | 140 | } |
180 | 141 | ||
@@ -217,8 +178,7 @@ void em28xx_queue_unusedframes(struct em28xx *dev) | |||
217 | void em28xx_release_buffers(struct em28xx *dev) | 178 | void em28xx_release_buffers(struct em28xx *dev) |
218 | { | 179 | { |
219 | if (dev->num_frames) { | 180 | if (dev->num_frames) { |
220 | rvfree(dev->frame[0].bufmem, | 181 | vfree(dev->frame[0].bufmem); |
221 | dev->num_frames * PAGE_ALIGN(dev->frame[0].buf.length)); | ||
222 | dev->num_frames = 0; | 182 | dev->num_frames = 0; |
223 | } | 183 | } |
224 | } | 184 | } |
diff --git a/drivers/media/video/em28xx/em28xx-i2c.c b/drivers/media/video/em28xx/em28xx-i2c.c index b32d9852f34c..7f5603054f02 100644 --- a/drivers/media/video/em28xx/em28xx-i2c.c +++ b/drivers/media/video/em28xx/em28xx-i2c.c | |||
@@ -41,7 +41,7 @@ module_param(i2c_debug, int, 0644); | |||
41 | MODULE_PARM_DESC(i2c_debug, "enable debug messages [i2c]"); | 41 | MODULE_PARM_DESC(i2c_debug, "enable debug messages [i2c]"); |
42 | 42 | ||
43 | #define dprintk1(lvl,fmt, args...) if (i2c_debug>=lvl) do {\ | 43 | #define dprintk1(lvl,fmt, args...) if (i2c_debug>=lvl) do {\ |
44 | printk(fmt , ##args); } while (0) | 44 | printk(fmt, ##args); } while (0) |
45 | #define dprintk2(lvl,fmt, args...) if (i2c_debug>=lvl) do{ \ | 45 | #define dprintk2(lvl,fmt, args...) if (i2c_debug>=lvl) do{ \ |
46 | printk(KERN_DEBUG "%s at %s: " fmt, \ | 46 | printk(KERN_DEBUG "%s at %s: " fmt, \ |
47 | dev->name, __FUNCTION__ , ##args); } while (0) | 47 | dev->name, __FUNCTION__ , ##args); } while (0) |
diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c index abec32c175aa..06d76879bde2 100644 --- a/drivers/media/video/em28xx/em28xx-video.c +++ b/drivers/media/video/em28xx/em28xx-video.c | |||
@@ -189,16 +189,6 @@ static DECLARE_RWSEM(em28xx_disconnect); | |||
189 | 189 | ||
190 | /********************* v4l2 interface ******************************************/ | 190 | /********************* v4l2 interface ******************************************/ |
191 | 191 | ||
192 | static inline unsigned long kvirt_to_pa(unsigned long adr) | ||
193 | { | ||
194 | unsigned long kva, ret; | ||
195 | |||
196 | kva = (unsigned long)page_address(vmalloc_to_page((void *)adr)); | ||
197 | kva |= adr & (PAGE_SIZE - 1); | ||
198 | ret = __pa(kva); | ||
199 | return ret; | ||
200 | } | ||
201 | |||
202 | /* | 192 | /* |
203 | * em28xx_config() | 193 | * em28xx_config() |
204 | * inits registers with sane defaults | 194 | * inits registers with sane defaults |
@@ -616,7 +606,8 @@ static struct vm_operations_struct em28xx_vm_ops = { | |||
616 | static int em28xx_v4l2_mmap(struct file *filp, struct vm_area_struct *vma) | 606 | static int em28xx_v4l2_mmap(struct file *filp, struct vm_area_struct *vma) |
617 | { | 607 | { |
618 | unsigned long size = vma->vm_end - vma->vm_start, | 608 | unsigned long size = vma->vm_end - vma->vm_start, |
619 | start = vma->vm_start, pos, page; | 609 | start = vma->vm_start; |
610 | void *pos; | ||
620 | u32 i; | 611 | u32 i; |
621 | 612 | ||
622 | struct em28xx *dev = filp->private_data; | 613 | struct em28xx *dev = filp->private_data; |
@@ -657,12 +648,10 @@ static int em28xx_v4l2_mmap(struct file *filp, struct vm_area_struct *vma) | |||
657 | vma->vm_flags |= VM_IO; | 648 | vma->vm_flags |= VM_IO; |
658 | vma->vm_flags |= VM_RESERVED; /* avoid to swap out this VMA */ | 649 | vma->vm_flags |= VM_RESERVED; /* avoid to swap out this VMA */ |
659 | 650 | ||
660 | pos = (unsigned long)dev->frame[i].bufmem; | 651 | pos = dev->frame[i].bufmem; |
661 | while (size > 0) { /* size is page-aligned */ | 652 | while (size > 0) { /* size is page-aligned */ |
662 | page = vmalloc_to_pfn((void *)pos); | 653 | if (vm_insert_page(vma, start, vmalloc_to_page(pos))) { |
663 | if (remap_pfn_range(vma, start, page, PAGE_SIZE, | 654 | em28xx_videodbg("mmap: vm_insert_page failed\n"); |
664 | vma->vm_page_prot)) { | ||
665 | em28xx_videodbg("mmap: rename page map failed\n"); | ||
666 | up(&dev->fileop_lock); | 655 | up(&dev->fileop_lock); |
667 | return -EAGAIN; | 656 | return -EAGAIN; |
668 | } | 657 | } |
diff --git a/drivers/media/video/ir-kbd-gpio.c b/drivers/media/video/ir-kbd-gpio.c index 6345e29e4951..de1385e5d05e 100644 --- a/drivers/media/video/ir-kbd-gpio.c +++ b/drivers/media/video/ir-kbd-gpio.c | |||
@@ -291,13 +291,12 @@ struct IR { | |||
291 | u32 mask_keycode; | 291 | u32 mask_keycode; |
292 | u32 mask_keydown; | 292 | u32 mask_keydown; |
293 | u32 mask_keyup; | 293 | u32 mask_keyup; |
294 | u32 polling; | 294 | u32 polling; |
295 | u32 last_gpio; | 295 | u32 last_gpio; |
296 | struct work_struct work; | 296 | struct work_struct work; |
297 | struct timer_list timer; | 297 | struct timer_list timer; |
298 | 298 | ||
299 | /* RC5 gpio */ | 299 | /* RC5 gpio */ |
300 | |||
301 | u32 rc5_gpio; | 300 | u32 rc5_gpio; |
302 | struct timer_list timer_end; /* timer_end for code completion */ | 301 | struct timer_list timer_end; /* timer_end for code completion */ |
303 | struct timer_list timer_keyup; /* timer_end for key release */ | 302 | struct timer_list timer_keyup; /* timer_end for key release */ |
@@ -647,7 +646,7 @@ static int ir_probe(struct device *dev) | |||
647 | driver.any_irq = ir_rc5_irq; | 646 | driver.any_irq = ir_rc5_irq; |
648 | driver.gpio_irq = NULL; | 647 | driver.gpio_irq = NULL; |
649 | ir->rc5_gpio = 1; | 648 | ir->rc5_gpio = 1; |
650 | break; | 649 | break; |
651 | } | 650 | } |
652 | if (NULL == ir_codes) { | 651 | if (NULL == ir_codes) { |
653 | kfree(ir); | 652 | kfree(ir); |
@@ -657,7 +656,7 @@ static int ir_probe(struct device *dev) | |||
657 | 656 | ||
658 | if (ir->rc5_gpio) { | 657 | if (ir->rc5_gpio) { |
659 | u32 gpio; | 658 | u32 gpio; |
660 | /* enable remote irq */ | 659 | /* enable remote irq */ |
661 | bttv_gpio_inout(sub->core, (1 << 4), 1 << 4); | 660 | bttv_gpio_inout(sub->core, (1 << 4), 1 << 4); |
662 | gpio = bttv_gpio_read(sub->core); | 661 | gpio = bttv_gpio_read(sub->core); |
663 | bttv_gpio_write(sub->core, gpio & ~(1 << 4)); | 662 | bttv_gpio_write(sub->core, gpio & ~(1 << 4)); |
@@ -726,6 +725,7 @@ static int ir_remove(struct device *dev) | |||
726 | del_timer(&ir->timer); | 725 | del_timer(&ir->timer); |
727 | flush_scheduled_work(); | 726 | flush_scheduled_work(); |
728 | } | 727 | } |
728 | |||
729 | if (ir->rc5_gpio) { | 729 | if (ir->rc5_gpio) { |
730 | u32 gpio; | 730 | u32 gpio; |
731 | 731 | ||
diff --git a/drivers/media/video/ir-kbd-i2c.c b/drivers/media/video/ir-kbd-i2c.c index 124c502ea1f3..740e543311af 100644 --- a/drivers/media/video/ir-kbd-i2c.c +++ b/drivers/media/video/ir-kbd-i2c.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <linux/i2c.h> | 40 | #include <linux/i2c.h> |
41 | #include <linux/workqueue.h> | 41 | #include <linux/workqueue.h> |
42 | #include <asm/semaphore.h> | 42 | #include <asm/semaphore.h> |
43 | |||
43 | #include <media/ir-common.h> | 44 | #include <media/ir-common.h> |
44 | #include <media/ir-kbd-i2c.h> | 45 | #include <media/ir-kbd-i2c.h> |
45 | 46 | ||
@@ -278,7 +279,7 @@ static int ir_probe(struct i2c_adapter *adap); | |||
278 | 279 | ||
279 | static struct i2c_driver driver = { | 280 | static struct i2c_driver driver = { |
280 | .name = "ir remote kbd driver", | 281 | .name = "ir remote kbd driver", |
281 | .id = I2C_DRIVERID_I2C_IR, | 282 | .id = I2C_DRIVERID_INFRARED, |
282 | .flags = I2C_DF_NOTIFY, | 283 | .flags = I2C_DF_NOTIFY, |
283 | .attach_adapter = ir_probe, | 284 | .attach_adapter = ir_probe, |
284 | .detach_client = ir_detach, | 285 | .detach_client = ir_detach, |
@@ -296,15 +297,15 @@ static int ir_attach(struct i2c_adapter *adap, int addr, | |||
296 | IR_KEYTAB_TYPE *ir_codes = NULL; | 297 | IR_KEYTAB_TYPE *ir_codes = NULL; |
297 | char *name; | 298 | char *name; |
298 | int ir_type; | 299 | int ir_type; |
299 | struct IR_i2c *ir; | 300 | struct IR_i2c *ir; |
300 | struct input_dev *input_dev; | 301 | struct input_dev *input_dev; |
301 | 302 | ||
302 | ir = kzalloc(sizeof(struct IR_i2c), GFP_KERNEL); | 303 | ir = kzalloc(sizeof(struct IR_i2c),GFP_KERNEL); |
303 | input_dev = input_allocate_device(); | 304 | input_dev = input_allocate_device(); |
304 | if (!ir || !input_dev) { | 305 | if (!ir || !input_dev) { |
305 | kfree(ir); | 306 | kfree(ir); |
306 | input_free_device(input_dev); | 307 | input_free_device(input_dev); |
307 | return -ENOMEM; | 308 | return -ENOMEM; |
308 | } | 309 | } |
309 | 310 | ||
310 | ir->c = client_template; | 311 | ir->c = client_template; |
@@ -360,7 +361,7 @@ static int ir_attach(struct i2c_adapter *adap, int addr, | |||
360 | /* register i2c device | 361 | /* register i2c device |
361 | * At device register, IR codes may be changed to be | 362 | * At device register, IR codes may be changed to be |
362 | * board dependent. | 363 | * board dependent. |
363 | */ | 364 | */ |
364 | i2c_attach_client(&ir->c); | 365 | i2c_attach_client(&ir->c); |
365 | 366 | ||
366 | /* If IR not supported or disabled, unregisters driver */ | 367 | /* If IR not supported or disabled, unregisters driver */ |
diff --git a/drivers/media/video/msp3400.c b/drivers/media/video/msp3400.c index a23fb0338986..d86f8e92e534 100644 --- a/drivers/media/video/msp3400.c +++ b/drivers/media/video/msp3400.c | |||
@@ -134,7 +134,7 @@ struct msp3400c { | |||
134 | int rxsubchans; | 134 | int rxsubchans; |
135 | 135 | ||
136 | int muted; | 136 | int muted; |
137 | int left, right; /* volume */ | 137 | int left, right; /* volume */ |
138 | int bass, treble; | 138 | int bass, treble; |
139 | 139 | ||
140 | /* shadow register set */ | 140 | /* shadow register set */ |
@@ -882,6 +882,7 @@ static void watch_stereo(struct i2c_client *client) | |||
882 | msp->watch_stereo = 0; | 882 | msp->watch_stereo = 0; |
883 | } | 883 | } |
884 | 884 | ||
885 | |||
885 | static int msp3400c_thread(void *data) | 886 | static int msp3400c_thread(void *data) |
886 | { | 887 | { |
887 | struct i2c_client *client = data; | 888 | struct i2c_client *client = data; |
@@ -889,6 +890,7 @@ static int msp3400c_thread(void *data) | |||
889 | struct CARRIER_DETECT *cd; | 890 | struct CARRIER_DETECT *cd; |
890 | int count, max1,max2,val1,val2, val,this; | 891 | int count, max1,max2,val1,val2, val,this; |
891 | 892 | ||
893 | |||
892 | msp3400_info("msp3400 daemon started\n"); | 894 | msp3400_info("msp3400 daemon started\n"); |
893 | for (;;) { | 895 | for (;;) { |
894 | msp3400_dbg_mediumvol("msp3400 thread: sleep\n"); | 896 | msp3400_dbg_mediumvol("msp3400 thread: sleep\n"); |
@@ -1162,6 +1164,7 @@ static int msp3410d_thread(void *data) | |||
1162 | int mode,val,i,std; | 1164 | int mode,val,i,std; |
1163 | 1165 | ||
1164 | msp3400_info("msp3410 daemon started\n"); | 1166 | msp3400_info("msp3410 daemon started\n"); |
1167 | |||
1165 | for (;;) { | 1168 | for (;;) { |
1166 | msp3400_dbg_mediumvol("msp3410 thread: sleep\n"); | 1169 | msp3400_dbg_mediumvol("msp3410 thread: sleep\n"); |
1167 | msp34xx_sleep(msp,-1); | 1170 | msp34xx_sleep(msp,-1); |
@@ -1384,6 +1387,7 @@ static int msp34xxg_thread(void *data) | |||
1384 | int val, std, i; | 1387 | int val, std, i; |
1385 | 1388 | ||
1386 | msp3400_info("msp34xxg daemon started\n"); | 1389 | msp3400_info("msp34xxg daemon started\n"); |
1390 | |||
1387 | msp->source = 1; /* default */ | 1391 | msp->source = 1; /* default */ |
1388 | for (;;) { | 1392 | for (;;) { |
1389 | msp3400_dbg_mediumvol("msp34xxg thread: sleep\n"); | 1393 | msp3400_dbg_mediumvol("msp34xxg thread: sleep\n"); |
@@ -1559,11 +1563,11 @@ static void msp_wake_thread(struct i2c_client *client); | |||
1559 | static struct i2c_driver driver = { | 1563 | static struct i2c_driver driver = { |
1560 | .owner = THIS_MODULE, | 1564 | .owner = THIS_MODULE, |
1561 | .name = "msp3400", | 1565 | .name = "msp3400", |
1562 | .id = I2C_DRIVERID_MSP3400, | 1566 | .id = I2C_DRIVERID_MSP3400, |
1563 | .flags = I2C_DF_NOTIFY, | 1567 | .flags = I2C_DF_NOTIFY, |
1564 | .attach_adapter = msp_probe, | 1568 | .attach_adapter = msp_probe, |
1565 | .detach_client = msp_detach, | 1569 | .detach_client = msp_detach, |
1566 | .command = msp_command, | 1570 | .command = msp_command, |
1567 | .driver = { | 1571 | .driver = { |
1568 | .suspend = msp_suspend, | 1572 | .suspend = msp_suspend, |
1569 | .resume = msp_resume, | 1573 | .resume = msp_resume, |
@@ -1574,7 +1578,7 @@ static struct i2c_client client_template = | |||
1574 | { | 1578 | { |
1575 | .name = "(unset)", | 1579 | .name = "(unset)", |
1576 | .flags = I2C_CLIENT_ALLOW_USE, | 1580 | .flags = I2C_CLIENT_ALLOW_USE, |
1577 | .driver = &driver, | 1581 | .driver = &driver, |
1578 | }; | 1582 | }; |
1579 | 1583 | ||
1580 | static int msp_attach(struct i2c_adapter *adap, int addr, int kind) | 1584 | static int msp_attach(struct i2c_adapter *adap, int addr, int kind) |
diff --git a/drivers/media/video/saa6588.c b/drivers/media/video/saa6588.c index dca3ddfd510f..923322503e8f 100644 --- a/drivers/media/video/saa6588.c +++ b/drivers/media/video/saa6588.c | |||
@@ -422,7 +422,6 @@ static int saa6588_attach(struct i2c_adapter *adap, int addr, int kind) | |||
422 | s->timer.function = saa6588_timer; | 422 | s->timer.function = saa6588_timer; |
423 | s->timer.data = (unsigned long)s; | 423 | s->timer.data = (unsigned long)s; |
424 | schedule_work(&s->work); | 424 | schedule_work(&s->work); |
425 | |||
426 | return 0; | 425 | return 0; |
427 | } | 426 | } |
428 | 427 | ||
diff --git a/drivers/media/video/saa711x.c b/drivers/media/video/saa711x.c index 59e13fdea780..31f7b950b01c 100644 --- a/drivers/media/video/saa711x.c +++ b/drivers/media/video/saa711x.c | |||
@@ -59,7 +59,7 @@ MODULE_PARM_DESC(debug, " Set the default Debug level. Default: 0 (Off) - (0-1) | |||
59 | #define dprintk(num, format, args...) \ | 59 | #define dprintk(num, format, args...) \ |
60 | do { \ | 60 | do { \ |
61 | if (debug >= num) \ | 61 | if (debug >= num) \ |
62 | printk(format , ##args); \ | 62 | printk(format, ##args); \ |
63 | } while (0) | 63 | } while (0) |
64 | 64 | ||
65 | /* ----------------------------------------------------------------------- */ | 65 | /* ----------------------------------------------------------------------- */ |
diff --git a/drivers/media/video/saa7134/saa6752hs.c b/drivers/media/video/saa7134/saa6752hs.c index cdd1ed9c8065..a61d24f588f7 100644 --- a/drivers/media/video/saa7134/saa6752hs.c +++ b/drivers/media/video/saa7134/saa6752hs.c | |||
@@ -523,7 +523,8 @@ static int saa6752hs_attach(struct i2c_adapter *adap, int addr, int kind) | |||
523 | h->standard = 0; | 523 | h->standard = 0; |
524 | 524 | ||
525 | i2c_set_clientdata(&h->client, h); | 525 | i2c_set_clientdata(&h->client, h); |
526 | i2c_attach_client(&h->client); | 526 | i2c_attach_client(&h->client); |
527 | |||
527 | return 0; | 528 | return 0; |
528 | } | 529 | } |
529 | 530 | ||
@@ -597,19 +598,19 @@ saa6752hs_command(struct i2c_client *client, unsigned int cmd, void *arg) | |||
597 | 598 | ||
598 | static struct i2c_driver driver = { | 599 | static struct i2c_driver driver = { |
599 | .owner = THIS_MODULE, | 600 | .owner = THIS_MODULE, |
600 | .name = "i2c saa6752hs MPEG encoder", | 601 | .name = "i2c saa6752hs MPEG encoder", |
601 | .id = I2C_DRIVERID_SAA6752HS, | 602 | .id = I2C_DRIVERID_SAA6752HS, |
602 | .flags = I2C_DF_NOTIFY, | 603 | .flags = I2C_DF_NOTIFY, |
603 | .attach_adapter = saa6752hs_probe, | 604 | .attach_adapter = saa6752hs_probe, |
604 | .detach_client = saa6752hs_detach, | 605 | .detach_client = saa6752hs_detach, |
605 | .command = saa6752hs_command, | 606 | .command = saa6752hs_command, |
606 | }; | 607 | }; |
607 | 608 | ||
608 | static struct i2c_client client_template = | 609 | static struct i2c_client client_template = |
609 | { | 610 | { |
610 | .name = "saa6752hs", | 611 | .name = "saa6752hs", |
611 | .flags = I2C_CLIENT_ALLOW_USE, | 612 | .flags = I2C_CLIENT_ALLOW_USE, |
612 | .driver = &driver, | 613 | .driver = &driver, |
613 | }; | 614 | }; |
614 | 615 | ||
615 | static int __init saa6752hs_init_module(void) | 616 | static int __init saa6752hs_init_module(void) |
diff --git a/drivers/media/video/saa7134/saa7134-alsa.c b/drivers/media/video/saa7134/saa7134-alsa.c index 263c6e2e3e8e..953d5fec82d5 100644 --- a/drivers/media/video/saa7134/saa7134-alsa.c +++ b/drivers/media/video/saa7134/saa7134-alsa.c | |||
@@ -51,6 +51,7 @@ MODULE_PARM_DESC(debug,"enable debug messages [alsa]"); | |||
51 | #define MIXER_ADDR_LINE2 2 | 51 | #define MIXER_ADDR_LINE2 2 |
52 | #define MIXER_ADDR_LAST 2 | 52 | #define MIXER_ADDR_LAST 2 |
53 | 53 | ||
54 | |||
54 | static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ | 55 | static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ |
55 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ | 56 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ |
56 | static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 0}; | 57 | static int enable[SNDRV_CARDS] = {1, [1 ... (SNDRV_CARDS - 1)] = 0}; |
@@ -59,11 +60,14 @@ module_param_array(index, int, NULL, 0444); | |||
59 | MODULE_PARM_DESC(index, "Index value for SAA7134 capture interface(s)."); | 60 | MODULE_PARM_DESC(index, "Index value for SAA7134 capture interface(s)."); |
60 | 61 | ||
61 | #define dprintk(fmt, arg...) if (debug) \ | 62 | #define dprintk(fmt, arg...) if (debug) \ |
62 | printk(KERN_DEBUG "%s/alsa: " fmt, dev->name , ## arg) | 63 | printk(KERN_DEBUG "%s/alsa: " fmt, dev->name , ##arg) |
64 | |||
65 | |||
63 | 66 | ||
64 | /* | 67 | /* |
65 | * Main chip structure | 68 | * Main chip structure |
66 | */ | 69 | */ |
70 | |||
67 | typedef struct snd_card_saa7134 { | 71 | typedef struct snd_card_saa7134 { |
68 | snd_card_t *card; | 72 | snd_card_t *card; |
69 | spinlock_t mixer_lock; | 73 | spinlock_t mixer_lock; |
@@ -208,8 +212,8 @@ static void saa7134_irq_alsa_done(struct saa7134_dev *dev, | |||
208 | 212 | ||
209 | static irqreturn_t saa7134_alsa_irq(int irq, void *dev_id, struct pt_regs *regs) | 213 | static irqreturn_t saa7134_alsa_irq(int irq, void *dev_id, struct pt_regs *regs) |
210 | { | 214 | { |
211 | struct saa7134_dmasound *dmasound = dev_id; | 215 | struct saa7134_dmasound *dmasound = dev_id; |
212 | struct saa7134_dev *dev = dmasound->priv_data; | 216 | struct saa7134_dev *dev = dmasound->priv_data; |
213 | 217 | ||
214 | unsigned long report, status; | 218 | unsigned long report, status; |
215 | int loop, handled = 0; | 219 | int loop, handled = 0; |
@@ -985,7 +989,7 @@ static int saa7134_alsa_init(void) | |||
985 | struct saa7134_dev *dev = NULL; | 989 | struct saa7134_dev *dev = NULL; |
986 | struct list_head *list; | 990 | struct list_head *list; |
987 | 991 | ||
988 | printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); | 992 | printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); |
989 | 993 | ||
990 | list_for_each(list,&saa7134_devlist) { | 994 | list_for_each(list,&saa7134_devlist) { |
991 | dev = list_entry(list, struct saa7134_dev, devlist); | 995 | dev = list_entry(list, struct saa7134_dev, devlist); |
@@ -1004,6 +1008,7 @@ static int saa7134_alsa_init(void) | |||
1004 | printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n"); | 1008 | printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n"); |
1005 | 1009 | ||
1006 | return 0; | 1010 | return 0; |
1011 | |||
1007 | } | 1012 | } |
1008 | 1013 | ||
1009 | /* | 1014 | /* |
@@ -1027,3 +1032,6 @@ module_init(saa7134_alsa_init); | |||
1027 | module_exit(saa7134_alsa_exit); | 1032 | module_exit(saa7134_alsa_exit); |
1028 | MODULE_LICENSE("GPL"); | 1033 | MODULE_LICENSE("GPL"); |
1029 | MODULE_AUTHOR("Ricardo Cerqueira"); | 1034 | MODULE_AUTHOR("Ricardo Cerqueira"); |
1035 | |||
1036 | |||
1037 | |||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 75abc20b0ccd..672fb205959f 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -976,7 +976,7 @@ struct saa7134_board saa7134_boards[] = { | |||
976 | .radio_type = UNSET, | 976 | .radio_type = UNSET, |
977 | .tuner_addr = ADDR_UNSET, | 977 | .tuner_addr = ADDR_UNSET, |
978 | .radio_addr = ADDR_UNSET, | 978 | .radio_addr = ADDR_UNSET, |
979 | .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER, | 979 | .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_ACTIVE, |
980 | .inputs = {{ | 980 | .inputs = {{ |
981 | .name = name_tv, | 981 | .name = name_tv, |
982 | .vmux = 3, | 982 | .vmux = 3, |
diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c index 1a093bf176f3..23d8747338ed 100644 --- a/drivers/media/video/saa7134/saa7134-core.c +++ b/drivers/media/video/saa7134/saa7134-core.c | |||
@@ -71,6 +71,7 @@ static unsigned int radio_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; | |||
71 | static unsigned int tuner[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; | 71 | static unsigned int tuner[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; |
72 | static unsigned int card[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; | 72 | static unsigned int card[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; |
73 | 73 | ||
74 | |||
74 | module_param_array(video_nr, int, NULL, 0444); | 75 | module_param_array(video_nr, int, NULL, 0444); |
75 | module_param_array(vbi_nr, int, NULL, 0444); | 76 | module_param_array(vbi_nr, int, NULL, 0444); |
76 | module_param_array(radio_nr, int, NULL, 0444); | 77 | module_param_array(radio_nr, int, NULL, 0444); |
diff --git a/drivers/media/video/saa7134/saa7134-empress.c b/drivers/media/video/saa7134/saa7134-empress.c index e9ec69efb4c9..575f3e835f91 100644 --- a/drivers/media/video/saa7134/saa7134-empress.c +++ b/drivers/media/video/saa7134/saa7134-empress.c | |||
@@ -36,6 +36,7 @@ MODULE_AUTHOR("Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]"); | |||
36 | MODULE_LICENSE("GPL"); | 36 | MODULE_LICENSE("GPL"); |
37 | 37 | ||
38 | static unsigned int empress_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; | 38 | static unsigned int empress_nr[] = {[0 ... (SAA7134_MAXBOARDS - 1)] = UNSET }; |
39 | |||
39 | module_param_array(empress_nr, int, NULL, 0444); | 40 | module_param_array(empress_nr, int, NULL, 0444); |
40 | MODULE_PARM_DESC(empress_nr,"ts device number"); | 41 | MODULE_PARM_DESC(empress_nr,"ts device number"); |
41 | 42 | ||
diff --git a/drivers/media/video/saa7134/saa7134-i2c.c b/drivers/media/video/saa7134/saa7134-i2c.c index 7575043f0874..df9dd36721e0 100644 --- a/drivers/media/video/saa7134/saa7134-i2c.c +++ b/drivers/media/video/saa7134/saa7134-i2c.c | |||
@@ -333,7 +333,7 @@ static int attach_inform(struct i2c_client *client) | |||
333 | struct tuner_setup tun_setup; | 333 | struct tuner_setup tun_setup; |
334 | 334 | ||
335 | d1printk( "%s i2c attach [addr=0x%x,client=%s]\n", | 335 | d1printk( "%s i2c attach [addr=0x%x,client=%s]\n", |
336 | client->driver->name, client->addr, client->name); | 336 | client->driver->name, client->addr, client->name); |
337 | 337 | ||
338 | /* Am I an i2c remote control? */ | 338 | /* Am I an i2c remote control? */ |
339 | 339 | ||
diff --git a/drivers/media/video/saa7134/saa7134-oss.c b/drivers/media/video/saa7134/saa7134-oss.c index 5a579194e455..513a699a6df2 100644 --- a/drivers/media/video/saa7134/saa7134-oss.c +++ b/drivers/media/video/saa7134/saa7134-oss.c | |||
@@ -782,36 +782,36 @@ struct file_operations saa7134_mixer_fops = { | |||
782 | 782 | ||
783 | static irqreturn_t saa7134_oss_irq(int irq, void *dev_id, struct pt_regs *regs) | 783 | static irqreturn_t saa7134_oss_irq(int irq, void *dev_id, struct pt_regs *regs) |
784 | { | 784 | { |
785 | struct saa7134_dmasound *dmasound = dev_id; | 785 | struct saa7134_dmasound *dmasound = dev_id; |
786 | struct saa7134_dev *dev = dmasound->priv_data; | 786 | struct saa7134_dev *dev = dmasound->priv_data; |
787 | unsigned long report, status; | 787 | unsigned long report, status; |
788 | int loop, handled = 0; | 788 | int loop, handled = 0; |
789 | 789 | ||
790 | for (loop = 0; loop < 10; loop++) { | 790 | for (loop = 0; loop < 10; loop++) { |
791 | report = saa_readl(SAA7134_IRQ_REPORT); | 791 | report = saa_readl(SAA7134_IRQ_REPORT); |
792 | status = saa_readl(SAA7134_IRQ_STATUS); | 792 | status = saa_readl(SAA7134_IRQ_STATUS); |
793 | 793 | ||
794 | if (report & SAA7134_IRQ_REPORT_DONE_RA3) { | 794 | if (report & SAA7134_IRQ_REPORT_DONE_RA3) { |
795 | handled = 1; | 795 | handled = 1; |
796 | saa_writel(SAA7134_IRQ_REPORT,report); | 796 | saa_writel(SAA7134_IRQ_REPORT,report); |
797 | saa7134_irq_oss_done(dev, status); | 797 | saa7134_irq_oss_done(dev, status); |
798 | } else { | 798 | } else { |
799 | goto out; | 799 | goto out; |
800 | } | 800 | } |
801 | } | 801 | } |
802 | 802 | ||
803 | if (loop == 10) { | 803 | if (loop == 10) { |
804 | dprintk("error! looping IRQ!"); | 804 | dprintk("error! looping IRQ!"); |
805 | } | 805 | } |
806 | out: | 806 | out: |
807 | return IRQ_RETVAL(handled); | 807 | return IRQ_RETVAL(handled); |
808 | } | 808 | } |
809 | 809 | ||
810 | int saa7134_oss_init1(struct saa7134_dev *dev) | 810 | int saa7134_oss_init1(struct saa7134_dev *dev) |
811 | { | 811 | { |
812 | 812 | ||
813 | if ((request_irq(dev->pci->irq, saa7134_oss_irq, | 813 | if ((request_irq(dev->pci->irq, saa7134_oss_irq, |
814 | SA_SHIRQ | SA_INTERRUPT, dev->name, | 814 | SA_SHIRQ | SA_INTERRUPT, dev->name, |
815 | (void*) &dev->dmasound)) < 0) | 815 | (void*) &dev->dmasound)) < 0) |
816 | return -1; | 816 | return -1; |
817 | 817 | ||
@@ -905,25 +905,25 @@ static int saa7134_dsp_create(struct saa7134_dev *dev) | |||
905 | 905 | ||
906 | err = dev->dmasound.minor_dsp = | 906 | err = dev->dmasound.minor_dsp = |
907 | register_sound_dsp(&saa7134_dsp_fops, | 907 | register_sound_dsp(&saa7134_dsp_fops, |
908 | dsp_nr[dev->nr]); | 908 | dsp_nr[dev->nr]); |
909 | if (err < 0) { | 909 | if (err < 0) { |
910 | goto fail; | 910 | goto fail; |
911 | } | 911 | } |
912 | printk(KERN_INFO "%s: registered device dsp%d\n", | 912 | printk(KERN_INFO "%s: registered device dsp%d\n", |
913 | dev->name,dev->dmasound.minor_dsp >> 4); | 913 | dev->name,dev->dmasound.minor_dsp >> 4); |
914 | 914 | ||
915 | err = dev->dmasound.minor_mixer = | 915 | err = dev->dmasound.minor_mixer = |
916 | register_sound_mixer(&saa7134_mixer_fops, | 916 | register_sound_mixer(&saa7134_mixer_fops, |
917 | mixer_nr[dev->nr]); | 917 | mixer_nr[dev->nr]); |
918 | if (err < 0) | 918 | if (err < 0) |
919 | goto fail; | 919 | goto fail; |
920 | printk(KERN_INFO "%s: registered device mixer%d\n", | 920 | printk(KERN_INFO "%s: registered device mixer%d\n", |
921 | dev->name,dev->dmasound.minor_mixer >> 4); | 921 | dev->name,dev->dmasound.minor_mixer >> 4); |
922 | 922 | ||
923 | return 0; | 923 | return 0; |
924 | 924 | ||
925 | fail: | 925 | fail: |
926 | unregister_sound_dsp(dev->dmasound.minor_dsp); | 926 | unregister_sound_dsp(dev->dmasound.minor_dsp); |
927 | return 0; | 927 | return 0; |
928 | 928 | ||
929 | 929 | ||
@@ -956,49 +956,50 @@ static int oss_device_exit(struct saa7134_dev *dev) | |||
956 | 956 | ||
957 | static int saa7134_oss_init(void) | 957 | static int saa7134_oss_init(void) |
958 | { | 958 | { |
959 | struct saa7134_dev *dev = NULL; | 959 | struct saa7134_dev *dev = NULL; |
960 | struct list_head *list; | 960 | struct list_head *list; |
961 | 961 | ||
962 | printk(KERN_INFO "saa7134 OSS driver for DMA sound loaded\n"); | 962 | printk(KERN_INFO "saa7134 OSS driver for DMA sound loaded\n"); |
963 | 963 | ||
964 | list_for_each(list,&saa7134_devlist) { | 964 | list_for_each(list,&saa7134_devlist) { |
965 | dev = list_entry(list, struct saa7134_dev, devlist); | 965 | dev = list_entry(list, struct saa7134_dev, devlist); |
966 | if (dev->dmasound.priv_data == NULL) { | 966 | if (dev->dmasound.priv_data == NULL) { |
967 | oss_device_init(dev); | 967 | oss_device_init(dev); |
968 | } else { | 968 | } else { |
969 | printk(KERN_ERR "saa7134 OSS: DMA sound is being handled by ALSA, ignoring %s\n",dev->name); | 969 | printk(KERN_ERR "saa7134 OSS: DMA sound is being handled by ALSA, ignoring %s\n",dev->name); |
970 | return -EBUSY; | 970 | return -EBUSY; |
971 | } | 971 | } |
972 | } | 972 | } |
973 | 973 | ||
974 | if (dev == NULL) | 974 | if (dev == NULL) |
975 | printk(KERN_INFO "saa7134 OSS: no saa7134 cards found\n"); | 975 | printk(KERN_INFO "saa7134 OSS: no saa7134 cards found\n"); |
976 | 976 | ||
977 | dmasound_init = oss_device_init; | 977 | dmasound_init = oss_device_init; |
978 | dmasound_exit = oss_device_exit; | 978 | dmasound_exit = oss_device_exit; |
979 | 979 | ||
980 | return 0; | 980 | return 0; |
981 | 981 | ||
982 | } | 982 | } |
983 | 983 | ||
984 | static void saa7134_oss_exit(void) | 984 | static void saa7134_oss_exit(void) |
985 | { | 985 | { |
986 | struct saa7134_dev *dev = NULL; | 986 | struct saa7134_dev *dev = NULL; |
987 | struct list_head *list; | 987 | struct list_head *list; |
988 | 988 | ||
989 | list_for_each(list,&saa7134_devlist) { | 989 | list_for_each(list,&saa7134_devlist) { |
990 | dev = list_entry(list, struct saa7134_dev, devlist); | 990 | dev = list_entry(list, struct saa7134_dev, devlist); |
991 | 991 | ||
992 | /* Device isn't registered by OSS, probably ALSA's */ | 992 | /* Device isn't registered by OSS, probably ALSA's */ |
993 | if (!dev->dmasound.minor_dsp) | 993 | if (!dev->dmasound.minor_dsp) |
994 | continue; | 994 | continue; |
995 | 995 | ||
996 | oss_device_exit(dev); | 996 | oss_device_exit(dev); |
997 | } | ||
998 | 997 | ||
999 | printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n"); | 998 | } |
999 | |||
1000 | printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n"); | ||
1000 | 1001 | ||
1001 | return; | 1002 | return; |
1002 | } | 1003 | } |
1003 | 1004 | ||
1004 | module_init(saa7134_oss_init); | 1005 | module_init(saa7134_oss_init); |
diff --git a/drivers/media/video/tda9887.c b/drivers/media/video/tda9887.c index 4249127c0a1d..2f2414e90e8b 100644 --- a/drivers/media/video/tda9887.c +++ b/drivers/media/video/tda9887.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <media/audiochip.h> | 12 | #include <media/audiochip.h> |
13 | #include <media/tuner.h> | 13 | #include <media/tuner.h> |
14 | 14 | ||
15 | |||
15 | /* Chips: | 16 | /* Chips: |
16 | TDA9885 (PAL, NTSC) | 17 | TDA9885 (PAL, NTSC) |
17 | TDA9886 (PAL, SECAM, NTSC) | 18 | TDA9886 (PAL, SECAM, NTSC) |
@@ -819,12 +820,12 @@ static int tda9887_resume(struct device * dev) | |||
819 | 820 | ||
820 | static struct i2c_driver driver = { | 821 | static struct i2c_driver driver = { |
821 | .owner = THIS_MODULE, | 822 | .owner = THIS_MODULE, |
822 | .name = "i2c tda9887 driver", | 823 | .name = "i2c tda9887 driver", |
823 | .id = -1, /* FIXME */ | 824 | .id = -1, /* FIXME */ |
824 | .flags = I2C_DF_NOTIFY, | 825 | .flags = I2C_DF_NOTIFY, |
825 | .attach_adapter = tda9887_probe, | 826 | .attach_adapter = tda9887_probe, |
826 | .detach_client = tda9887_detach, | 827 | .detach_client = tda9887_detach, |
827 | .command = tda9887_command, | 828 | .command = tda9887_command, |
828 | .driver = { | 829 | .driver = { |
829 | .suspend = tda9887_suspend, | 830 | .suspend = tda9887_suspend, |
830 | .resume = tda9887_resume, | 831 | .resume = tda9887_resume, |
@@ -834,7 +835,7 @@ static struct i2c_client client_template = | |||
834 | { | 835 | { |
835 | .name = "tda9887", | 836 | .name = "tda9887", |
836 | .flags = I2C_CLIENT_ALLOW_USE, | 837 | .flags = I2C_CLIENT_ALLOW_USE, |
837 | .driver = &driver, | 838 | .driver = &driver, |
838 | }; | 839 | }; |
839 | 840 | ||
840 | static int __init tda9887_init_module(void) | 841 | static int __init tda9887_init_module(void) |
diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c index c31bf28b73fe..5b20e8177cad 100644 --- a/drivers/media/video/tvaudio.c +++ b/drivers/media/video/tvaudio.c | |||
@@ -188,7 +188,7 @@ static int chip_write(struct CHIPSTATE *chip, int subaddr, int val) | |||
188 | buffer[1] = val; | 188 | buffer[1] = val; |
189 | if (2 != i2c_master_send(&chip->c,buffer,2)) { | 189 | if (2 != i2c_master_send(&chip->c,buffer,2)) { |
190 | tvaudio_warn("%s: I/O error (write reg%d=0x%x)\n", | 190 | tvaudio_warn("%s: I/O error (write reg%d=0x%x)\n", |
191 | chip->c.name, subaddr, val); | 191 | chip->c.name, subaddr, val); |
192 | return -1; | 192 | return -1; |
193 | } | 193 | } |
194 | } | 194 | } |
@@ -216,7 +216,7 @@ static int chip_read(struct CHIPSTATE *chip) | |||
216 | chip->c.name); | 216 | chip->c.name); |
217 | return -1; | 217 | return -1; |
218 | } | 218 | } |
219 | tvaudio_dbg("%s: chip_read: 0x%x\n",chip->c.name,buffer); | 219 | tvaudio_dbg("%s: chip_read: 0x%x\n",chip->c.name, buffer); |
220 | return buffer; | 220 | return buffer; |
221 | } | 221 | } |
222 | 222 | ||
@@ -235,7 +235,7 @@ static int chip_read2(struct CHIPSTATE *chip, int subaddr) | |||
235 | return -1; | 235 | return -1; |
236 | } | 236 | } |
237 | tvaudio_dbg("%s: chip_read2: reg%d=0x%x\n", | 237 | tvaudio_dbg("%s: chip_read2: reg%d=0x%x\n", |
238 | chip->c.name,subaddr,read[0]); | 238 | chip->c.name, subaddr,read[0]); |
239 | return read[0]; | 239 | return read[0]; |
240 | } | 240 | } |
241 | 241 | ||
@@ -248,7 +248,7 @@ static int chip_cmd(struct CHIPSTATE *chip, char *name, audiocmd *cmd) | |||
248 | 248 | ||
249 | /* update our shadow register set; print bytes if (debug > 0) */ | 249 | /* update our shadow register set; print bytes if (debug > 0) */ |
250 | tvaudio_dbg("%s: chip_cmd(%s): reg=%d, data:", | 250 | tvaudio_dbg("%s: chip_cmd(%s): reg=%d, data:", |
251 | chip->c.name,name,cmd->bytes[0]); | 251 | chip->c.name, name,cmd->bytes[0]); |
252 | for (i = 1; i < cmd->count; i++) { | 252 | for (i = 1; i < cmd->count; i++) { |
253 | if (debug) | 253 | if (debug) |
254 | printk(" 0x%x",cmd->bytes[i]); | 254 | printk(" 0x%x",cmd->bytes[i]); |
@@ -322,7 +322,7 @@ static void generic_checkmode(struct CHIPSTATE *chip) | |||
322 | int mode = desc->getmode(chip); | 322 | int mode = desc->getmode(chip); |
323 | 323 | ||
324 | if (mode == chip->prevmode) | 324 | if (mode == chip->prevmode) |
325 | return; | 325 | return; |
326 | 326 | ||
327 | tvaudio_dbg("%s: thread checkmode\n", chip->c.name); | 327 | tvaudio_dbg("%s: thread checkmode\n", chip->c.name); |
328 | chip->prevmode = mode; | 328 | chip->prevmode = mode; |
@@ -1506,18 +1506,18 @@ static int chip_attach(struct i2c_adapter *adap, int addr, int kind) | |||
1506 | return -EIO; | 1506 | return -EIO; |
1507 | } | 1507 | } |
1508 | tvaudio_info("%s found @ 0x%x (%s)\n", desc->name, addr<<1, adap->name); | 1508 | tvaudio_info("%s found @ 0x%x (%s)\n", desc->name, addr<<1, adap->name); |
1509 | if (desc->flags) { | 1509 | if (desc->flags) { |
1510 | tvaudio_dbg("matches:%s%s%s.\n", | 1510 | tvaudio_dbg("matches:%s%s%s.\n", |
1511 | (desc->flags & CHIP_HAS_VOLUME) ? " volume" : "", | 1511 | (desc->flags & CHIP_HAS_VOLUME) ? " volume" : "", |
1512 | (desc->flags & CHIP_HAS_BASSTREBLE) ? " bass/treble" : "", | 1512 | (desc->flags & CHIP_HAS_BASSTREBLE) ? " bass/treble" : "", |
1513 | (desc->flags & CHIP_HAS_INPUTSEL) ? " audiomux" : ""); | 1513 | (desc->flags & CHIP_HAS_INPUTSEL) ? " audiomux" : ""); |
1514 | } | 1514 | } |
1515 | 1515 | ||
1516 | /* fill required data structures */ | 1516 | /* fill required data structures */ |
1517 | strcpy(chip->c.name,desc->name); | 1517 | strcpy(chip->c.name, desc->name); |
1518 | chip->type = desc-chiplist; | 1518 | chip->type = desc-chiplist; |
1519 | chip->shadow.count = desc->registers+1; | 1519 | chip->shadow.count = desc->registers+1; |
1520 | chip->prevmode = -1; | 1520 | chip->prevmode = -1; |
1521 | /* register */ | 1521 | /* register */ |
1522 | i2c_attach_client(&chip->c); | 1522 | i2c_attach_client(&chip->c); |
1523 | 1523 | ||
@@ -1604,7 +1604,7 @@ static int chip_command(struct i2c_client *client, | |||
1604 | struct CHIPSTATE *chip = i2c_get_clientdata(client); | 1604 | struct CHIPSTATE *chip = i2c_get_clientdata(client); |
1605 | struct CHIPDESC *desc = chiplist + chip->type; | 1605 | struct CHIPDESC *desc = chiplist + chip->type; |
1606 | 1606 | ||
1607 | tvaudio_dbg("%s: chip_command 0x%x\n",chip->c.name,cmd); | 1607 | tvaudio_dbg("%s: chip_command 0x%x\n", chip->c.name, cmd); |
1608 | 1608 | ||
1609 | switch (cmd) { | 1609 | switch (cmd) { |
1610 | case AUDC_SET_INPUT: | 1610 | case AUDC_SET_INPUT: |
@@ -1624,7 +1624,7 @@ static int chip_command(struct i2c_client *client, | |||
1624 | 1624 | ||
1625 | /* --- v4l ioctls --- */ | 1625 | /* --- v4l ioctls --- */ |
1626 | /* take care: bttv does userspace copying, we'll get a | 1626 | /* take care: bttv does userspace copying, we'll get a |
1627 | kernel pointer here... */ | 1627 | kernel pointer here... */ |
1628 | case VIDIOCGAUDIO: | 1628 | case VIDIOCGAUDIO: |
1629 | { | 1629 | { |
1630 | struct video_audio *va = arg; | 1630 | struct video_audio *va = arg; |
diff --git a/drivers/media/video/tveeprom.c b/drivers/media/video/tveeprom.c index d95aecebbda3..5ac235365dd8 100644 --- a/drivers/media/video/tveeprom.c +++ b/drivers/media/video/tveeprom.c | |||
@@ -206,7 +206,7 @@ hauppauge_tuner[] = | |||
206 | { TUNER_ABSENT, "TCL 2002MI_3H"}, | 206 | { TUNER_ABSENT, "TCL 2002MI_3H"}, |
207 | { TUNER_TCL_2002N, "TCL 2002N 5H"}, | 207 | { TUNER_TCL_2002N, "TCL 2002N 5H"}, |
208 | /* 100-109 */ | 208 | /* 100-109 */ |
209 | { TUNER_ABSENT, "Philips FMD1216ME"}, | 209 | { TUNER_PHILIPS_FMD1216ME_MK3, "Philips FMD1216ME"}, |
210 | { TUNER_TEA5767, "Philips TEA5768HL FM Radio"}, | 210 | { TUNER_TEA5767, "Philips TEA5768HL FM Radio"}, |
211 | { TUNER_ABSENT, "Panasonic ENV57H12D5"}, | 211 | { TUNER_ABSENT, "Panasonic ENV57H12D5"}, |
212 | { TUNER_PHILIPS_FM1236_MK3, "TCL MFNM05-4"}, | 212 | { TUNER_PHILIPS_FM1236_MK3, "TCL MFNM05-4"}, |
@@ -753,7 +753,8 @@ tveeprom_detect_client(struct i2c_adapter *adapter, | |||
753 | client->driver = &i2c_driver_tveeprom; | 753 | client->driver = &i2c_driver_tveeprom; |
754 | client->flags = I2C_CLIENT_ALLOW_USE; | 754 | client->flags = I2C_CLIENT_ALLOW_USE; |
755 | snprintf(client->name, sizeof(client->name), "tveeprom"); | 755 | snprintf(client->name, sizeof(client->name), "tveeprom"); |
756 | i2c_attach_client(client); | 756 | i2c_attach_client(client); |
757 | |||
757 | return 0; | 758 | return 0; |
758 | } | 759 | } |
759 | 760 | ||
diff --git a/drivers/media/video/tvp5150.c b/drivers/media/video/tvp5150.c index 81e6d4494e7d..97431e26d229 100644 --- a/drivers/media/video/tvp5150.c +++ b/drivers/media/video/tvp5150.c | |||
@@ -31,7 +31,7 @@ MODULE_PARM_DESC(debug, "Debug level (0-1)"); | |||
31 | #define dprintk(num, format, args...) \ | 31 | #define dprintk(num, format, args...) \ |
32 | do { \ | 32 | do { \ |
33 | if (debug >= num) \ | 33 | if (debug >= num) \ |
34 | printk(format , ##args); \ | 34 | printk(format, ##args); \ |
35 | } while (0) | 35 | } while (0) |
36 | 36 | ||
37 | /* supported controls */ | 37 | /* supported controls */ |
@@ -770,7 +770,6 @@ static int tvp5150_detect_client(struct i2c_adapter *adapter, | |||
770 | 770 | ||
771 | if (debug > 1) | 771 | if (debug > 1) |
772 | dump_reg(client); | 772 | dump_reg(client); |
773 | |||
774 | return 0; | 773 | return 0; |
775 | } | 774 | } |
776 | 775 | ||
diff --git a/drivers/media/video/video-buf-dvb.c b/drivers/media/video/video-buf-dvb.c index 55f129e964eb..0a4004a4393c 100644 --- a/drivers/media/video/video-buf-dvb.c +++ b/drivers/media/video/video-buf-dvb.c | |||
@@ -13,6 +13,7 @@ | |||
13 | * (at your option) any later version. | 13 | * (at your option) any later version. |
14 | */ | 14 | */ |
15 | 15 | ||
16 | |||
16 | #include <linux/module.h> | 17 | #include <linux/module.h> |
17 | #include <linux/init.h> | 18 | #include <linux/init.h> |
18 | #include <linux/device.h> | 19 | #include <linux/device.h> |
@@ -247,3 +248,4 @@ EXPORT_SYMBOL(videobuf_dvb_unregister); | |||
247 | * compile-command: "make DVB=1" | 248 | * compile-command: "make DVB=1" |
248 | * End: | 249 | * End: |
249 | */ | 250 | */ |
251 | |||