2006-01-18 13:29:45

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [RFC] Moving snd-bt87x and btaudio to drivers/media

Lee/Andrew/Linus/Takashi and others,

Currently, we have some audio modules for multimedia devices under
drivers/media and others under sound. They also appear under different
points at Kconfig menus.

So, for BTTV support, current structure at linus -git is (from Kconfig
perspective):

Sound/ALSA/PCI Devices/Bt87x Audio capture
sound/snd-bt87x.ko - ALSA audio for bttv boards
Sound/OSS/TV Card (bt848) mixer support
drivers/media/video/tvmixer.ko

Multimedia/V4L/BT848 V4L
drivers/media/video/bttv.ko
Multimedia/V4L/BT848 V4L/DVB-ATSC support
drivers/media/dvb/bt8xx/bt878.ko
drivers/media/dvb/bt8xx/dvb-bt8xx.o

This I couldn't found at any Kconfig (but module exists, and also an
entry at Makefile):
sound/oss/Makefile:obj-$(CONFIG_SOUND_BT878) += btaudio.o

For SAA7134 and CX88, all are under Multimedia/V4L. All
OSS/ALSA/DVB/MPEG options are under the driver name.

IMHO, from users perspective, it makes much more sense if all BTTV
moules (even sound ones) being under bttv video driver. Current module
allows using audio driver without video, but this doesn't make sense,
since audio will be only available, in practice, after selecting a
video/audio input or tuning a channel. These functionalities are
provided by bttv. So, we could even disable audio modules if bttv were
not compiled.

Also, bug 5995 showed a problem when user have a bttv card and dvb is
also probed. dvb also handles audio, so, currently, it is mutually
exclusive with snd-bt87x audio.

So, my proposal is to move sound/snd-bt87x.ko to drivers/media, moving
also its menu, and moving tvmixer menu also. After it, should move some
related code at bttv dvb modules, to reduce or eliminate mutually
exclusiveness between the two.

We might keep supporting btaudio, but I think this is already obsoleted
by alsa one, so, IMHO, we can just drop it. We intend to do the same
with saa7134-oss after some time (kernel 2.6.15 is the first with this
module, so we may remove it on 2.6.18 to give some time for testing).

Cheers,
Mauro.


2006-01-18 16:18:59

by Takashi Iwai

[permalink] [raw]
Subject: Re: [RFC] Moving snd-bt87x and btaudio to drivers/media

At Wed, 18 Jan 2006 11:29:28 -0200,
Mauro Carvalho Chehab wrote:
>
> Lee/Andrew/Linus/Takashi and others,
>
> Currently, we have some audio modules for multimedia devices under
> drivers/media and others under sound. They also appear under different
> points at Kconfig menus.
>
> So, for BTTV support, current structure at linus -git is (from Kconfig
> perspective):
>
> Sound/ALSA/PCI Devices/Bt87x Audio capture
> sound/snd-bt87x.ko - ALSA audio for bttv boards
> Sound/OSS/TV Card (bt848) mixer support
> drivers/media/video/tvmixer.ko
>
> Multimedia/V4L/BT848 V4L
> drivers/media/video/bttv.ko
> Multimedia/V4L/BT848 V4L/DVB-ATSC support
> drivers/media/dvb/bt8xx/bt878.ko
> drivers/media/dvb/bt8xx/dvb-bt8xx.o
>
> This I couldn't found at any Kconfig (but module exists, and also an
> entry at Makefile):
> sound/oss/Makefile:obj-$(CONFIG_SOUND_BT878) += btaudio.o
>
> For SAA7134 and CX88, all are under Multimedia/V4L. All
> OSS/ALSA/DVB/MPEG options are under the driver name.
>
> IMHO, from users perspective, it makes much more sense if all BTTV
> moules (even sound ones) being under bttv video driver. Current module
> allows using audio driver without video, but this doesn't make sense,
> since audio will be only available, in practice, after selecting a
> video/audio input or tuning a channel. These functionalities are
> provided by bttv. So, we could even disable audio modules if bttv were
> not compiled.
>
> Also, bug 5995 showed a problem when user have a bttv card and dvb is
> also probed. dvb also handles audio, so, currently, it is mutually
> exclusive with snd-bt87x audio.
>
> So, my proposal is to move sound/snd-bt87x.ko to drivers/media, moving
> also its menu, and moving tvmixer menu also. After it, should move some
> related code at bttv dvb modules, to reduce or eliminate mutually
> exclusiveness between the two.
>
> We might keep supporting btaudio, but I think this is already obsoleted
> by alsa one, so, IMHO, we can just drop it. We intend to do the same
> with saa7134-oss after some time (kernel 2.6.15 is the first with this
> module, so we may remove it on 2.6.18 to give some time for testing).

