Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1bb6f32a authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] doc-rst: add documentation for pvrusb2



Convert pvrusb2 documentation to ReST file and removed the note
about an html version of the documentation, as it is not
shipped inside the Kernel.

Add it to media/v4l-drivers book.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 93db50d6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -30,4 +30,5 @@ License".
	meye
	omap3isp
	omap4_camera
	pvrusb2
	zr364xx
+76 −88
Original line number Diff line number Diff line
The pvrusb2 driver
==================

$Id$
Mike Isely <isely@pobox.com>
Author: Mike Isely <isely@pobox.com>

			    pvrusb2 driver

Background:
Background
----------

This driver is intended for the "Hauppauge WinTV PVR USB 2.0", which
is a USB 2.0 hosted TV Tuner.  This driver is a work in progress.
Its history started with the reverse-engineering effort by Björn
Danielsson <pvrusb2@dax.nu> whose web page can be found here:

http://pvrusb2.dax.nu/

From there Aurelien Alleaume <slts@free.fr> began an effort to
@@ -19,27 +18,26 @@ Background:
here.

More information on this driver can be found at:

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


This driver has a strong separation of layers.  They are very
roughly:

  1a. Low level wire-protocol implementation with the device.
1. Low level wire-protocol implementation with the device.

  1b. I2C adaptor implementation and corresponding I2C client drivers
2. I2C adaptor implementation and corresponding I2C client drivers
   implemented elsewhere in V4L.

  1c. High level hardware driver implementation which coordinates all
3. High level hardware driver implementation which coordinates all
   activities that ensure correct operation of the device.

  2.  A "context" layer which manages instancing of driver, setup,
4. A "context" layer which manages instancing of driver, setup,
   tear-down, arbitration, and interaction with high level
   interfaces appropriately as devices are hotplugged in the
   system.

  3.  High level interfaces which glue the driver to various published
5. High level interfaces which glue the driver to various published
   Linux APIs (V4L, sysfs, maybe DVB in the future).

The most important shearing layer is between the top 2 layers.  A
@@ -57,13 +55,8 @@ Background:
possible to produce a DVB high level interface that can sit right
alongside V4L.

  NOTE: Complete documentation on the pvrusb2 driver is contained in
  the html files within the doc directory; these are exactly the same
  as what is on the web site at the time.  Browse those files
  (especially the FAQ) before asking questions.


Building
--------

To build these modules essentially amounts to just running "Make",
but you need the kernel source tree nearby and you will likely also
@@ -71,8 +64,8 @@ Building
to link things up with that source tree.  Please see the Makefile
here for comments that explain how to do that.


Source file list / functional overview:
Source file list / functional overview
--------------------------------------

(Note: The term "module" used below generally refers to loosely
defined functional units within the pvrusb2 driver and bears no
@@ -132,7 +125,7 @@ Source file list / functional overview:
    (Policy, instantiation, and arbitration of pvrusb2 devices fall
    within the jurisdiction of pvrusb-context not here).

  pvrusb2-i2c-chips-*.c - These modules implement the glue logic to
pvrusb2-i2c-chips-\*.c - These modules implement the glue logic to
    tie together and configure various I2C modules as they attach to
    the I2C bus.  There are two versions of this file.  The "v4l2"
    version is intended to be used in-tree alongside V4L, where we
@@ -196,7 +189,7 @@ Source file list / functional overview:
    ways.  Note that **ALL** V4L functionality is published only
    through here and nowhere else.

  pvrusb2-video-*.[ch] - This is glue logic that resides between this
pvrusb2-video-\*.[ch] - This is glue logic that resides between this
    driver and the saa711x.ko I2C client driver (which is found
    elsewhere in V4L).  Note that saa711x.ko used to be known as
    saa7115.ko in ivtv.  There are two versions of this; one is
@@ -205,8 +198,3 @@ Source file list / functional overview:
pvrusb2.h - This header contains compile time tunable parameters
    (and at the moment the driver has very little that needs to be
    tuned).


  -Mike Isely
  isely@pobox.com