[pvrusb2] New driver snapshot: pvrusb2-mci-20051126
Mike Isely
isely at isely.net
Sat Nov 26 22:26:26 CST 2005
A new driver snapshot is available, pvrusb2-mci-20051126. Nothing
earth-shattering here:
I've successfully tested this under 2.6.15-rc2.
Starting with 2.6.15, there's a saa7115.ko available in the kernel tree.
Unfortunately its API is completely alien to the saa7115.ko we've been
using from ivtv. A few weeks ago when I began reworking things for V4L I
encountered this issue and wrote a new implementation of pvrusb2-video.c
to use the new API. However for the 20051113 snapshot of the driver one
had to manually choose the right implementation (by default the snapshot
was set up for the older ivtv specific API which is why nobody noticed any
breakage). That's a time bomb waiting to blow up for when the first
person here tries 2.6.15 and assumes that the included saa7115.ko with
that kernel should "just work". So for this snapshot I've automated
things so the choice can be made at run-time. If you compile this
snapshot under 2.6.15, then the new API will be used *if* the
corresponding newer saa7115.ko has been detected as being loaded.
Basically what this means for you all is that more stuff will magically
work correctly :-) (I hope)
I've further complicated pvrusb2-eeprom with another "direct"
implementation that eliminates all the hackery (see diatribe in
pvrusb2-eeprom.html). This choice is not enabled by default; I
implemented it with an eye towards it being used when the driver is
compiled into V4L (where the ugly hack should never be needed).
There are some compile time switches defined in driver/compat.h now.
These can be tweaked to adjust various aspects for how the driver is
built. You don't *need* to touch this, as it should all magically work by
itself. My real motive for this was not to give more ways to screw this
up but rather to provide a means for compilation to adapt automatically
depending on whether the driver is built standalone (like we've always
done here) or as part of V4L. When compiled inside of V4L, this header
(compat.h) is replaced by something else entirely, in which case all those
switches end up taking default values which just happens to be exactly
what is needed in V4L. Coincidence? I think not :-)
There are some more interesting changes that should be coming soon in the
driver. In addition to further work towards V4L, the 0.5.0 snapshot of
ivtv came with a document that fairly completely describes the programming
API of the encoder chip. I've already skimmed this document and realized
some mistakes I've made and I see opportunity for additional functionality
(like perhaps other video formats). So barring other distractions I
should have some more interesting stuff coming soon.
-Mike
--
| Mike Isely | PGP fingerprint
Spammers Die!! | | 03 54 43 4D 75 E5 CC 92
| isely @ pobox (dot) com | 71 16 01 E2 B5 F5 C1 E8
| |
More information about the pvrusb2
mailing list