Which directory do you suppose exactly? drivers/media/tv (or
something like that), or existing one like drivers/media/video?

I personally have no big objection to move snd-bt87x location.
although the external alsa-driver tarball would require a tune.
It was there simply because the driver is basically independent from
other layers but sound. From the functionality viewpoint, it's better
to gather all modules, of course.

One point I'm conerned is, however, the order of objects in the
built-in kernel. Recently we had a problem of initializations of
saa7134-alsa and sound core stuff. We should be careful about that.

Also, more intutive Kconfig would be nice to have. For example, it'd
be better to use a choice type for saa7134-alsa and -oss drivers.
Also, to my eyes, it's better to select CONFIG_SND from saa7134-alsa
instead of depending on it.


Takashi

2006-01-18 17:51:46

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [RFC] Moving snd-bt87x and btaudio to drivers/media

Em Qua, 2006-01-18 ?s 17:25 +0100, Takashi Iwai escreveu:
> At Wed, 18 Jan 2006 11:29:28 -0200,
> Mauro Carvalho Chehab wrote:
> >

> Which directory do you suppose exactly? drivers/media/tv (or
> something like that), or existing one like drivers/media/video?
Better is to be at the same dir as other bttv modules. Currently, it
wil be under drivers/media/video. It seems to me that drivers/media
should be better organized, since lots of shared code between dvb and
v4l are emerging. IMHO, it seems to be a good idea to create a newer dir
to handle chipsets like:
/drivers/media/chips/
and include bttv, cx88, em28xx, saa7134 and others as separate dirs
under /chips. This way, it would be easier to detect code duplications
and similarities.
>
> I personally have no big objection to move snd-bt87x location.
> although the external alsa-driver tarball would require a tune.
> It was there simply because the driver is basically independent from
> other layers but sound.
True.
> From the functionality viewpoint, it's better
> to gather all modules, of course.
>
> One point I'm conerned is, however, the order of objects in the
> built-in kernel. Recently we had a problem of initializations of
> saa7134-alsa and sound core stuff. We should be careful about that.
I've waited to the end of 2.6.16 window to start these discussions to
give us some time to fix compilation order and to realign all necessary
stuff. I think we will have some time until 2.6.17 to prioritize sound
core loading as Linus suggested. There's no rush for such changes.
>
> Also, more intutive Kconfig would be nice to have. For example, it'd
> be better to use a choice type for saa7134-alsa and -oss drivers.
> Also, to my eyes, it's better to select CONFIG_SND from saa7134-alsa
> instead of depending on it.
Agreed. I have already a patch for it to use choice type. I'll work on
it to select CONFIG_SND and CONFIG_SND_PCM.
>
>
> Takashi
Cheers,
Mauro.

2006-01-18 19:19:20

by Manu Abraham

[permalink] [raw]
Subject: Re: [RFC] Moving snd-bt87x and btaudio to drivers/media

