[pvrusb2] New driver snapshot: pvrusb2-mci-20090315

Mike Isely isely at isely.net
Sun Mar 15 16:24:37 CDT 2009


A new pvrusb2 driver snapshot is available.  The driver changes are:

  (+) Various miscellaneous tweaks to preserve reasonably correct
      compilation for older kernels (test compiled back to 2.6.12.3).

  (+) Implement and enable composite and s-video inputs for OnAir
      devices.

  (+) Remove ancient IVTV_IOC_G_CODEC and IVTV_IOC_S_CODEC ioctl
      functions.  These are very very old, were non-standard, and were
      only present to keep MythTV happy (their implementation did
      nothing except to report success).  That was long ago; no recent
      versions of MythTV should require this anymore.

  (+) MAJOR: Implement a new client modules layer, based upon the
      v4l2-subdev framework.  Note that this is only active in the
      standalone driver when building against v4l-dvb or in a kernel
      that is 2.6.29 or later.  The v4l-dvb core has a new mechanism
      known as "v4l2-subdev".  This is a whole new method for finding,
      attaching to, and communicating with all the various chip-level
      drivers.  This is the "official" way of controlling all the
      "sub-drivers" now.  This is also expected to be required
      starting with kernel 2.6.30 (i.e. support for the old i2c
      specific mechanism will be removed).  The pvrusb2 standalone
      driver for now still has the old method implemented alongside
      the new one - compile time options select which method to build
      depending on the environment (i.e. kernel version).  So
      backwards compatibility for now is not affected and the driver
      should _in theory_ continue to work all the way back to 2.6.12
      (conditioned of course on the other various things mentioned in
      the setup documentation).  But at some point in the future, I
      expect it will become too cumbersome to keep both methods
      working, at which point I will remove the old method and the
      standalone driver will then no longer directly support kernels
      older than approximately 2.6.29 (the point when the v4l2-subdev
      mechanism first became workable and resident in the mainline
      kernel).

  (+) Fix build so that V4LDIR trick works again for building against
      v4l-dvb.

  (+) Use usb_make_path (where possible) to report device bus
      location.  This produces a more stable result than what had been
      done before.

In addition to those driver changes, I've combed through the online
documentation and fixed various errors, updated various things.  I've
added new information about Gotview and OnAir support (the support in
question isn't new but the documentation was wrong or misleading).  I
have also added notes and references to the OnAir firmware, both
available now at isely.net and also at Autumnwave's site.

Note that the "major" change above is in preparation for the 2.6.30
kernel, where that logic will be required in order for the driver to
continue working correctly.  It's a complete replacement for the
driver's control logic for handling all the "chip-level" drivers it
must deal with.  The required new v4l-dvb framework (a.k.a.
"v4l2-subdev") for this appears in 2.6.29, so the driver build is
configured to switch on the new implementation at that kernel version
(and correspondingly disable the old implementation).  The short
summary of this is that you won't be affected by that "major" change
at all until you try to build the driver in kernel 2.6.29 or later.

The outward changes for this release are actually fairly small.  But
the new control framework itself involves a lot of new code (which is
ifdef'ed out until you try 2.6.29 or later).  It's a lot of stuff for
(hopefully!) very little visible change.

As usual, the pvrusb2 web site can be found at:

  http://www.isely.net/pvrusb2/pvrusb2.html

  -Mike

-- 

Mike Isely
isely @ pobox (dot) com
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8


More information about the pvrusb2 mailing list