Commit graph

138232 commits

Author SHA1 Message Date
Mike Isely 5a3bab8eb0 V4L/DVB (11204): pvrusb2: Remove old i2c layer; we use v4l2-subdev now
This change removes the old i2c module controlling layer from the
pvrusb2 driver.  This is code that first had appeared in the driver
back in December 2005.  It's history.  Now we use v4l2-subdev.  Please
note also that with this change, the driver will no longer be usable
in kernels older that 2.6.22.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely 2eb563b7e7 V4L/DVB (11203): pvrusb2: Implement better reporting on attached sub-devices
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely fd28aeafd6 V4L/DVB (11202): pvrusb2: Fix slightly mis-leading header in debug interface output
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely 7dfdf1ee14 V4L/DVB (11201): pvrusb2: Fix space-after-comma idiocy
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely 69ea3c1cbc V4L/DVB (11200): pvrusb2: Make a bunch of dvb config structures const (trivial)
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely dd5f322f35 V4L/DVB (11199): pvrusb2: Convert all device definitions to use new sub-device declarations
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely 23334a22ea V4L/DVB (11198): pvrusb2: Define default I2C address for CS53L32A sub-device
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:39 -03:00
Mike Isely 851981a1ee V4L/DVB (11197): pvrusb2: Fix incorrectly named sub-device ID
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely 1dfe6c7794 V4L/DVB (11196): pvrusb2: Define default I2C addresses for msp3400 and saa7115 sub-devices
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely 5c6cb4e251 V4L/DVB (11195): pvrusb2: Issue required core init broadcast to all sub-devices
The v4l2-subdev infrastructure requires that an initialization call
must be issued to all attached sub-devices before normal operation can
start.  This change satisfies that requirement.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely 27764726a8 V4L/DVB (11194): pvrusb2: Implement mechanism to force a full sub-device update
When a pvrusb2 driver instance first initializes, we need to be sure
to send out a complete state update for everything to all attached
modules.  The old i2c layer did this by keeping a separate mask of
"stale" bits for each attached module - and setting that mask to all
stale when that module attaches.  But the new sub-device adaptation
I've implemented here no longer has per-module stale bits.  So instead
there's now a global "force dirty" bit that is set upon instance
initialization, before the sub-devices are attached.  After the first
update, this bit is cleared, allowing for normal update-on-dirty
behavior.  In this manner, we ensure that all sub-devices have been
properly synchronized at initialization.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely 5e430ca5d2 V4L/DVB (11193): pvrusb2: Correct some trace print inaccuracies
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely e260508d64 V4L/DVB (11192): pvrusb2: Implement trace print for stream on / off action
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely 0b46701499 V4L/DVB (11191): pvrusb2: Define default I2C address for cx25840 sub-device
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely 75212a0273 V4L/DVB (11190): pvrusb2: Broadcast tuner type change to sub-devices
The tuner sub-device isn't going to work very well unless we tell it
the correct tuner type to use...

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:38 -03:00
Mike Isely b481880bff V4L/DVB (11189): pvrusb2: Deal with space-after-comma coding style idiocy
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely e68a619a1b V4L/DVB (11188): pvrusb2: Sub-device update must happen BEFORE state dirty bits are cleared
The sub-device update mechanism relies on various "dirty" bits in the
driver in order to know what pieces of state need to be propagated out
to the various sub-devices.  But that won't work if the dirty bits are
cleared before the update gets a chance to run.  This change ensures
that the update takes place before the dirty bits are cleared.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely 0db8556805 V4L/DVB (11187): pvrusb2: Allow sub-devices to insert correctly
A sub-device won't successfully attach to our I2C adapter if its class
isn't set to zero.  Right the class is still set to
I2C_CLASS_TV_ANALOG in order to allow the old mechanism to still
work.  This change temporarily sets the class to zero during the
interval when the sub-device attaches.  This code will get removed
when the old i2c layer is finally removed from the driver.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely 5f757ddd5f V4L/DVB (11186): pvrusb2: Fix bugs involved in listing of sub-devices
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely 3ab8d29515 V4L/DVB (11185): pvrusb2: Fix uninitialized counter
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely ae111f76f7 V4L/DVB (11184): pvrusb2: Define default i2c address for wm8775 sub-device
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely bd14d4f8f4 V4L/DVB (11183): pvrusb2: Implement more sub-device loading trace and improve error handling
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely 634ba268b9 V4L/DVB (11182): pvrusb2: Tie in cx25840 sub-device support
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:37 -03:00
Mike Isely 1e481cca49 V4L/DVB (11181): pvrusb2: Fix silly 80 column issue
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:36 -03:00
Mike Isely 76891d6557 V4L/DVB (11180): pvrusb2: Tie in msp3400 sub-device support
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:36 -03:00
Mike Isely 4ecbc28d3d V4L/DVB (11179): pvrusb2: make sub-device specific update function names uniform
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:36 -03:00
Mike Isely 01c59df818 V4L/DVB (11178): pvrusb2: Make audio sample rate update into a sub-device broadcast
The pvrusb2 driver had previously been using i2c module specific calls
to set the sample rate (a long long time ago this was needed).  These
days it is safe to use a broadcast so let's just broadcast this when
communicating audio sample rate to sub-devices.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely 6f9565120f V4L/DVB (11177): pvrusb2: Tie in saa7115 sub-device handling
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely 5f6dae802c V4L/DVB (11176): pvrusb2: Tie in wm8775 sub-device handling
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely edb9dcb885 V4L/DVB (11175): pvrusb2: Implement sub-device specific update framework
Lay down a foundation whereby it becomes possible to send customized
updates to specific sub-devices.  (This becomes useful for routing
configuration, which is a very sub-device specific operation.)

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely 858f910e86 V4L/DVB (11174): pvrusb2: Implement reporting of connected sub-devices
The pvrusb2 driver has a function that reports internal state.  It can
be accessed from either the debug interface or as the result of a v4l
log status request.  This change adds information listing sub-devices
to the report.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely 20ae26c84e V4L/DVB (11173): pvrusb2: Fix backwards function header comments
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely 1ab5e74fa3 V4L/DVB (11172): pvrusb2: Cause overall initialization to fail if sub-driver(s) fail
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:35 -03:00
Mike Isely af78e16b5d V4L/DVB (11171): pvrusb2: Tie in sub-device decoder start/stop
Implement code to send appropriate streaming start/stop commands to
attached sub-devices

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely 6907205bcb V4L/DVB (11170): pvrusb2: Clean-up / placeholders inserted for additional development
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely 00e5f73607 V4L/DVB (11169): pvrusb2: Note who our video decoder sub-device is, and set it up
Other code may need to treat the video decoder sub-device in a special
manner, so this change implements code to recognize when such a
sub-device is connected to the driver, does any special processing for
it, and notes who the device is for future reference.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely e3e76cbb4d V4L/DVB (11168): pvrusb2: Define value for a null sub-device ID
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely 2641df3621 V4L/DVB (11167): pvrusb2: Tie in various v4l2 operations into the sub-device mechanism
This is another step in the v42l-subdev assimilation.  This implements
various call-outs to sub-devices based on state changes within the
pvrusb2 driver.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely 40f07111be V4L/DVB (11166): pvrusb2: Implement status fetching from sub-devices
Implement status fetching operations in terms of calling out to
sub-device(s).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely d8f5b9ba82 V4L/DVB (11165): pvrusb2: Tie in debug register access to sub-devices
Implement tie-in for v4l2 debug register access such that the
appropriate attached sub-device is handled.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely ed3261a859 V4L/DVB (11164): pvrusb2: Tie-in sub-device log requests
Trigger a broadcast to attached sub-devices when a logging request is made.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:34 -03:00
Mike Isely 5ceaad14ea V4L/DVB (11163): pvrusb2: Lay foundation for triggering sub-device updates
These changes set up the spot where we'll check for and set general
updates to any attached sub-devices.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely 446dfdc6cc V4L/DVB (11162): pvrusb2: Tie up loose ends with v4l2-subdev setup
Tie up loose ends with v4l2-subdev setup.  Set attached module's group
ID to match our internal ID, emit a few useful messages when
sub-devices are dealt with, implement better error legs, and fix an
error in the old i2c layer (caused by changes related to the
v4l2-subdev work here).

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely 15b474423f V4L/DVB (11161): pvrusb2: Set i2c autoprobing to be off by default
In order to keep a sub-device from promiscuously attaching to the
pvrusb2 driver, the i2c adapter's class must be cleared.  This change
clears that class by default.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely 6063a4422c V4L/DVB (11160): pvrusb2: whitespace tweaks
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely a932f50746 V4L/DVB (11159): pvrusb2: Providing means to stop tracking an old i2c module
This implements a temporary mechanism to "untrack" an i2c module from
the old i2c layer.  The v4l2-subdev related code in the driver will
use this to remove a sub-device from the old i2c layer.  In the end,
once the old i2c layer is removed, this will also eventually go away.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely e9c64a78db V4L/DVB (11158): pvrusb2: New device attribute mechanism to specify sub-devices
Set up new mechanism for declaring and loading appropriate sub-devices
when driver initializes.  This is another part of the v4l2-subdev
adoption.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely acd92d40cc V4L/DVB (11157): pvrusb2: whitespace trivial tweaks
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely a51f5000b7 V4L/DVB (11156): pvrusb2: Changes to further isolate old i2c layer
This introduces some additional isolation in the pvrusb2 from the old
i2c layer, a step along the way to separate the driver from that layer
and to make it easier to introduce the common v4l2-subdev framework as
the eventual replacement.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00
Mike Isely b72b7bf5cb V4L/DVB (11155): pvrusb2: Set up v4l2_device instance
Define a v4l2_device instance in the pvrusb2 driver and initialize /
tear it down appropriately.  This is a step in the v4l2-subdev
adoption effort.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:33 -03:00