From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Jan Hoogenraad <jan-conceptronic@hoogenraad.net>,
Hans Verkuil <hverkuil@xs4all.nl>,
linux-media@vger.kernel.org
Subject: Re: firedtv and removal of old IEEE1394 stack
Date: Wed, 09 Feb 2011 13:51:22 -0200 [thread overview]
Message-ID: <4D52B7FA.7080606@redhat.com> (raw)
In-Reply-To: <20110209142204.6eb445de@stein>
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.
next prev parent reply other threads:[~2011-02-09 15:51 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2011-02-05 14:36 ` Hans Verkuil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D52B7FA.7080606@redhat.com \
--to=mchehab@redhat.com \
--cc=hverkuil@xs4all.nl \
--cc=jan-conceptronic@hoogenraad.net \
--cc=linux-media@vger.kernel.org \
--cc=stefanr@s5r6.in-berlin.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox