Re: firedtv updates

Previous thread: TW6800 based video capture boards by Domenico Andreoli on Saturday, May 24, 2008 - 7:00 pm. (8 messages)

Next thread: Re: Cirque Touchpad Driver by Vadim Klishko on Thursday, October 4, 2007 - 10:46 am. (11 messages)
From: Stefan Richter
Date: Sunday, January 18, 2009 - 11:29 am

Hi all,

I pushed a few updates for firedtv (FireWire DVB driver) out to

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

and also to my quilt trees at

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

Changes at linux1394-2.6.git:
  - Renamed branch "firedtv" to "firedtv-2.6.25".
  - Pushed some updates to branches firedtv-2.6.25, firedtv-2.6.27,
    firedtv-2.6.28; see below.
  - Created a new branch "firedtv" which is based on v2.6.29-rc2 and
    does not share history with the other three branches.  This was
    necessary because a build bug was discovered; I folded the fix into
    the respective commit.

Differences in the git history aside, the actual contents of the firedtv
sources are the same in all four branches.  The firedtv branch is also
visible in Stephen Rothwell's linux-next.

Updates from this weekend:
  - Finally renamed the files, variables, functions etc. from firesat to
    firedtv.
  - Folded four smaller source files into thematically related bigger files.
  - Reduced stack usage in the AV/C code somewhat.
  - Various stylistic changes.

See the log and diffstats of these changes further below.

I really need to get my act together and post the driver to LKML. :-)
In the coming week, I will look for remaining potential submission
hurdles and decide what I would want to tweak before I post everything.

As always, comments, criticism, and more so patches are welcome. :-)


Current total shortlog of v2.6.29-rc2..firedtv:

Ben Backx (2):
      firesat: fix DVB-S2 device recognition
      firesat: add DVB-S support for DVB-S2 devices

Greg Kroah-Hartman (1):
      DVB: add firesat driver

Henrik Kurelid (5):
      firesat: update isochronous interface, add CI support
      firesat: avc resend
      firedtv: fix returned struct for ca_info
      firedtv: use length_field() of PMT as length
      firedtv: fix registration - adapter number could only be zero

Julia Lawall (1):
      firedtv: Use ...
From: Vadim Klishko
Date: Sunday, May 25, 2008 - 11:07 am

I thought there was a legal way of doing it as described here:

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: yogesh tillu
Date: Thursday, October 4, 2007 - 8:33 am

please update on the current status and final list of the programmer
for this project .
So we can start actual work .

Cheers,
Yogesh
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: James Chapman
Date: Sunday, May 25, 2008 - 11:54 am

You need to stop thinking of your code as a library. It's a binary 
kernel module.

Binary kernel modules are legal only if they use _standard_, non-GPL 
kernel APIs. You can't add a GPL shim/driver to expose new, proprietary 
hooks for use by non-GPL code either. As Greg said, that's illegal.

It is also worth bearing in mind that the effort needed to write and 
maintain binary modules can be significant. You can't make use of many 
cool features of the kernel because they are available only to GPL code. 
More importantly, keeping the binary module in sync with changing kernel 
releases takes a lot of effort.

Just to be clear, the only symbols that non-GPL kernel code can access 
are marked in the kernel sources using EXPORT_SYMBOL(). You cannot 
access any of the EXPORT_SYMBOL_GPL() symbols.

-- 
James Chapman
Katalix Systems Ltd
http://www.katalix.com
Catalysts for your Embedded Linux software development

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Greg KH
Date: Sunday, May 25, 2008 - 2:27 pm

I also say that there is no way that binary kernel modules can be legal
at all, don't let the EXPORT_SYMBOL / EXPORT_SYMBOL_GPL fool you into
thinking otherwise.

I have stated many times, in many places, and have many lawyers who have
said the same thing, so please do not think I feel otherwise.

thanks,

greg k-h
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Greg KH
Date: Sunday, May 25, 2008 - 2:25 pm

The kernel is not a "system library", nor does it interact with one at
all.

Also note that the kernel is covered under GPLv2, not v3, which is the
description of most of the answers on that page.

There is no way to create a "GPL Condom" to protect your code in the
kernel from being released under the GPLv2, sorry, that just is not
possible.  For lots of prior art on this, and lots of failed legal
attempts to do this, please see the Samba group, there is a long history
of them prevailing on this topic.

thanks,

greg k-h
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Stefan Richter
Date: Wednesday, February 11, 2009 - 1:52 pm

Well, I didn't specify exactly /which/ coming week, did I?

Right now I finished addressing a few of those "potential submission
hurdles" --- I rewrote all accesses of on-the-wire data which used
bitfields in struct types to use open-coded bit shifts and bit masks
instead.  Furthermore I removed some unused declarations and
definitions.

I briefly tested these somewhat intrusive changes with a FireDTV-C/CI
and a FireDTV-T/CI, both without CA module.  But I would appreciate it
if somebody else looks at these changes as well to catch possible
mistakes.

Pushed out to linux1394-2.6.git, will also update my quilt series soon:

Stefan Richter (5):
      firedtv: avc: remove bitfields from FCP frame types
      firedtv: avc: header file cleanup
      firedtv: avc: remove bitfields from DSD command operands
      firedtv: avc: remove bitfields from read descriptor response operands
      firedtv: avc, ci: remove unused constants

 drivers/media/dvb/firewire/avc.c        |  393 +++++++++++++----------
 drivers/media/dvb/firewire/avc.h        |  381 +----------------------
 drivers/media/dvb/firewire/firedtv-ci.c |   63 ++--
 drivers/media/dvb/firewire/firedtv-fe.c |   30 +-
 drivers/media/dvb/firewire/firedtv.h    |  110 ++-----
 5 files changed, 310 insertions(+), 667 deletions(-)

What I still want to do before I post everything at LKML is less
ambitious:  Some whitespace and comment style changes, remove a kernel
version compatibility macro, use dev_printk, remove some pointer type
casts, collapse all header files into a single one.

So that should go swifter than the bitfield conversions.  Also, it's
quiet at the drivers/firewire and drivers/ieee1394 fronts at the moment,
giving me some room for firedtv work.
-- 
Stefan Richter
-=====-==--= --=- -=-==
http://arcgraph.de/sr/

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel
From: Stefan Richter
Date: Sunday, February 15, 2009 - 9:28 am

Here we go.  Below is the log of this weekend's updates which are
already pushed out to linux1394-2.6.git and to my quilt series and
patchkits at http://user.in-berlin.de/~s5r6/linux1394/.  In addition to
what I mentioned above, these updates contain
  - preparation to add a drivers/firewire backend in addition to the
    present drivers/ieee1394 backend,
  - modularization of the remote control code (can build firedtv without
    it if the target does not have an input subsystem),
  - a locking fix in the demux feed start/stop code,
  - some other minimal housekeeping.

If somebody else worked on firedtv in the meantime too and wants me to
rebase his changes on top of mine, please send me your patches.  Also,
if there is something objectionable in my latest changes, yell.

At this point I consider firedtv ready to go into mainline, either
before v2.6.30-rc1 or maybe already even into a v2.6.29-rc.  I will post
an according announcement to LKML + linux1394-devel + linux-media on
Monday, and I will post the combined firedtv patch to LKML then too.

The shortlog and diffstat:

Stefan Richter (13):
      firedtv: misc style touch-ups
      firedtv: combine header files
      firedtv: remove kernel version compatibility macro
      firedtv: amend Kconfig menu prompt
      firedtv: concentrate ieee1394 dependencies
      firedtv: replace EXTRA_CFLAGS by ccflags
      firedtv: allow build without input subsystem
      firedtv: dvb demux: fix missing braces
      firedtv: dvb demux: fix mutex protection
      firedtv: dvb demux: remove a bogus loop
      firedtv: dvb demux: some simplifications
      firedtv: dvb demux: more compact channels backing store
      firedtv: rename a file once more

 drivers/media/dvb/Kconfig                          |    2 +
 drivers/media/dvb/firewire/Kconfig                 |   26 +-
 drivers/media/dvb/firewire/Makefile                |   15 +-
 drivers/media/dvb/firewire/avc.h                   |   52 ---
 ...
Previous thread: TW6800 based video capture boards by Domenico Andreoli on Saturday, May 24, 2008 - 7:00 pm. (8 messages)

Next thread: Re: Cirque Touchpad Driver by Vadim Klishko on Thursday, October 4, 2007 - 10:46 am. (11 messages)