Re: firedtv and removal of old IEEE1394 stack

2011-02-09 Thread Stefan Richter
On Feb 09 Jan Hoogenraad wrote:
 For a problem description, and workaround, see:
 
 http://linuxtv.org/hg/~jhoogenraad/ubuntu-firedtv/

Do you mean
http://linuxtv.org/hg/~jhoogenraad/ubuntu-firedtv/rev/c8e14191e48d
Disable FIREDTV for debian/ubuntu distributions with bad header files?

I still don't see what the problem is.  If you have a kernel without
drivers/ieee1394/*, then you also must have a kernel .config without
CONFIG_IEEE1394.  Et voilĂ , firedtv builds fine (if CONFIG_FIREWIRE is y
or m).  So, please make sure that .config and kernel sources match.

IOW the workaround c8e14191e48d addresses the wrong issue.  Don't disable
CONFIG_DVB_FIREDTV; just make sure that the dependency of
CONFIG_DVB_FIREDTV_IEEE1394 on CONFIG_IEEE1394 is taken into account, like
in the mainline kernel's build system.

 and
 
 https://bugs.launchpad.net/ubuntu/+source/linux-kernel-headers/+bug/134222

Well, if you move arbitrary drivers/*/*.h files somewhere else where they
were never intended to be exported to, and supplant Kconfig by some
homegrewn ad hoc configuration builder, then you are of course on your own.
Still, my above comment on .config having to match the kernel sources
applies just as well and fully describes the problem and its solution. :-)
-- 
Stefan Richter
-=-==-== --=- -=--=
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: firedtv and removal of old IEEE1394 stack

2011-02-09 Thread Stefan Richter
On Feb 09 Stefan Richter wrote:
  https://bugs.launchpad.net/ubuntu/+source/linux-kernel-headers/+bug/134222

Correction:

Bug 134222 has *nothing* to do with the removal of the older ieee1394
stack.  The bug is about

  1. a defect during assembling the linux-kernel-headers package.
 The drivers/ieee1394/* files do not belong into such a package.
 They are driver source files, not exported kernel headers.

 Don't export kernel source files as linux-headers if they are not
 meant to be exported.

  2. the dvb backports relying on this broken package.  Tough luck.

 You want to build a kernelspace driver whose sources include other
 kernel sources?  Well, include these kernel sources, not some
 arbitrary userland source files.
-- 
Stefan Richter
-=-==-== --=- -=--=
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: firedtv and removal of old IEEE1394 stack

2011-02-09 Thread Mauro Carvalho Chehab
Em 09-02-2011 11:22, Stefan Richter escreveu:
 On Feb 09 Jan Hoogenraad wrote:
 For a problem description, and workaround, see:

 http://linuxtv.org/hg/~jhoogenraad/ubuntu-firedtv/
 
 Do you mean
 http://linuxtv.org/hg/~jhoogenraad/ubuntu-firedtv/rev/c8e14191e48d
 Disable FIREDTV for debian/ubuntu distributions with bad header files?
 
 I still don't see what the problem is.  If you have a kernel without
 drivers/ieee1394/*, then you also must have a kernel .config without
 CONFIG_IEEE1394.  Et voilĂ , firedtv builds fine (if CONFIG_FIREWIRE is y
 or m).  So, please make sure that .config and kernel sources match.
 
 IOW the workaround c8e14191e48d addresses the wrong issue.  Don't disable
 CONFIG_DVB_FIREDTV; just make sure that the dependency of
 CONFIG_DVB_FIREDTV_IEEE1394 on CONFIG_IEEE1394 is taken into account, like
 in the mainline kernel's build system.

The out-of-tree build system tries to match the CONFIG_foo symbols found on
distros where this is possible, but sometimes the config symbol changes its
name. So, the out-of-tree building system has also a per-kernel version list
of drivers that need to be disabled with some older kernel versions (vanilla
kernels), where the driver is known to not work or compile.

The problem arises when a distro-patched kernel uses a newer version of a 
core ABI and not providing backport support for the old ABI.

Ubuntu has a bad history of doing things like that. On some cases, their 
devel 
kernel packages don't match some drivers shipped with it.

For example, some (all?) versions of Ubuntu distribute the alsa headers at the
kernel package that don't match the alsa core ABI found on it. So, if you 
compile a kernel driver based on it, the driver won't work, as symbols won't
match (to be worse, it generally compiles fine).

The firewire and alsa drivers compile and run fine on other distros like Fedora 
and RHEL. I never tried with other distros, so I can't provide a more complete
list, but I suspect that it will also work with Suse/Open Suse, as they also try
to preserve ABI backports.

The only fix for it is to disable the compilation of such drivers for the 
out-of-tree build if a broken distro kernel is detected. That's the approach 
of Jan's patches.

Cheers,
Mauro.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: firedtv and removal of old IEEE1394 stack

2011-02-09 Thread Mauro Carvalho Chehab
Em 09-02-2011 12:24, Stefan Richter escreveu:
 On Feb 09 Stefan Richter wrote:
 https://bugs.launchpad.net/ubuntu/+source/linux-kernel-headers/+bug/134222
 
 Correction:
 
 Bug 134222 has *nothing* to do with the removal of the older ieee1394
 stack.  

Agreed.

 The bug is about
 
   1. a defect during assembling the linux-kernel-headers package.

Yes.

  The drivers/ieee1394/* files do not belong into such a package.
  They are driver source files, not exported kernel headers.
 
  Don't export kernel source files as linux-headers if they are not
  meant to be exported.

It would be fine if they match the ABI symbols found on the vanilla kernel
for the same version. If they don't match, the media backport system could
have a fix, as there are several cases where the backport system detects
for some specific ABI changes, and apply some solution that will make the
driver compile and work with that ABI version.
 
   2. the dvb backports relying on this broken package.  Tough luck.
 
  You want to build a kernelspace driver whose sources include other
  kernel sources?  Well, include these kernel sources, not some
  arbitrary userland source files.

I partially agree

The media backport tree is meant only to help people to test media drivers. 
It is not meant to be used on production, as nobody is actually doing tests 
to check if the backports are fine for some specific distro.

So, it is an use with your own risk approach. If it doesn't work... well,
this can happen. People are free to fix and send us patches for it.

The real solution is to do a real backport for some specific distro. The
media_build might help to point where the ABI differences are, but some
additional changes may be required to be sure that the module will work
fine.

On the other hand, adding the Firewire stack at the media building tree
would probably add more pain, especially for the ones using other firewire
hardware and/or other distros.

In any case, I don't think that Stefan or any Firewire upstream developer
should do anything to solve it. It is a problem that needs to be addressed
by Ubuntu people, and/or by the developers that want to test the Firwire driver
with the Ubuntu-shipped kernel.

Cheers,
Mauro.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: firedtv and removal of old IEEE1394 stack

2011-02-05 Thread Stefan Richter
On Feb 03 Hans Verkuil wrote:
 Hi Stefan,
 
 I discovered (somewhat to my surprise) that the IEEE1394 stack was removed
 from the kernel in 2.6.37. Your commit 
 66fa12c571d35e3cd62574c65f1785a460105397
 indicates that the ieee1394 firedtv code can be removed in an indepedent 
 commit.
 
 It seems that this was forgotten since the firedtv-1394.c source is still
 present.

It is not forgotten, just delayed. :-)

 Is it OK if I remove it? I assume that anything that depends on 
 DVB_FIREDTV_IEEE1394
 can be deleted.

This stuff can be removed indeed, and will be.  After that, some further
simplifications are possible since the backend abstraction is no longer
necessary.

 It would be nice to remove this since building the firedtv driver for older 
 kernels
 always gives problems on ubuntu due to some missing ieee1394 headers.

How so?  Then there is something wrong with the backported sources.  If
CONFIG_IEEE1394 is not defined, neither make nor gcc ever see anything
that includes ieee1394 headers.  Vice versa regarding CONFIG_FIREWIRE and
the newer firewire headers.
-- 
Stefan Richter
-=-==-== --=- --=-=
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: firedtv and removal of old IEEE1394 stack

2011-02-05 Thread Stefan Richter
On Feb 05 Stefan Richter wrote:
 On Feb 03 Hans Verkuil wrote:
  It would be nice to remove this since building the firedtv driver for older 
  kernels
  always gives problems on ubuntu due to some missing ieee1394 headers.
 
 How so?  Then there is something wrong with the backported sources.

Or with the backports' build system perhaps.
-- 
Stefan Richter
-=-==-== --=- --=-=
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: firedtv and removal of old IEEE1394 stack

2011-02-05 Thread Hans Verkuil
On Saturday, February 05, 2011 15:21:22 Stefan Richter wrote:
 On Feb 03 Hans Verkuil wrote:
  Hi Stefan,
  
  I discovered (somewhat to my surprise) that the IEEE1394 stack was removed
  from the kernel in 2.6.37. Your commit 
  66fa12c571d35e3cd62574c65f1785a460105397
  indicates that the ieee1394 firedtv code can be removed in an indepedent 
  commit.
  
  It seems that this was forgotten since the firedtv-1394.c source is still
  present.
 
 It is not forgotten, just delayed. :-)
 
  Is it OK if I remove it? I assume that anything that depends on 
  DVB_FIREDTV_IEEE1394
  can be deleted.
 
 This stuff can be removed indeed, and will be.  After that, some further
 simplifications are possible since the backend abstraction is no longer
 necessary.

I posted a patch for this already after I discovered that it wasn't build at all
anymore due to incorrect Kconfig dependencies.

If you can Ack this patch (or comment on it if there are problems with it),
then that would be very helpful.

http://git.linuxtv.org/hverkuil/media_tree.git?a=commit;h=f02c316436eef3baf349c489545edc7ade419ff6

It just removes the 1394 parts and fixes the Kconfig dependencies.

  It would be nice to remove this since building the firedtv driver for older 
  kernels
  always gives problems on ubuntu due to some missing ieee1394 headers.
 
 How so?  Then there is something wrong with the backported sources.  If
 CONFIG_IEEE1394 is not defined, neither make nor gcc ever see anything
 that includes ieee1394 headers.  Vice versa regarding CONFIG_FIREWIRE and
 the newer firewire headers.

It is possible using a special build environment to build the latest media
drivers on older kernels. This is a service to our end-users and hopefully
increases our test coverage. But if you compile the latest drivers against an
older kernel that still has the IEEE1394 stack, then anything that still
depends on it gets enabled again.

Anyway, this is very specific to the media subsystem and does not affect the
current kernel. It will resolve itself automatically once the IEEE1394 code is
removed.

Regards,

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by Cisco
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


firedtv and removal of old IEEE1394 stack

2011-02-03 Thread Hans Verkuil
Hi Stefan,

I discovered (somewhat to my surprise) that the IEEE1394 stack was removed
from the kernel in 2.6.37. Your commit 66fa12c571d35e3cd62574c65f1785a460105397
indicates that the ieee1394 firedtv code can be removed in an indepedent commit.

It seems that this was forgotten since the firedtv-1394.c source is still
present.

Is it OK if I remove it? I assume that anything that depends on 
DVB_FIREDTV_IEEE1394
can be deleted.

It would be nice to remove this since building the firedtv driver for older 
kernels
always gives problems on ubuntu due to some missing ieee1394 headers.

Regards,

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by Cisco
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html