Age | Commit message (Collapse) | Author |
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
With "make checkpatch", all c-compilation error parsers will be able to handle
the error codes, allowing the user to navigate inside codingstyle errors as if
they where generated by gcc.
"make terse" will produce error codes using terse syntax, also common on
development tools.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
For those who develp using emacs, checking a patch is now a matter of asking
emacs to compile, using "make checkemacs" command.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
- kbuild change:
CPPFLAGS should be replaced by KBUILD_CPPFLAGS;
- I2C_PEC is now defined at i2c-dev.h;
- task_pid_nr compat code is wrong.
Thanks to Maxim Levinsky for pointing me those issues
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Remove the old xc3028.c file, replacing all occurrences of
TUNER_XCEIVE_XC3028 to TUNER_XC2028.
Some work is still may be required to make sure that non-tm6000 drivers will
be capable of using tuner-xc2028.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
linux/Documentation/video4linux/CARDLIST.tuner | 2 +-
linux/drivers/media/video/em28xx/em28xx-cards.c | 10 +++-------
linux/drivers/media/video/ivtv/ivtv-cards.c | 6 +++---
linux/drivers/media/video/ivtv/ivtv-driver.c | 2 +-
linux/drivers/media/video/tuner-core.c | 5 -----
linux/drivers/media/video/tuner-types.c | 6 +++---
linux/include/media/tuner.h | 2 +-
v4l/Makefile | 4 ----
8 files changed, 12 insertions(+), 25 deletions(-)
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Will compare KDIR to SRCDIR and if not equal regenerate .version from the
kernel specified in KDIR. The regeneration of .version is forced by making it
a .PHONY rule.
It was necessary to redo the way the release and .version targets worked. The
new way avoids the duplication of code that existed before. The release
target doesn't do anything. If release is specified as a goal, then .version
regeration is forced (via .PHONY).
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Recent patches to try to handle kernel object file directories haven't been
doing it correctly. This patch reworks the way the kernel location(s) are
handled.
KDIR et al are removed and replaced with two variables, SRCDIR and OUTDIR.
SRCDIR is the location of:
The main kernel Makefile
The kernel headers
The kernel source (if present)
OUTDIR is the location of:
The kernel .config file
The kernel [qxm]conf binaries (if present)
The following kernel situations should be handled correctly:
1. A kernel installed from source. One can specify the version via "make
release VER=version". If VER is not specified, uname -r is used. This the
default if make is run on a clean tree. OUTDIR is /lib/modules/$(VER)/build
and SRCDIR is /lib/modules/$(VER)/source, which are both symlinks pointing to
the same location.
2. A kernel installed from source which was was built with the
"O=/output/directory" option to the kernel Makefile. The version is specified
the same was as above. OUTDIR and SRCDIR are the same as above, except in
this case they are symlinks to different directories. OUTDIR will be a link
the the directory used in the "O=" option and SRCDIR will be the source
location.
3. An installed binary kernel with only a kernel-headers package. The
version can be specified the same way as above. OUTDIR will be
/lib/modules/$(VER)/build and SRCDIR will be the same as OUTDIR, as no
'source' directory exists. The kernel source and Kconfig program are most
likely not present.
4. An un-installed kernel source tree, for a kernel that was built without
using the "O=/outdir/directory" option. The kernel does not need to be fully
built, only the "modules_prepare" target needs to be built. The location of
the tree is specified with "make release DIR=directory". Both SRCDIR and
OUTDIR will be $(DIR).
5. An un-installed kernel source tree, for a kernel that was built using the
"O=/output/directory" option. The location of the tree is specified using
"make release DIR=/output/directory". Note that DIR is not the directory with
the kernel source! It is set to the directory that was used with the O option
when the kernel was built. The Makefile in this directory has a link back to
the kernel source directory and the v4l-dvb build system will find this.
OUTDIR will be the '/output/directory' and SRCDIR will be the location of the
source that built it.
All all these situation the v4l-dvb tree should build correctly and all the
various scripts will work. In addition, if the binaries for the [qxm]conf
programs are present, "make menuconfig", etc. will work as well. If the
binaries are not present, but the source is, the Makefile will automatically
build the binaries when "make menuconfig", etc. is used. The source should
be present in all situation except (3), a kernel-headers only install.
Note that if the kernel output directory (usually the same as the kernel
source directory, except for (2) and (5)) is not writable, then building the
Kconfig programs automatically will not be possible.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Maxim Levitsky <maximlevitsky@gmail.com>
/lib/modules/$(uname -r)/source isn't available if only kernel-headers
were installed. use /lib/modules/$(uname -r)/build in that case
Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
Currently it is impossible to build v4l drivers if kernel output
directoty is not the same as kernel source directory
This patch attempts to fix that.
Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
If you have tools like "dkms" installed, you may lose your kernel
config at kernel source tree. The new "init" target allows
recreating kernel basic init files from V4L tree.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---
v4l/Makefile | 5 +++++
1 file changed, 5 insertions(+)
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
V4L/DVB tree keeps backward compatibility with vanilla 2.6.x kernels.
However, if some API changes happens on 2.6.x.y, this wouldn't be
handled.
This patch improves the compatibility capabilities of the tree by
allowing customized scripts to be added on make_config_compat.pl.
So, when generating config-compat.h, some compat checks can be done
against the kernel tree.
The practical effect is allowing compilation on 2.6.17.x trees, used by
several distros, where some changes on netdevice.h affects dvb-net,
stopping its compilation.
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: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Everytime a build is started, the build system creates links to every
single source file from the v4l directory. This patch changes the
command used, to one that is about 15x faster. When building just one
file, the creating the links could take the majority of the total build
time.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
If Module.symvers is kept around, modpost will think symbols from
previous builds are still defined when in the current build they are not.
This leads to undefined symbol warnings getting masked.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
It took three core maintainers, over four years of work, eight new i2c
modules, eleven new V4L2 ioctls, three new DVB video ioctls, a Sliced
VBI API, a new MPEG encoder API, an enhanced DVB video MPEG decoding
API, major YUV/OSD contributions from Ian and John, web/wiki/svn/trac
support from Axel Thimm, (hardware) support from Hauppauge, support and
assistance from the v4l-dvb people and the many, many users of ivtv to
finally make it possible to merge this driver into the kernel.
Thank you all!
Signed-off-by: Kevin Thayer <nufan_wfk@yahoo.com>
Signed-off-by: Chris Kennedy <c@groovy.org>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: John P Harvey <john.p.harvey@btinternet.com>
Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
|
|
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: Trent Piepho <xyzzy@speakeasy.org>
The kernel's config settings from autoconf.h are overridden by the file
config-compat.h, which is included from compat.h. Code compiled before
compat.h is included will see the kernel's settings, while code compiled
after will see v4l-dvb's version of the settings. This has caused hard
to track down bugs on more than one occasion.
Always including compat.h first will not work, as some of the
compatibility code requires that certain kernel headers be included first
in order to work correctly.
This patch makes config-compat.h be included second (after the kernel's
autoconf.h) for every file by using a gcc "-include" command line option,
the same way the kernel autoconf.h file is included. This should
eliminate the problem of config-compat.h not being included in the right
spot.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
make menuconfig used to need to build two kernel configuration programs,
mconf and lxdialog. In 2.6.19-rc1, this was changed so there no longer
was a separate lxdialog binary, it was integrated into mconf.
This adapts the v4l-dvb Makefile to check for lxdialog/Makefile, if it's
not present then no lxdialog binary needs to be built. The rules and
dependencies on lxdialog will be omitted from the v4l-dvb Makefile in
that case.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Darren Salt <linux@youmustbejoking.demon.co.uk>
Signed-off-by: Darren Salt <linux@youmustbejoking.demon.co.uk>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
linux/config.h has been deprecated for some time and is now gone. Switch
to using linux/autoconf.h, which is where the config defines have been
since at least 2.4 anyway.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
ivtvdriver.org is no longer working... but www.ivtvdriver.org still works.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
v4l/Makefile not only calls the kernel Makefile to do the module
building, but it is in turn included by the kernel Makefile. This means
_all_ the rules in v4l/Makefile get used by the kernel Makefile when it
tries to build the modules. Some of these rules, for files like .config,
Kconfig, .version, confuse the kernel building process. The kernel make
thinks, "I need to remake _my_ Kconfig file because my .version file is
out of date." But that rule was never supposed to be used by the kernel,
it is just for v4l!
This is fixed by putting $(obj) in front of all these files' rules. That
way the kernel will never think the rules refer to its files and try to
use them.
Really, this whole business of having the kernel Makefile include
v4l/Makefile is rather complex. It might be a good idea to create
v4l/Kbuild, which the kernel will use in preference to v4l/Makefile, so
that we don't have to worry about v4l/Makefile getting used in two
different contexts.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Create a symlink, v4l/oss, that points back to the v4l directory. This
way code that includes "oss/something.h" will find the header files it
wants (which has been linked to from v4l). The link will be created only
if it doesn't exist and deleted by distclean.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Both .config and Kconfig are created at the same time by the same
program, make_kconfig.pl. make does not understand the concept of
a program which creates two targets and cannot handle this properly.
Everything works with this patch, but in some cases make -j will run
make_kconfig.pl twice at the same time. This works, one script will just
overwrite the output of the other, but it looks bad. Without make -j,
everything works as it should and make_kconfig.pl isn't run more than it
needs to be.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
links is a phony target, so it is always remade. The config targets
don't need the source links, so there is no need for them to have links
as a depenedency.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
The make_makefile.pl script is re-written. The old one was nasty. This
one will correctly handle Makefile lines that are continued with a
backslash. It will also generate a dependency list of the Makefile used
to create Makefile.media. This way if any change, Makefile.media will be
automatically re-made by make.
The whole business where make_makefile.pl would call make_kconfig.pl is
removed.
The underlying logic of the main Makefile is completely changed. Make
has a feature where it will make sure any included files are up-to-date,
and then restart itself if any were updated. We now take advantage of
this feature.
Detect when make is building only targets which do not need include files
like .myconfig or Makefile.media, and don't include them in those cases.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Add the ability to the make_kconfig.pl script to create a file
named ".kconfig.dep" which can be included in a Makefile and defines the
dependencies of the v4l/Kconfig file. That is, all the individual
Kconfig files that were used to make it.
Added a rule to v4l/Makefile to remake Kconfig when needed, and include
.kconfig.deps to get Kconfig's dependencies. Adjust the config targets
so that they depend on Kconfig, rather than including the commands to
create Kconfig in the config targets' scripts. The config targets no
longer depend on .version, as they don't need it themselves. Rather,
it's Kconfig that needs .version, so it's made one of Kconfig's
dependencies.
Add Kconfig as a dependency to .myconfig, it should be there since the
make_myconfig.pl script uses Kconfig.
Now if you change any of the Kconfig files, the v4l/Kconfig file will
automatically get remade. This will in turn cause .myconfig to be
re-made, and any new options will appear in .myconfig (turned off).
Ideally this should trigger some kind of oldconfig system to update
.config.
Fix the .version rule so that instead of re-creating .version every time,
it is only created when it didn't already exist. Since Kconfig depends
on .version, it was getting re-created every time too. If .version
existed, it would just get re-created to the same thing anyway.
Stop echoing the echo srcdir command itself and don't echo anything if
SRCDIR is blank.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Now, make will compile also the audio drivers at the tree.
By default, they will not be installed. A new option were
added to install those files:
make sound-install
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: Mauro Carvalho Chehab <mchehab@infradead.org>
This will allow generating periodic snapshots of the tree.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Also, fixes a trouble with make 3.81 introduced by the latest patch.
make 3.81 doesn't work fine with something like:
'foo'\
It should be, instead:
'foo' \
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Use a (make 3.81 safe!) in-line perl script to generate config-compat.h
from .myconfig. The output will be more like the Kernel's output:
Options set to 'm' will define CONFIG_WHATEVER_MODULE to 1, rather than
define CONFIG_WHATEVER to m.
Options set to 'y' to be defined to 1 instead of y.
Options that are off will be #undef'ed, rather that omitted, so that they
will override the settings from the kernel autoconf.h file.
The last change will fix a problem where certain options, like CinergyT2
tuning and AV7110 firmware, wouldn't work properly if they were on in the
kernel but off for v4l-dvb Hg.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
On make 3.81, backslash isn't removed anymore when inside of a single
quotted string. This makes make release to fail, since perl won't understand
the backslash.
This patch just make all script into one line. Bad to understand, but, at least,
it will work fine with both GNU make 3.80 and make 3.81.
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: Mauro Carvalho Chehab <mchehab@infradead.org>
Building system now looks kernel config.h and autoconf.h files,
seeking for the compiled options at kernel. If something is missing,
it will disable compilation for that driver, printing a warning message.
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: Mauro Carvalho Chehab <mchehab@infradead.org>
There were a circular dependency at scripts/make_makefile.pl that were
affecting mostly building with GNU make 3.81.
Also, scripts/make_noconfig.pl is, in fact, building .myconfig file, so,
better to name it as make_myconfig.pl.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
distclean was not cleaning the v4l/.myconfig file, or the symlinks made
for the lxdialog program. This caused problems especially if you were
switching between different kernel versions for testing.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Fix missing $() on variable name in dvb/ttpci/Makefile, prevented AV7110
firmware from building.
Remove unnecessary and problematic defines in cflags from v4l/Makefile,
they conflict with the kernel's autoconf.h and are are overridden by
v4l/config-compat.h anyway.
Fix AV7110 firmware dependencies so that parallel builds work correctly.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
insmod.sh were a hack, were somebody should check all dependencies
for each module. Several dependencies were mising, and, to keep it
updated for 178 modules is really hard.
rmmod.pl is a "smart" script: it does:
1) Check, for each found module on v4l, the correct order for each
module;
2) Check any dependencies for out-of-tree modules;
3) rmmod/insmod at the correct order;
4) It have a table with the suggested debug parameter for each module.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Since v4l-dvb now uses the kernel's config system, it needs certain kernel
binaries like qconf, mconf, and lxdialog to run the config targets. The
kernel's Makefile is not kind enough to give us a target to just build these
programs. What this patch does is introduce a new makefile,
Makefile.kernel, which includes the kernel's top-level Makefile. Then adds
some new "v4l-*" targets which just build the kernel config programs.
The main v4l Makefile is patched to add the necessary kernel conf programs
as dependencies to their respective config targets. Rules to build the
kernel conf programs are added which invoke a sub-make with the new
Makefile.kernel. These rules are only invoked when the kernel conf programs
needed don't yet exist. If they already exist, no write access to the
kernel source tree is needed.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
When building in-kernel, compile-time build options are passed into the
compiler using '#include <linux/config.h>' . This file #include's
<linux/autoconf.h> , which is created on the fly by the kbuild system.
However, this does not work correctly when building from the mercurial
repository, since the kernel is built indepentently of v4l/.myconfig
This creates a "config-compat.h", which will be #include'd by compat.h
and will emulate <linux/config.h> for the local build.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Now, with make DIR=<foo>, it is possible to compile V4L/DVB with a
non-installed dir. This will allow better checking on compatibility issues
(especially for -git tree)
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: Mauro Carvalho Chehab <mchehab@infradead.org>
Makefile.media requires first .version. Fixed.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
This patch moves the 'make install' and 'make rminstall' rules into the
central Makefile. This allows for us to assign dependencies to these rules,
so that modules built as a reult of a tree-merge don't have to be installed
separately.
Now, instead of doing 'make install && make ivtv-install', the simple
command, 'make install' will call the sub-install rules and take care
of the entire task.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.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: Mauro Carvalho Chehab <mchehab@infradead.org>
Included a INSTALL file
make help shows the INSTALL file
added make release to force compiling against a specified version
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|