Takashi Iwai wrote:
> At Wed, 18 Jan 2006 11:29:28 -0200,
> Mauro Carvalho Chehab wrote:
>
>> Lee/Andrew/Linus/Takashi and others,
>>
>> Currently, we have some audio modules for multimedia devices under
>> drivers/media and others under sound. They also appear under different
>> points at Kconfig menus.
>>
>> So, for BTTV support, current structure at linus -git is (from Kconfig
>> perspective):
>>
>> Sound/ALSA/PCI Devices/Bt87x Audio capture
>> sound/snd-bt87x.ko - ALSA audio for bttv boards
>> Sound/OSS/TV Card (bt848) mixer support
>> drivers/media/video/tvmixer.ko
>>
>> Multimedia/V4L/BT848 V4L
>> drivers/media/video/bttv.ko
>> Multimedia/V4L/BT848 V4L/DVB-ATSC support
>> drivers/media/dvb/bt8xx/bt878.ko
>> drivers/media/dvb/bt8xx/dvb-bt8xx.o
>>
>> This I couldn't found at any Kconfig (but module exists, and also an
>> entry at Makefile):
>> sound/oss/Makefile:obj-$(CONFIG_SOUND_BT878) += btaudio.o
>>
>> For SAA7134 and CX88, all are under Multimedia/V4L. All
>> OSS/ALSA/DVB/MPEG options are under the driver name.
>>
>> IMHO, from users perspective, it makes much more sense if all BTTV
>> moules (even sound ones) being under bttv video driver. Current module
>> allows using audio driver without video, but this doesn't make sense,
>> since audio will be only available, in practice, after selecting a
>> video/audio input or tuning a channel. These functionalities are
>> provided by bttv. So, we could even disable audio modules if bttv were
>> not compiled.
>>
>> Also, bug 5995 showed a problem when user have a bttv card and dvb is
>> also probed. dvb also handles audio, so, currently, it is mutually
>> exclusive with snd-bt87x audio.
>>
>> So, my proposal is to move sound/snd-bt87x.ko to drivers/media, moving
>> also its menu, and moving tvmixer menu also. After it, should move some
>> related code at bttv dvb modules, to reduce or eliminate mutually
>> exclusiveness between the two.
>>
>> We might keep supporting btaudio, but I think this is already obsoleted
>> by alsa one, so, IMHO, we can just drop it. We intend to do the same
>> with saa7134-oss after some time (kernel 2.6.15 is the first with this
>> module, so we may remove it on 2.6.18 to give some time for testing).
>>
>
> Which directory do you suppose exactly? drivers/media/tv (or
> something like that), or existing one like drivers/media/video?
>

Since we have the majority of existing bttv code in drivers/media/video,
i was planning to move some existing dvb code into drivers/media/video.
If we have alsa code also in the same place, we can have a consolidation
of code, might be easier to go through the code, but that is my personal
opinion, but having code related to one chip in one place might make it
look better probably..


Manu

2006-01-18 19:41:51

by Adrian Bunk

[permalink] [raw]
Subject: Re: [RFC] Moving snd-bt87x and btaudio to drivers/media

On Wed, Jan 18, 2006 at 11:29:28AM -0200, Mauro Carvalho Chehab wrote:
>...
> This I couldn't found at any Kconfig (but module exists, and also an
> entry at Makefile):
> sound/oss/Makefile:obj-$(CONFIG_SOUND_BT878) += btaudio.o
>...

The entry is in sound/oss/Kconfig.

> Cheers,
> Mauro.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2006-01-18 19:53:38

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [RFC] Moving snd-bt87x and btaudio to drivers/media

Em Qua, 2006-01-18 ?s 20:41 +0100, Adrian Bunk escreveu:
> On Wed, Jan 18, 2006 at 11:29:28AM -0200, Mauro Carvalho Chehab wrote:
> >...
> > This I couldn't found at any Kconfig (but module exists, and also an
> > entry at Makefile):
> > sound/oss/Makefile:obj-$(CONFIG_SOUND_BT878) += btaudio.o
> >...
>
> The entry is in sound/oss/Kconfig.
Ok. I don't know why I didn't saw it :) So, we should also move it to
video Kconfig, with the module, and add a choice for OSS or ALSA, like
we intend to do with saa7134-oss/alsa.
>
> > Cheers,
> > Mauro.
>
> cu
> Adrian
>
Cheers,
Mauro.