Age | Commit message (Collapse) | Author |
|
From: Mike Isely <isely@pobox.com>
The pvrusb2 driver - for basically forever - was not enforcing a
proper module tear-down. Kernel threads are used inside the driver
and all must be gone before the module can be safely removed. This
changeset reimplements a chunk of pvrusb2-context.c to enforce this
correctly. Unfortunately this is not a simple fix. The new
implementation also cuts back on kernel thread usage; instead of there
being 1 control thread per instance now it's just 1 control thread
shared by all instances. (By dropping to a single thread then the
module exit function can block on its shutdown and the thread itself
can monitor and cleanly shut down all of the other instances first.)
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Move pvr2_dvb_adapter usage out of the pvrusb2 driver core - it's
really private to the pvrusb2-dvb module and nothing outside of the
dvb implementation should care about it. Creation / destruction of
the pvr2_dvb_adapter instance is now contained entirely within
pvrusb2-dvb.c.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Rather than making an explicit call to tear down the pvrusb2-dvb
module, use the callback in the pvr2_channel structure. This has the
advantage that now tear-down only happens when it makes sense. The
previous implementation had scenarios where it was possible for the
tear-down call to happen without a prior initialization.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
Add basic framework for the DVB API. This is enough to control the
tuner & demod of the digital frontend, but the stream & buffer handling
is still missing.
Additional note from Mike Isely <isely@pobox.com> - also, since these
changes are still very experimental arrange for DVB changes to be
compiled in via new CONFIG_VIDEO_PVRUSB2_DVB option, for now.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
The pvrusb2 driver currently supports two variants of the Hauppauge
PVR USB2. However there are other hardware types potentially
supportable, but the driver at the moment is not structured to make it
easy to describe these minor variations. This changeset is the first
set of changes to make such additional device support possible.
Device attributes are held in several tables all contained within
pvrusb2-devattr.c; all other device-specific driver behavior now
derives from these tables.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
The pvrusb2 driver is tearing down its sysfs related pieces in the
incorrect order. This leaves dangling pointers which causes the
kernel device core to oops. The problem has been present virtually
forever but became malignant with the changeover to the way of
handling /sys/class. Fix is just to make sure we don't tear down the
class structure until AFTER the driver instances are deregistered.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
It's useful to see specific details for how the pvrusb2 driver is
figuring out things related to the video standard, independent of
other initialization activities. So let's set up a separate debug
mask bit for this and turn it on.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Since at least kernel 2.6.12-rc2, module.h includes moduleparm.h. This
patch removes all occurences of moduleparm.h from drivers/media files.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab
kernel-sync:
The original patch description, from Randy Dunlap
<randy.dunlap@oracle.com>:
header cleaning: don't include smp_lock.h when not used
Remove includes of <linux/smp_lock.h> where it is not used/needed.
Suggested by Al Viro.
Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,
sparc64, and arm (all 59 defconfigs).
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.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: Mauro Carvalho Chehab <mchehab@infradead.org>
Since kernel include autoconf.h via command line, those config.h inclusion
can be removed.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mike Isely <isely@pobox.com>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mike Isely <isely@pobox.com>
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Previously when the pvrusb2 driver loaded, it immediately did a
request_module() on all possible I2C support modules it might need.
But that is overkill, since the actual modules needed is a subset
depending on the model type. This change delays module request until
the hardware shows up, and then it only requests the modules that make
sense for the specific hardware.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mike Isely <isely@pobox.com>
Arrange things in pvrusb2 so that the sysfs-using component doesn't
have to be compiled in. Control this with new
CONFIG_VIDEO_PVRUSB2_SYSFS variable. This will allow the driver to
still be used even if sysfs has not been compiled into the kernel.
Also arrange things similarly in pvrusb2 for the debug interface,
which is something that normally should not need to be built but is
valuable for bug chasing. This is controlled now with
CONFIG_VIDEO_PVRUSB2_DEBUGIFC.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Request new modules that pvrusb2 may need. This is a stop-gap; we
need to do a better job of this. Also reorder the requests in the
extremely feeble hope that we can avoid some initialization races in
the hardware.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Move MODULE_DEVICE_TABLE to pvrusb2-hdw.c, in order to solve
compilation issue where that macro is pointing to an external symbol.
I have not seen this problem, but others have and so I'm fixing the
code. Different behavior is likely tied to gcc version in use.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Notice and track actual hardware type of device. This information is
also used now to select the correct FX2 firmware file to load (because
they can be different, unfortunately).
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|