some firedtv driver updates

Stefan Richter stefanr at s5r6.in-berlin.de
Sun Nov 2 14:58:15 UTC 2008


Hi all,

I did a few more updates to the firedtv driver --- most of them trivial,
hence I'm not posting them on the list.  They are available at the usual
places:

== git checkout ==

git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git firedtv
git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git firedtv-2.6.27
git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git firedtv-2.6.28

(The former branch is the main one and based on v2.6.25.  The latter two
branches are merely merge branches which resolve merge conflicts.)

== gitweb ==

http://git.kernel.org/?p=linux/kernel/git/ieee1394/linux1394-2.6.git;a=shortlog;h=firedtv
http://git.kernel.org/?p=linux/kernel/git/ieee1394/linux1394-2.6.git;a=shortlog;h=firedtv-2.6.27
http://git.kernel.org/?p=linux/kernel/git/ieee1394/linux1394-2.6.git;a=shortlog;h=firedtv-2.6.28

== quilt ==

http://user.in-berlin.de/~s5r6/linux1394/firedtv/


It's still not at the level at which I would like to have reached
already some time ago for a (hopefully final) review on LKML.  There
were some other things that are keeping me distracted...

So, here is the changelog and diffstat for the series and of each of the
patches.  Comments are welcome.

Stefan Richter (11):
      firedtv: remove various debug code
      firedtv: remove AV/C debug code
      firedtv: remove CA debug code
      firedtv: trivial cleanups in firesat-ci
      firedtv: trivial cleanups in cmp
      firedtv: remove bitfield typedefs from cmp, fix for big endian CPUs
      firedtv: don't retry oPCR updates endlessly
      firedtv: trivial cleanups in avc_api
      firedtv: trivial reorganization in avc_api
      firedtv: replace mdelay by msleep
      firedtv: increase FCP frame length for DVB-S2 tune QSPK

 drivers/media/dvb/firesat/avc_api.c      |  899 +++++++++-------------
 drivers/media/dvb/firesat/avc_api.h      |   31 +-
 drivers/media/dvb/firesat/cmp.c          |  247 +++----
 drivers/media/dvb/firesat/cmp.h          |    6 +-
 drivers/media/dvb/firesat/firesat-ci.c   |  235 ++----
 drivers/media/dvb/firesat/firesat_1394.c |   14 +-
 drivers/media/dvb/firesat/firesat_dvb.c  |   17 +-
 drivers/media/dvb/firesat/firesat_fe.c   |   52 +-
 drivers/media/dvb/firesat/firesat_iso.c  |    8 +-
 9 files changed, 595 insertions(+), 914 deletions(-)

===================================================================

    firedtv: remove various debug code

    Most of this was already commented out.  And that which wasn't is not
    relevant in normal use.

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/cmp.c          |   11 +----------
     drivers/media/dvb/firesat/firesat_1394.c |    4 ----
     drivers/media/dvb/firesat/firesat_dvb.c  |    4 ----
     drivers/media/dvb/firesat/firesat_iso.c  |    8 +-------
     4 files changed, 2 insertions(+), 25 deletions(-)

===================================================================

    firedtv: remove AV/C debug code

    This looks like it is not necessary to have available for endusers who
    cannot patch kernels for bug reporting and tests of fixes.

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/avc_api.c |  171 ----------------------------
     1 file changed, 6 insertions(+), 165 deletions(-)

===================================================================

    firedtv: remove CA debug code

    This looks like it is not necessary to have available for endusers who
    cannot patch kernels for bug reporting and tests of fixes.

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/firesat-ci.c |   67 -------------------------
     1 file changed, 67 deletions(-)

===================================================================

    firedtv: trivial cleanups in firesat-ci

    Whitespace, variable names, comment style...

    Also, use dvb_generic_open() and dvb_generic_release() directly as
    our hooks in struct file_operations because firedtv's wrappers merely
    called these generic functions.

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/firesat-ci.c |  162 ++++++++++---------------
     1 file changed, 66 insertions(+), 96 deletions(-)

===================================================================

    firedtv: trivial cleanups in cmp

    Reduce nesting level by means of early exit and goto.
    Remove obsolete includes, use dev_err(), no CamelCase function names...

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/cmp.c          |  199 +++++++++--------------
     drivers/media/dvb/firesat/cmp.h          |    6 
     drivers/media/dvb/firesat/firesat_1394.c |    4 
     drivers/media/dvb/firesat/firesat_fe.c   |    6 
     4 files changed, 93 insertions(+), 122 deletions(-)

===================================================================

    firedtv: remove bitfield typedefs from cmp, fix for big endian CPUs

    Use macros/ inline functions/ standard byte order accessors to read and
    write oPCR register values (big endian bitfields, on-the-wire data).
    The new code may not be the ultimate optimum, but it doesn't occur in a
    hot path.

    This fixes the CMP code for big endian CPUs.  So far I tested it only on
    a little endian CPU though.

    For now, include <asm/byteorder.h> instead of <linux/byteorder.h>
    because drivers/ieee1394/*.h also include the former.  I will fix this
    in drivers/ieee1394 and firedtv later.

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/cmp.c |   70 +++++++++++++++++---------------
     1 file changed, 38 insertions(+), 32 deletions(-)

===================================================================

    firedtv: don't retry oPCR updates endlessly

    In the theoretical case that the target node wasn't handling the lock
    transactions as expected or there was continued interference by other
    initiating nodes, these functions wouldn't return for ages.

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/cmp.c |    9 +++++++--
     1 file changed, 7 insertions(+), 2 deletions(-)

===================================================================

    firedtv: trivial cleanups in avc_api

    Use dev_err(), no CamelCase function names, adjust comment style, put
    #if 0 around unused code and add FIXME comments, standardize on
    lower-case hexadecimal constants, use ALIGN() for some frame length
    calculations, make a local function static...

    The code which writes FCP command frames and reads FCP response frames
    is not yet brought into canonical kernel coding style because this
    involves changes of typedefs (on-the-wire bitfields).

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/avc_api.c      |  206 +++++++++++------------
     drivers/media/dvb/firesat/avc_api.h      |   31 +--
     drivers/media/dvb/firesat/firesat-ci.c   |    8 
     drivers/media/dvb/firesat/firesat_1394.c |    6 
     drivers/media/dvb/firesat/firesat_dvb.c  |   13 -
     drivers/media/dvb/firesat/firesat_fe.c   |   46 ++---
     6 files changed, 146 insertions(+), 164 deletions(-)

===================================================================

    firedtv: trivial reorganization in avc_api

    Reduce nesting level by factoring code out of avc_tuner_dsd() into
    helper functions.

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/avc_api.c |  519 +++++++++++++---------------
     1 file changed, 257 insertions(+), 262 deletions(-)

===================================================================

    firedtv: replace mdelay by msleep

    These functions can sleep (and in fact sleep for the duration of a whole
    FCP transaction).  Hence msleep is more appropriate here.

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/avc_api.c |    6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)

===================================================================

    firedtv: increase FCP frame length for DVB-S2 tune QSPK

    The last three bytes didn't go out to the wire.
    Effect of the fix not yet tested.

    Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
    ---
     drivers/media/dvb/firesat/avc_api.c |    5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)

-- 
Stefan Richter
-=====-==--- =-== ---=-
http://arcgraph.de/sr/




More information about the devel mailing list