Age | Commit message (Collapse) | Author |
|
From: Hans Verkuil <hverkuil@xs4all.nl>
It is no longer needed to use a struct pointer as argument, since v4l2_subdev
doesn't require that ioctl-like approach anymore. Instead just pass the input,
output and config (new!) arguments directly.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
The line-in was muted twice instead of the line-in and the cd-in.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
new_(probed)_subdev
From: Hans Verkuil <hverkuil@xs4all.nl>
The functions v4l2_i2c_new_subdev and v4l2_i2c_new_probed_subdev relied on
i2c_get_adapdata to return the v4l2_device. However, this is not always
possible on embedded platforms. So modify the API to pass the v4l2_device
pointer explicitly.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Originally the intention was to switch to the new style i2c API starting with
the introduction of the API in 2.6.22. However, the i2c_new_probed_device()
function has a lethal bug that wasn't fixed until 2.6.25. Or more accurately,
it was only fixed in the stable series of 2.6.25 and 2.6.26.
Given the fact that the new i2c API also changed starting with 2.6.26 (the
addition of i2c_device_id), it is easiest to switch APIs starting with
2.6.26.
This patch updates all the legacy code accordingly.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
s_std didn't belong in the tuner ops. Stricly speaking it should be part of
the video ops, but it is used by audio and tuner devices as well, so it is
more efficient to make it part of the core ops.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
only
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Priority: normal
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Modified mxb to load the i2c modules through v4l2_subdev. So no more probing.
Modified tea6415c and tea6420 to use the standard routing ops to do the
routing, rather than using private commands. Dropped the private commands
from tda9840 (they were never used except during initialization of the
module).
Added saa7146 support for VIDIOC_DBG_G_CHIP_IDENT.
Converted saa5246a and saa5249 to v4l2_subdev.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
The conversion to video_ioctl2 is the first phase to converting this driver
to the latest v4l2 framework.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Since internal to v4l2 the ioctl prototype is the same regardless of it
being called through .ioctl or .unlocked_ioctl, we need to convert it all
to the long return type of unlocked_ioctl.
Thanks to Jean-Francois Moine for posting an initial patch for this and
thus bringing it to our attention.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
CC: Jean-Francois Moine <moinejf@free.fr>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Cleanup tda9840 and use a v4l2 API to get the tuner subchannels.
Do some cleanups in mxb and switch to saa7115 instead of the saa7111
module.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Fixed a lot of sparse warnings: mostly warnings about shadowed variables
and signed/unsigned mismatches.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Original patch from Al Viro <viro@ftp.linux.org.uk>
Date: Sat Mar 29 03:07:38 2008 +0000
NULL noise: drivers/media
kernel-sync:
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Original Changelog:
Author: Jean Delvare <khali@linux-fr.org>
Date: Sun Jan 27 18:14:51 2008 +0100
i2c: Drivers stop using the redundant client list
The redundant i2c client list maintained by i2c-core is going away
soon, so drivers should stop using it now. Instead, they can use the
standard iterator provided by the device driver model
(device_for_each_child).
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Douglas Schilling Landgraf <dougsland@gmail.com>
- Static memory is always initialized with 0.
- Replaced in some cases C99 comments for /* */
Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
The rest of V4L files.
There is one list_for_each+list_entry in cpia_pp.c that
wasn't changed because it expects the loop iterator to remain NULL if
the list is empty.
A bug in vivi is fixed; the 'safe' version needs to be used because the loop
deletes the list entries.
Simplify a second loop in vivi and get rid if an un-used variable in that loop.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Add -include linux/version.h to the cflags. Now code can have backward
compatibility test without including compat.h first.
Linux headers included from compat.h are removed, so that code will get
the same headers when compiling in v4l-dvb as it does in the kernel.
Many drivers have compat.h moved to the end of their include list, as
this lets compat.h do things it can't do at the beginning. Such as test
of something is defined to include compat code, or to put a wrapper
around a function without changing the function's name.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Michael Hunold <hunold@linuxtv.org>
Change order of module requests, so that tuner module is loaded at the end,
because the tuner module probes multiple i2c addresses and might grab an i2c
address that is not a tuner but something else.
Signed-off-by: Michael Hunold <hunold@linuxtv.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
kernel-sync
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Add a new audio mode V4L2_TUNER_MODE_LANG1_LANG2 (used by VIDIOC_G/S_TUNER).
This mode allows the user to select both languages of a bilingual transmission,
one language on the left, one on the right audio channel. If there is no
bilingual transmission, or it is not supported, then this mode should act like
V4L2_TUNER_MODE_STEREO.
This mode is introduced for PVR-like drivers where it is useful to be able to
record both languages of a bilingual broadcast.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: 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>
|
|
From: Michael Hunold <hunold@linuxtv.org>
The behaviour of the all-in-one Video4Linux tuner driver apparently
changed. It now wants to know the tv standard, otherwise it refuses to
tune.
Restore tuning functionality in my driver for the "Multimedia eXtension
Board". The all-in-one tuner driver apparently changed its behaviour.
Signed-off-by: Michael Hunold <hunold@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Michael Hunold <hunold@linuxtv.org>
Signed-off-by: Michael Hunold <hunold@linuxtv.org>
|
|
to a separate "analog-2.4" directory. Main reasons:
- the drivers don't have anything to do with dvb 8-)
- the drivers are already in the kernel (besides the "Hexium" driver)
and don't change that much any more
- the analog drivers rely on the i2c subsystem, which was heavily modified
between 2.4 and 2.5. When making a new DVB patchset I have to work around
these differences every time, which is very annoying
|
|
- add some ifdef magic into i2c drivers (mxb/analog drivers only)
- shuffle around includes, so that "dvb_compat.h" is included after
all other include files
- fix a warning in saa7146 i2c code
|
|
the version that made it into the 2.5.68 kernel.
- remove unnecessary c++-style comments
- fixed some line breaks and the style function headers
are formatted: please don't argue with me about these changes,
I don't care how they are formatted.
- remove newline breaks between memory allocation and the return value
check
Some more interesing stuff:
- remove ddelay() functions completly, replace with set_current_state() and
manual schedule_timeout() calls.
- made some init data for the mxb driver static and global (patch already
send to lkml)
Some crucial changes:
- inherit some return values Mr. Alan Cox has changed -- please review
|
|
use KBUILD_BASENAME for 2.4 instead
some changes to the i2c core to make it work with both 2.4 and late 2.5
kernels (not done yet -- only interesting for analog drivers)
- add MODULE_DEVICE_TABLE to all drivers, so that pci "hotplug" can detect
the devices automatically. Alan Cox says, that we should use this to load
the firmware (not done yet)
- fix the long standing "insmod/rmmod with multiple budget cards" bug -- it
was a double kfree() call...
|
|
makelinks: adjust the script for the upcoming kernel patches
driver.mxb: prevent the tuner module from probing unnecessary i2c addresses
getlinks: put symlinks for the header files to the right place(TM)
videodev.c: add a verbose error message just for the case that a user
has compiled the v4l module into the kernel
media/Kconfig: the dpc driver does not the tuner module
saa7146_hlp.c: honour the swapped field order for av7110 based cards
in capture mode, too
saa7146_video.c: add some verbose messages for the v4l2 controls
mxb.c: hopefully fix the detection and initialization of the sound arena module
|
|
to the movement of the header files, sync Kconfig and Makefile
with 2.5.65
|
|
mxb: prevent helper modules to probe on unknown i2c-busses. (for example on a
Matrox gfx card)
|
|
based saa7146 cards
- change the initialization order to allow static builds of the mxb driver
|
|
- Fix various warnings against 2.5.63 (export-objs has been removed)
- Fix Kconfig/Makefiles
- add the "dpc7146" driver for the analog Philips reference design
- Removed unnecessary "Config.in"
|
|
- clean up the mxb driver and it's helper modules (rename the
structures, add GPL license to the appropriate files, c99
initialisers)
- fix 2.5.55 "module insertion causes bug in kobject.o" issue
- fixed missing exported symbols in budget-core
|
|
- removed the patches, they are not needed any more. you can now
use a vanilla 2.5.55 kernel
- created a new backport for video-buf and videodev from the 2.5.55
sources
- necessary fixes to the saa7146 driver due to changes in 2.5.55
- the core budget functions are now provided by a module called
"budget-core.o". (otherwise static compilation is not possible...)
- removed #ifdef MODULE crap from all files
Misc.
- "xawtv" (using xv extension) resulted in wrong colors. the problem
is within "xawtv". Gerd Knorr told me, that it'll be fixed in the
next release.
I tested this version with 2.4.20, 2.5.55 (modules) and 2.5.55
(static).
|
|
testing why the !#+?§"1 TS stream stops and "debi oops" messages appear,
I found out that this is caused by the i2c irq handler. Don't ask me
why, but returning to the old code solved this mystery. Apparently, the
additional i2c interrupts caused some timing problems or the saa7146
is simply too f*cked up.
I left the code in however, it works for the analog MXB driver, so the
extension should decide if it should be used.
Removed some additional debug messages, which were commented out anyway.
|
|
at all
- fixed most obvious flaws in budget.c, it's partially tested
(ie. module loads/unloads ok)
- added the "video part" to budget-av.c, it's partially tested
(ie. module loads/unloads ok, xawtv can access the video inputs)
|
|
2.5.x:
- exchanged the Kconfig files for "ttpci" and "ttpci-budget"
- removed the "SAA7146 based" from the card descriptions, but put
it to the remark some lines above
saa7146:
- simplified the probe(), attach(), detach() logic, since all
dvb devices can be identified by their subvendor/subdevice ids
av7110:
- added two wait_for_debi_done() calls in gpioirq(). (All other
IER_ENABLE() calls are preceded by wait_for_debi_done())
budget:
- budget.c has been split up into budget.c and budget-av.c. The latter
is for budget cards with analog video (av) inputs. Definitions are
now in budget.h. budget.c exports various functions that are used by
budget-av.c, too. The av code is currently missing, though, and needs
to be added.
unsorted:
- various c99 initializer cleanups
|
|
(tested on 2.4.18 and 2.5.53 -- the budget driver is
untested, Holger will test it the next week)
saa7146:
- completely separated the saa7146 driver into a core-driver (saa7146.o) and
a video/vbi part (saa7146_vv.o). this allows you to build the budget driver
without av7110 and videodev bloat (see below)
The following thinks have been approved by Holger Waechtler:
av7110 (now ttpci):
- for 2.5.x: removed the av7110 directory and put everything into ttpci.
- removed all budget card support from this driver
- compile and build fixes for the saa7146 changes
ttpci-budget (new):
- for 2.5.x: created a new ttpci-budget directory, added a new driver for
the budget cards
mxb:
- compile and build fixes for the saa7146 changes
Changed the build and compile files for both 2.5.x and build-2.4 of course...
|
|
videodev.o dependency,
so we can later split up the av7110 driver into a av7110 and budget card driver.
I tested this on 2.4.18-3 (original RedHat 7.3 kernel) and 2.5.53.
Changes in detail:
saa7146:
- fixed the unitialised timer warnings
- split saa7146.o into saa7146.o and saa7146_vv.o:
all videodev (ie. v4l) related stuff is now encapsulated in saa7146_vv.o.
the extension (ie. mxb or dvb-ttpci) now has to make sure to register the v4l
devices via helper functions provided by saa7146_vv
mxb:
- changes to make the driver compile with the new saa7146 and saa7146_vv parts
- fix the vbi bypass issue for MXBs with saa7146, rev. 1 card
av7110:
- changes to make the driver compile with the new saa7146 and saa7146_vv parts
- some changes related to the upcoming av7110 <=> budget splitup, but they are
commented out
- changed the saa7146 PAL values to experimental values that look good to me, but
kept the old values as a comment. where are the original values from? there is
a big black border on most channels on the left side which annoyed me...
- changed from video/generic_usercopy() to dvb_usercopy() and put this into the
source code, not into compat.c
- moved the crc_32* stuff from compat.c to the source file where it is used
- now compat.[ch] was removed completely, all references were deleted from
all other files.
other:
- updated the README and TODO files
- changed "makelinks" to remove alps_bsru6 stuff from kernel when making the symlinks
- fixed the build files in "build-2.4"
- fixed all other files needed for 2.5.x kernel build
|
|
(ie. the av7110) handle the odd/even fields differently. I added a new
field to the extension, which holds special flags of the extension and the
device. I declared the MXB way of handling fields as "normal", so the
av7110 extension sets SAA7146_EXT_SWAP_ODD_EVEN here.
@Holger: I added some superfluous "struct saa7146_dev *dev" variables
back to some functions. These cause ugly warnings at compile time, I admit,
but they are necessary if you want to use the debug macros to trace a
saa7146 register for example. Please leave them in for now -- I need this
when I switch between old-DVB / old-MXB <=> new-DVB / new-MXB drivers and
try to hack out the differences.
|
|
changed mxb to (un)register the i2c adapter by itself
|
|
READMEs accordingly, compile fixes for the mxb driver.
|
|
for the new saa7146 core, the mxb driver and the saa7111 driver.
|
|
an analogue tv card based on the saa7146.
Warning: Makefile and Kconfig will most likely be changed by
Gerd Knorr as well, so be sure to change these accordingly.
Warning2: "saa7111" is already available in the kernel, but needs
to be modified, as well as "video_decoder" in include/linux
|