msp_modus is 'G' model specific. Moved it to kthreads and also added proper
handling for the Japanese and South Korean TV standards.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
For the new routing implementation it is easier if all the 'normal'
scart inputs (IN1-IN4) are consecutive.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Cleanup audio input handling in bttv and tvaudio:
- inputs were specified that were never used
- mute was handled as a special input which led to confusing code
- confusing naming made it difficult to see if the setting was for
i2c or gpio.
The old audiochip.h input names moved to tvaudio.h. Currently this
is used both by tvaudio and msp3400 until the msp3400 implements the
new msp3400-specific inputs.
Detect in bttv the tvaudio and msp3400 i2c clients and use these
client pointers to set the inputs directly instead of broadcasting the
command.
Removed AUDC_SET_INPUT. Now replaced by VIDIOC_S_AUDIO. This will be
replaced again later by the new ROUTING commands.
Removed VIDIOC_G_AUDIO implementations in i2c drivers: this command is
a user level command and not to be used internally. It wasn't called at
all anyway.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
On ppc64, u64 is `unsigned long'
drivers/media/video/v4l2-common.c: In function `v4l_printk_ioctl_arg':
drivers/media/video/v4l2-common.c:486: warning: cast from pointer to integer of different size
drivers/media/video/v4l2-common.c:580: warning: long long int format, v4l2_std_id arg (arg 8)
drivers/media/video/v4l2-common.c:625: warning: long long int format, v4l2_std_id arg (arg 8)
drivers/media/video/v4l2-common.c:693: warning: long long int format, v4l2_std_id arg (arg 4)
drivers/media/video/v4l2-common.c:910: warning: long long unsigned int format, long unsigned int a$
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
I2C_foo were used for some i2c addresses. Bad, since those constants could
mean other i2c chip things.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- Missing a Makefile for bt8xx
- rds.h were at wrong directory, since it is a global header for an internal
interface
- tda7432 and tda9875 were dependent from bttv.h
- bttv.h were holding i2c addresses
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The Virtual Video Device Driver (aka vivi) is a device that
can be used to:
1) test core v4l functionalities;
2) be a prototype for newer development.
Vivi were developed using the best practices for v4l driver.
When loaded, it provides a video device that generates a
standard color bar, with a timestamp placed at top left corner.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Video_buf were concerned to allow PCI devices to be used as
video capture devices. This patch extends video_buf features
by virtualizing pci-dependent functions and allowing other
type of devices to use it.
It is still DMA centric, although it may be used also by
devices that emulates scatter/gather behavior or a DMA device
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Several media/video and sound drivers include i2c-dev.h while they
don't need it at all. Clean it up.
This header file is really only needed by i2c-dev.c and
compat_ioctl.c, other drivers should never need it.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Change all the Zoran (ZR36050/ZR36060) drivers to use i2c_master_send instead
of i2c_transfer when possible. This simplifies the code by a few lines in
each driver.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Drop support for the ENCODER_DUMP command in the adv7175 driver. ENCODER_DUMP
was never actually defined as far as I can see, so the code was ifdef'd out,
and I suspect it was never used, not even once, as it includes an obvious
array overrun.
The register values of this specific chip can be dumped in a generic way using
the i2c-dev driver and the "i2cdump" user-space tool if it is ever really
needed.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Drop the adv7175 register cache, as it is only written to and never read back
from. This saves 128 bytes of memory and slightly speeds up the register
writes.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Semaphore to mutexes conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Fix a (probably harmless) array overrun in the DECODER_DUMP command of the
saa7110 driver. No big deal as this command is not used anywhere anyway.
Also reformat the dump so that it displays nicely.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The bt856 driver has a register cache much larger than needed. We really only
write to 3 registers, so a 32-byte cache is a bit too much. We can be just as
efficient with a 6-byte cache. We could even do with a 3-byte cache, but at
the cost of additional arithmetics arguably not worth the spared 3 bytes.
Also, 4 of the 6 other members of the bt856 data structure were not used
anywhere, so we can as well drop them for an additional 16 bytes of memory
spared.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
When grabbing composite video with Iomega Buz, the stock driver will
prevent grabbing from the same input twice in a row, forcing the user to
switch inputs before anything useful can be grabbed again. It is caused by
some optimization code in the input selection parts, and triggered by the
saa7111_command() executing cmd 0. The attached patch will remedy this by
disabling cmd 0 altogether; a fix that has no found negative effects on the
rest of the code. In fact, saa7110.c does the exact same thing.
Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Cleanups to the zr36057 initialization:
* Drop intermediate local variables.
* Single error path.
Also drop a needless cast on kfree.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Explicitely state the number of registers the SAA7111 has, and use that
defined value where relevant. This should prevent any future array overrun
like the one I just fixed in the saa7110 driver.
This patch also saves 8 bytes of memory as a side effect, as the register
cache was larger than needed.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Fix the i2c block write mode of the saa7114 driver. A previous code change
accidentally commented out a local variable increment, which should have been
kept, causing the register writes over the I2C bus to never be batched,
replacing any attempted block write by slower, individual write transactions.
Also drop the commented out code, as it only adds to confusion.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Some chipsets have several problems when pci to pci transfers are activated
on overlay mode. the option no_overlay allows disabling such feature of
the driver, in favor of keeping the system stable.
The default is to use pcipci_fail flag defined on drivers/pci/quirks.c.
It also allows the user to override it by forcing disable overlay or forcing
enable. Forcing enable may generate PCI transfer corruption, including disk
mass corruption, so should be used with care.
Added a text description to this option and make messages looks the same at
both bttv and saa7134 drivers.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- removed VIDEO_AUDIO_DECODER Kconfig menu item.
VIDEO_MSP3400, VIDEO_CS53L32A and VIDEO_WM8775 now
each have their own menu items.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- created Kconfig item, VIDEO_CS53L32A, for the cs53l32a module which supports
the Cirrus Logic CS53L32A Low Voltage Stereo A/D Converter.
- created Kconfig item, VIDEO_WM8775, for the wm8775 module which supports
the Wolfson Microelectronics WM8775 high performance stereo A/D Converter.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
CONFIG_VIDEO_CPIA2=y, CONFIG_USB=n results in the following compile
<-- snip -->
...
LD .tmp_vmlinux1
drivers/built-in.o: In function `set_alternate':cpia2_usb.c:(.text+0x443aa2): undefined reference to `usb_set_interface'
drivers/built-in.o: In function `cpia2_usb_stream_resume': undefined reference to `usb_alloc_urb'
drivers/built-in.o: In function `cpia2_usb_stream_resume': undefined reference to `usb_submit_urb'
drivers/built-in.o: In function `cpia2_usb_stream_pause': undefined reference to `usb_kill_urb'
drivers/built-in.o: In function `cpia2_usb_stream_pause': undefined reference to `usb_free_urb'
drivers/built-in.o: In function `cpia2_usb_disconnect':cpia2_usb.c:(.text+0x443e14): undefined reference to `usb_driver_release_interface'
drivers/built-in.o: In function `cpia2_usb_transfer_cmd': undefined reference to `usb_control_msg'
drivers/built-in.o: In function `cpia2_usb_transfer_cmd': undefined reference to `usb_control_msg'
drivers/built-in.o: In function `cpia2_usb_complete':cpia2_usb.c:(.text+0x444836): undefined reference to `usb_submit_urb'
drivers/built-in.o: In function `cpia2_usb_cleanup': undefined reference to `usb_deregister'
drivers/built-in.o: In function `cpia2_usb_init': undefined reference to `usb_register_driver'
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- removed VIDEO_DECODER Kconfig menu item.
VIDEO_CX25840, VIDEO_SAA711X and VIDEO_SAA7127 now
each have their own menu items.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- created Kconfig menu item, VIDEO_SAA711X, for the saa7115 module,
which supports SAA7113, SAA7114 and SAA7115 video decoders.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The msp3400 driver is currently only being built if
the bttv driver is selected. There are new drivers
that will be needing msp3400, so simply including
msp3400 in the Makefile is no longer appropriate.
This patch creates VIDEO_MSP3400, and alters VIDEO_BT848, VIDEO_PVRUSB2
and VIDEO_AUDIO_DECODER each to select VIDEO_MSP3400.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
V4L2_STD_PAL define is not correct. It specifies only 50Hz PAL standards.
This patch fixes saa7113 color config for other PAL video standards.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch makes chroma standard selection based at possible values,
according with datasheet.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Now, em28xx uses saa7115 instead of saa711x.
saa7115 driver is capable of handling saa 7113, 7114 and 7115.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The device, Medion 7134, has two saa7134 chips on it, but only one of them
is functional in the current saa7134 driver.
This patch adds autodetection for the second, unsupported saa7134 chip,
as SAA7134_BOARD_MD7134_BRIDGE_2, and displays a message to the user
(in dmesg) indicating that the second chip isn't yet functional.
This is useful for users, since two instances of the saa7134 driver
will spawn. This patch will prevent confusion by warning the user that
only one of the chips on the board are functional.
There are other versions of the SAA7134_BOARD_MD7134 with only a single
saa7134 bridge/decoder -- those devices will not be affected by this patch.
Only devices containing the second chip will display the warning.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
There are already some supported devices that contain two
saa713x chips on-board, where only one of these chips is
currently functional in the driver.
We are already printing a warning message for the second
saa7134 decoder in SAA7134_BOARD_AVERMEDIA_A169_B. This
patch alters that case to make it generic, so that other
cards in the same situation can use it.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
VIDEO_MXB selects VIDEO_TUNER, so we don't have to include tuner.o
in the Makefile.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The cx25840 module requires external firmware in order to function,
so it must select FW_LOADER, but saa7115 and saa7129 do not require it.
This patch creates VIDEO_CX25840, and alters VIDEO_DECODER to select it.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
If the call to cx88_core_get returns a NULL value, it is dereferenced
by cx88_reset, and perhaps by cx88_core_put. Spotted by the Coverity
checker.
Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>