public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* firedtv and removal of old IEEE1394 stack
@ 2011-02-03 16:06 Hans Verkuil
  2011-02-05 14:21 ` Stefan Richter
  0 siblings, 1 reply; 9+ messages in thread
From: Hans Verkuil @ 2011-02-03 16:06 UTC (permalink / raw)
  To: Stefan Richter; +Cc: linux-media, Mauro Carvalho Chehab

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: firedtv and removal of old IEEE1394 stack
  2011-02-03 16:06 firedtv and removal of old IEEE1394 stack Hans Verkuil
@ 2011-02-05 14:21 ` Stefan Richter
  2011-02-05 14:32   ` Stefan Richter
  2011-02-05 14:36   ` Hans Verkuil
  0 siblings, 2 replies; 9+ messages in thread
From: Stefan Richter @ 2011-02-05 14:21 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media, Mauro Carvalho Chehab

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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: firedtv and removal of old IEEE1394 stack
  2011-02-05 14:21 ` Stefan Richter
@ 2011-02-05 14:32   ` Stefan Richter
  2011-02-09  6:40     ` Jan Hoogenraad
  2011-02-05 14:36   ` Hans Verkuil
  1 sibling, 1 reply; 9+ messages in thread
From: Stefan Richter @ 2011-02-05 14:32 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media, Mauro Carvalho Chehab

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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: firedtv and removal of old IEEE1394 stack
  2011-02-05 14:21 ` Stefan Richter
  2011-02-05 14:32   ` Stefan Richter
@ 2011-02-05 14:36   ` Hans Verkuil
  1 sibling, 0 replies; 9+ messages in thread
From: Hans Verkuil @ 2011-02-05 14:36 UTC (permalink / raw)
  To: Stefan Richter; +Cc: linux-media, Mauro Carvalho Chehab

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: firedtv and removal of old IEEE1394 stack
  2011-02-05 14:32   ` Stefan Richter
@ 2011-02-09  6:40     ` Jan Hoogenraad
  2011-02-09 13:22       ` Stefan Richter
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Hoogenraad @ 2011-02-09  6:40 UTC (permalink / raw)
  To: Stefan Richter; +Cc: Hans Verkuil, linux-media, Mauro Carvalho Chehab

For a problem description, and workaround, see:

http://linuxtv.org/hg/~jhoogenraad/ubuntu-firedtv/

and

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


Stefan Richter wrote:
> 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.


-- 
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: firedtv and removal of old IEEE1394 stack
  2011-02-09  6:40     ` Jan Hoogenraad
@ 2011-02-09 13:22       ` Stefan Richter
  2011-02-09 14:24         ` Stefan Richter
  2011-02-09 15:51         ` Mauro Carvalho Chehab
  0 siblings, 2 replies; 9+ messages in thread
From: Stefan Richter @ 2011-02-09 13:22 UTC (permalink / raw)
  To: Jan Hoogenraad; +Cc: Hans Verkuil, linux-media, Mauro Carvalho Chehab

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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: firedtv and removal of old IEEE1394 stack
  2011-02-09 13:22       ` Stefan Richter
@ 2011-02-09 14:24         ` Stefan Richter
  2011-02-09 16:05           ` Mauro Carvalho Chehab
  2011-02-09 15:51         ` Mauro Carvalho Chehab
  1 sibling, 1 reply; 9+ messages in thread
From: Stefan Richter @ 2011-02-09 14:24 UTC (permalink / raw)
  To: Jan Hoogenraad; +Cc: Hans Verkuil, linux-media, Mauro Carvalho Chehab

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/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: firedtv and removal of old IEEE1394 stack
  2011-02-09 13:22       ` Stefan Richter
  2011-02-09 14:24         ` Stefan Richter
@ 2011-02-09 15:51         ` Mauro Carvalho Chehab
  1 sibling, 0 replies; 9+ messages in thread
From: Mauro Carvalho Chehab @ 2011-02-09 15:51 UTC (permalink / raw)
  To: Stefan Richter; +Cc: Jan Hoogenraad, Hans Verkuil, linux-media

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.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: firedtv and removal of old IEEE1394 stack
  2011-02-09 14:24         ` Stefan Richter
@ 2011-02-09 16:05           ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 9+ messages in thread
From: Mauro Carvalho Chehab @ 2011-02-09 16:05 UTC (permalink / raw)
  To: Stefan Richter; +Cc: Jan Hoogenraad, Hans Verkuil, linux-media

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.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-02-09 16:05 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-03 16:06 firedtv and removal of old IEEE1394 stack Hans Verkuil
2011-02-05 14:21 ` Stefan Richter
2011-02-05 14:32   ` Stefan Richter
2011-02-09  6:40     ` Jan Hoogenraad
2011-02-09 13:22       ` Stefan Richter
2011-02-09 14:24         ` Stefan Richter
2011-02-09 16:05           ` Mauro Carvalho Chehab
2011-02-09 15:51         ` Mauro Carvalho Chehab
2011-02-05 14:36   ` Hans Verkuil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox