[alsa-devel] future of sounds/oss
Ho Jaroslav, hi Takashi,
do you know who still uses the sound/oss drivers and why? I've recently been looking into getting rid of set_fs for using copy_{from,to}_user and friends on kernel pointers, and the sound code is a big abuser, both ALSA and the legacy OSS code.
But looking at the OSS code it's pretty grotty, and also appears to be pretty much unmaintained except for global cleanups. Is there any chance we could look into getting rid of it over the next few merge windows or are there people that rely on it?
On Thu, 11 May 2017 10:21:33 +0200, Christoph Hellwig wrote:
Ho Jaroslav, hi Takashi,
do you know who still uses the sound/oss drivers and why? I've recently been looking into getting rid of set_fs for using copy_{from,to}_user and friends on kernel pointers, and the sound code is a big abuser, both ALSA and the legacy OSS code.
Yeah, I also started looking at it after reading the LWN article. The removal of set_fs() in ALSA part was already finished, and I'm currently brushing up the patches. It'll be in 4.13 at latest.
But the set_fs() usage in OSS code is hard to get rid of, due to the in-kernel ioctl calls, and I really don't want to touch such dusty codes, either. So I wanted to post the very same question, but you were faster :)
But looking at the OSS code it's pretty grotty, and also appears to be pretty much unmaintained except for global cleanups. Is there any chance we could look into getting rid of it over the next few merge windows or are there people that rely on it?
I don't think there are any active users. The only slight concern is that there are a few ancient devices that are supported only by some OSS drivers. But these are over decades, and very unlikely alive.
That said, I'd love to drop that legacy stuff; or maybe as a soft-landing, begin with disabling the build of sound/oss in Kconfig.
The latter can be done even for 4.12, if Linus doesn't mind.
thanks,
Takashi
On Thu, May 11, 2017 at 10:46:47AM +0200, Takashi Iwai wrote:
Yeah, I also started looking at it after reading the LWN article. The removal of set_fs() in ALSA part was already finished, and I'm currently brushing up the patches. It'll be in 4.13 at latest.
Great!
That said, I'd love to drop that legacy stuff; or maybe as a soft-landing, begin with disabling the build of sound/oss in Kconfig.
The latter can be done even for 4.12, if Linus doesn't mind.
I'd be absolutely in favor of trying that and seeing if anyone screams.
On Thu, 11 May 2017 11:15:11 +0200, Christoph Hellwig wrote:
On Thu, May 11, 2017 at 10:46:47AM +0200, Takashi Iwai wrote:
Yeah, I also started looking at it after reading the LWN article. The removal of set_fs() in ALSA part was already finished, and I'm currently brushing up the patches. It'll be in 4.13 at latest.
Great!
That said, I'd love to drop that legacy stuff; or maybe as a soft-landing, begin with disabling the build of sound/oss in Kconfig.
The latter can be done even for 4.12, if Linus doesn't mind.
I'd be absolutely in favor of trying that and seeing if anyone screams.
Since no one cried against it so far, I'll try to smuggle the following patch into 4.12.
Takashi
-- 8< -- From: Takashi Iwai tiwai@suse.de Subject: [PATCH] sound: Disable the build of OSS drivers
OSS drivers are left as badly unmaintained, and now we're facing a problem to clean up the hackish set_fs() usage in their codes. Since most of drivers have been covered by ALSA, and the others are dead old and inactive, let's leave them RIP.
This patch is the first step: disable the build of OSS drivers. We'll eventually drop the whole codes and clean up later.
Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/Kconfig | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/sound/Kconfig b/sound/Kconfig index ee2e69a9ecd1..41eda578d08e 100644 --- a/sound/Kconfig +++ b/sound/Kconfig @@ -54,7 +54,8 @@ config SOUND_OSS_CORE_PRECLAIM
If unsure, say Y.
-source "sound/oss/dmasound/Kconfig" +### TO-BE-REMOVED +# source "sound/oss/dmasound/Kconfig"
if !M68K && !UML
@@ -112,17 +113,18 @@ source "sound/x86/Kconfig"
endif # SND
-menuconfig SOUND_PRIME - tristate "Open Sound System (DEPRECATED)" - select SOUND_OSS_CORE - help - Say 'Y' or 'M' to enable Open Sound System drivers. - -if SOUND_PRIME - -source "sound/oss/Kconfig" - -endif # SOUND_PRIME +### TO-BE-REMOVED +# menuconfig SOUND_PRIME +# tristate "Open Sound System (DEPRECATED)" +# select SOUND_OSS_CORE +# help +# Say 'Y' or 'M' to enable Open Sound System drivers. +# +# if SOUND_PRIME +# +# source "sound/oss/Kconfig" +# +# endif # SOUND_PRIME
endif # !M68K
On Thu, May 11, 2017 at 1:21 PM, Takashi Iwai tiwai@suse.de wrote:
Since no one cried against it so far, I'll try to smuggle the following patch into 4.12.
Can we instead just disable it with a one-liner that just makes SOUND_PRIME have a
depends on n
in it, so that you can't select it.
Commenting out stuff in the Kconfig fine is not how we normally do these things..
Linus
On 05/11/17 13:28, Linus Torvalds wrote:
On Thu, May 11, 2017 at 1:21 PM, Takashi Iwai tiwai@suse.de wrote:
Since no one cried against it so far, I'll try to smuggle the following patch into 4.12.
Can we instead just disable it with a one-liner that just makes SOUND_PRIME have a
depends on n
in it, so that you can't select it.
Commenting out stuff in the Kconfig fine is not how we normally do these things..
Yeah, I was thinking of depends on BROKEN
but depends on n should be OK also.
On Thu, 11 May 2017 22:28:49 +0200, Linus Torvalds wrote:
On Thu, May 11, 2017 at 1:21 PM, Takashi Iwai tiwai@suse.de wrote:
Since no one cried against it so far, I'll try to smuggle the following patch into 4.12.
Can we instead just disable it with a one-liner that just makes SOUND_PRIME have a
depends on n
in it, so that you can't select it.
Commenting out stuff in the Kconfig fine is not how we normally do these things..
I rather wanted to show clearly that we're disabling it by that, but I don't mind either way. Will respin soon.
thanks,
Takashi
Hi Iwai-san,
On Thu, May 11, 2017 at 10:21 PM, Takashi Iwai tiwai@suse.de wrote:
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] sound: Disable the build of OSS drivers
OSS drivers are left as badly unmaintained, and now we're facing a problem to clean up the hackish set_fs() usage in their codes. Since most of drivers have been covered by ALSA, and the others are dead old and inactive, let's leave them RIP.
This patch is the first step: disable the build of OSS drivers. We'll eventually drop the whole codes and clean up later.
Signed-off-by: Takashi Iwai tiwai@suse.de
sound/Kconfig | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/sound/Kconfig b/sound/Kconfig index ee2e69a9ecd1..41eda578d08e 100644 --- a/sound/Kconfig +++ b/sound/Kconfig @@ -54,7 +54,8 @@ config SOUND_OSS_CORE_PRECLAIM
If unsure, say Y.
-source "sound/oss/dmasound/Kconfig" +### TO-BE-REMOVED +# source "sound/oss/dmasound/Kconfig"
Please note the dmasound drivers do not have ALSA equivalents.
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
On Fri, 12 May 2017 09:03:07 +0200, Geert Uytterhoeven wrote:
Hi Iwai-san,
On Thu, May 11, 2017 at 10:21 PM, Takashi Iwai tiwai@suse.de wrote:
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] sound: Disable the build of OSS drivers
OSS drivers are left as badly unmaintained, and now we're facing a problem to clean up the hackish set_fs() usage in their codes. Since most of drivers have been covered by ALSA, and the others are dead old and inactive, let's leave them RIP.
This patch is the first step: disable the build of OSS drivers. We'll eventually drop the whole codes and clean up later.
Signed-off-by: Takashi Iwai tiwai@suse.de
sound/Kconfig | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/sound/Kconfig b/sound/Kconfig index ee2e69a9ecd1..41eda578d08e 100644 --- a/sound/Kconfig +++ b/sound/Kconfig @@ -54,7 +54,8 @@ config SOUND_OSS_CORE_PRECLAIM
If unsure, say Y.
-source "sound/oss/dmasound/Kconfig" +### TO-BE-REMOVED +# source "sound/oss/dmasound/Kconfig"
Please note the dmasound drivers do not have ALSA equivalents.
These belong to the latter, "dead old and inactive" ones :)
Are these driver still used with the latest kernel? If users are willing to help, we can provide the port to ALSA drivers, too.
thanks,
Takashi
Hi Iwai-san,
On Fri, May 12, 2017 at 9:10 AM, Takashi Iwai tiwai@suse.de wrote:
On Fri, 12 May 2017 09:03:07 +0200, Geert Uytterhoeven wrote:
On Thu, May 11, 2017 at 10:21 PM, Takashi Iwai tiwai@suse.de wrote:
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] sound: Disable the build of OSS drivers
OSS drivers are left as badly unmaintained, and now we're facing a problem to clean up the hackish set_fs() usage in their codes. Since most of drivers have been covered by ALSA, and the others are dead old and inactive, let's leave them RIP.
This patch is the first step: disable the build of OSS drivers. We'll eventually drop the whole codes and clean up later.
Signed-off-by: Takashi Iwai tiwai@suse.de
sound/Kconfig | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/sound/Kconfig b/sound/Kconfig index ee2e69a9ecd1..41eda578d08e 100644 --- a/sound/Kconfig +++ b/sound/Kconfig @@ -54,7 +54,8 @@ config SOUND_OSS_CORE_PRECLAIM
If unsure, say Y.
-source "sound/oss/dmasound/Kconfig" +### TO-BE-REMOVED +# source "sound/oss/dmasound/Kconfig"
Please note the dmasound drivers do not have ALSA equivalents.
These belong to the latter, "dead old and inactive" ones :)
Are these driver still used with the latest kernel? If users are
I believe so.
willing to help, we can provide the port to ALSA drivers, too.
That would be great, thanks!
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
On Fri, 12 May 2017 09:17:35 +0200, Geert Uytterhoeven wrote:
Hi Iwai-san,
On Fri, May 12, 2017 at 9:10 AM, Takashi Iwai tiwai@suse.de wrote:
On Fri, 12 May 2017 09:03:07 +0200, Geert Uytterhoeven wrote:
On Thu, May 11, 2017 at 10:21 PM, Takashi Iwai tiwai@suse.de wrote:
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] sound: Disable the build of OSS drivers
OSS drivers are left as badly unmaintained, and now we're facing a problem to clean up the hackish set_fs() usage in their codes. Since most of drivers have been covered by ALSA, and the others are dead old and inactive, let's leave them RIP.
This patch is the first step: disable the build of OSS drivers. We'll eventually drop the whole codes and clean up later.
Signed-off-by: Takashi Iwai tiwai@suse.de
sound/Kconfig | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/sound/Kconfig b/sound/Kconfig index ee2e69a9ecd1..41eda578d08e 100644 --- a/sound/Kconfig +++ b/sound/Kconfig @@ -54,7 +54,8 @@ config SOUND_OSS_CORE_PRECLAIM
If unsure, say Y.
-source "sound/oss/dmasound/Kconfig" +### TO-BE-REMOVED +# source "sound/oss/dmasound/Kconfig"
Please note the dmasound drivers do not have ALSA equivalents.
These belong to the latter, "dead old and inactive" ones :)
Are these driver still used with the latest kernel? If users are
I believe so.
willing to help, we can provide the port to ALSA drivers, too.
That would be great, thanks!
OK, we can go forward, then.
But, looking at the tree again, I noticed that ALSA isn't built yet at all for m68k. I don't remember why it's disabled. Jaroslav, do you know the reason behind it?
And, dmasound is a completely different implementation from the other OSS, thus it doesn't suffer from set_fs() hack. That is, we may still keep dmasound, while removing other OSS stuff.
Meanwhile we'll try to support ALSA on m64k and eventually target to drop dmasound stuff.
Does it sound more feasible?
thanks,
Takashi
Hi Iwai-san,
On Fri, May 12, 2017 at 9:27 AM, Takashi Iwai tiwai@suse.de wrote:
On Fri, 12 May 2017 09:17:35 +0200, Geert Uytterhoeven wrote:
On Fri, May 12, 2017 at 9:10 AM, Takashi Iwai tiwai@suse.de wrote:
On Fri, 12 May 2017 09:03:07 +0200, Geert Uytterhoeven wrote:
On Thu, May 11, 2017 at 10:21 PM, Takashi Iwai tiwai@suse.de wrote:
index ee2e69a9ecd1..41eda578d08e 100644 --- a/sound/Kconfig +++ b/sound/Kconfig @@ -54,7 +54,8 @@ config SOUND_OSS_CORE_PRECLAIM
If unsure, say Y.
-source "sound/oss/dmasound/Kconfig" +### TO-BE-REMOVED +# source "sound/oss/dmasound/Kconfig"
Please note the dmasound drivers do not have ALSA equivalents.
These belong to the latter, "dead old and inactive" ones :)
Are these driver still used with the latest kernel? If users are
I believe so.
willing to help, we can provide the port to ALSA drivers, too.
That would be great, thanks!
OK, we can go forward, then.
But, looking at the tree again, I noticed that ALSA isn't built yet at all for m68k. I don't remember why it's disabled. Jaroslav, do you know the reason behind it?
Because ALSA doesn't have any drivers that can be used on m68k platforms?
And, dmasound is a completely different implementation from the other OSS, thus it doesn't suffer from set_fs() hack. That is, we may still keep dmasound, while removing other OSS stuff.
That's indeed good to know.
Meanwhile we'll try to support ALSA on m64k and eventually target to drop dmasound stuff.
Does it sound more feasible?
Yes, definitely in the short run ;-)
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
On Fri, 12 May 2017 09:30:04 +0200, Geert Uytterhoeven wrote:
Hi Iwai-san,
On Fri, May 12, 2017 at 9:27 AM, Takashi Iwai tiwai@suse.de wrote:
On Fri, 12 May 2017 09:17:35 +0200, Geert Uytterhoeven wrote:
On Fri, May 12, 2017 at 9:10 AM, Takashi Iwai tiwai@suse.de wrote:
On Fri, 12 May 2017 09:03:07 +0200, Geert Uytterhoeven wrote:
On Thu, May 11, 2017 at 10:21 PM, Takashi Iwai tiwai@suse.de wrote:
index ee2e69a9ecd1..41eda578d08e 100644 --- a/sound/Kconfig +++ b/sound/Kconfig @@ -54,7 +54,8 @@ config SOUND_OSS_CORE_PRECLAIM
If unsure, say Y.
-source "sound/oss/dmasound/Kconfig" +### TO-BE-REMOVED +# source "sound/oss/dmasound/Kconfig"
Please note the dmasound drivers do not have ALSA equivalents.
These belong to the latter, "dead old and inactive" ones :)
Are these driver still used with the latest kernel? If users are
I believe so.
willing to help, we can provide the port to ALSA drivers, too.
That would be great, thanks!
OK, we can go forward, then.
But, looking at the tree again, I noticed that ALSA isn't built yet at all for m68k. I don't remember why it's disabled. Jaroslav, do you know the reason behind it?
Because ALSA doesn't have any drivers that can be used on m68k platforms?
But we have virtual and generic drivers (such as UART support), so there seems no reason to stop it. Maybe the lack of proper MMU support was the reason? Let's try to cross-build...
And, dmasound is a completely different implementation from the other OSS, thus it doesn't suffer from set_fs() hack. That is, we may still keep dmasound, while removing other OSS stuff.
That's indeed good to know.
Meanwhile we'll try to support ALSA on m64k and eventually target to drop dmasound stuff.
Does it sound more feasible?
Yes, definitely in the short run ;-)
OK, below is the revised patch. Now it's a really one-liner.
thanks,
Takashi
-- 8< -- From: Takashi Iwai tiwai@suse.de Subject: [PATCH v3] sound: Disable the build of OSS drivers
OSS drivers are left as badly unmaintained, and now we're facing a problem to clean up the hackish set_fs() usage in their codes. Since most of drivers have been covered by ALSA, and the others are dead old and inactive, let's leave them RIP.
This patch is the first step: disable the build of OSS drivers. We'll eventually drop the whole codes and clean up later.
Note that sound/oss/dmasound is still kept, since it's a completely different implementation of OSS, and it doesn't suffer from set_fs() hack. Moreover, the build of ALSA is disabled on M68K by some reason, thus disabling it shall result in a regression. This one will be disabled / removed once when we add the support in ALSA side.
Tested-by: Randy Dunlap rdunlap@infradead.org Signed-off-by: Takashi Iwai tiwai@suse.de ---
v1->v2: Smaller changes, as Linus and Randy suggested. The first dmasound Kconfig inclusion is still commented out since it's shorter/simpler in the end. v2->v3: Keep dmasound, as it's independent from other OSS implementations.
sound/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/sound/Kconfig b/sound/Kconfig index ee2e69a9ecd1..6a215a8c0490 100644 --- a/sound/Kconfig +++ b/sound/Kconfig @@ -115,6 +115,7 @@ endif # SND menuconfig SOUND_PRIME tristate "Open Sound System (DEPRECATED)" select SOUND_OSS_CORE + depends on BROKEN help Say 'Y' or 'M' to enable Open Sound System drivers.
Hi Iwai-san,
On Fri, May 12, 2017 at 10:01 AM, Takashi Iwai tiwai@suse.de wrote:
But, looking at the tree again, I noticed that ALSA isn't built yet at all for m68k. I don't remember why it's disabled. Jaroslav, do you know the reason behind it?
Because ALSA doesn't have any drivers that can be used on m68k platforms?
But we have virtual and generic drivers (such as UART support), so there seems no reason to stop it. Maybe the lack of proper MMU
It seems to date back to the move of sound from arch/*/Kconfig to sound/Kconfig. I guess at that time there was just no use for ALSO on m68k.
support was the reason? Let's try to cross-build...
Building seems to work fine...
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
On Tue, 16 May 2017 09:45:04 +0200, Geert Uytterhoeven wrote:
Hi Iwai-san,
On Fri, May 12, 2017 at 10:01 AM, Takashi Iwai tiwai@suse.de wrote:
But, looking at the tree again, I noticed that ALSA isn't built yet at all for m68k. I don't remember why it's disabled. Jaroslav, do you know the reason behind it?
Because ALSA doesn't have any drivers that can be used on m68k platforms?
But we have virtual and generic drivers (such as UART support), so there seems no reason to stop it. Maybe the lack of proper MMU
It seems to date back to the move of sound from arch/*/Kconfig to sound/Kconfig. I guess at that time there was just no use for ALSO on m68k.
support was the reason? Let's try to cross-build...
Building seems to work fine...
Worked fine with my cross-build test, too. OK, let's enable the build on 4.13. The patch is attached below.
thanks,
Takashi
-- 8< -- From: Takashi Iwai tiwai@suse.de Subject: [PATCH] ALSA: Enable build with m68k
By some reason in the ancient history, we disabled the build of ALSA drivers for m68k. Since we'd like to move sound/oss/dmasound stuff into ALSA for the complete drop of the legacy OSS stuff, let's try to start building with m68k.
Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/Kconfig b/sound/Kconfig index ee2e69a9ecd1..6437e398b08e 100644 --- a/sound/Kconfig +++ b/sound/Kconfig @@ -56,7 +56,7 @@ config SOUND_OSS_CORE_PRECLAIM
source "sound/oss/dmasound/Kconfig"
-if !M68K && !UML +if !UML
menuconfig SND tristate "Advanced Linux Sound Architecture" @@ -124,7 +124,7 @@ source "sound/oss/Kconfig"
endif # SOUND_PRIME
-endif # !M68K +endif # !UML
endif # SOUND
On Fri, May 12, 2017 at 09:27:56AM +0200, Takashi Iwai wrote:
But, looking at the tree again, I noticed that ALSA isn't built yet at all for m68k. I don't remember why it's disabled. Jaroslav, do you know the reason behind it?
Might also just be because the m68k port had been dead in Debian for a while due the lack of TLS support in glibc on m68k. However, the port is active again and in pretty good shape now.
I'm currently working on fixing debian-installer on m68k, so that people can install the port without having to resort to things like debootstrap.
And, dmasound is a completely different implementation from the other OSS, thus it doesn't suffer from set_fs() hack. That is, we may still keep dmasound, while removing other OSS stuff.
Thanks! Highly appreciated.
Meanwhile we'll try to support ALSA on m64k and eventually target to drop dmasound stuff.
Ooooh, that would be awesome. If you need any testers on m68k, please let us know. I have plenty of m68k hardware for testing.
Does it sound more feasible?
No idea whether it's feasible. But it sounds awesome :).
Adrian
Hi,
On May 11 2017 17:46, Takashi Iwai wrote:
On Thu, 11 May 2017 10:21:33 +0200, Christoph Hellwig wrote:
Ho Jaroslav, hi Takashi,
do you know who still uses the sound/oss drivers and why? I've recently been looking into getting rid of set_fs for using copy_{from,to}_user and friends on kernel pointers, and the sound code is a big abuser, both ALSA and the legacy OSS code.
Yeah, I also started looking at it after reading the LWN article. The removal of set_fs() in ALSA part was already finished, and I'm currently brushing up the patches. It'll be in 4.13 at latest.
Eventually, I'm also working for it[1]. I'm willing to review your changes, so please add me into CC list when you post patches.
Instead, In this development cycle, I'll post my patches for tracepoints for PCM parameter handling and misc refactoring[2]. (I've already done most of the work.)
But the set_fs() usage in OSS code is hard to get rid of, due to the in-kernel ioctl calls, and I really don't want to touch such dusty codes, either. So I wanted to post the very same question, but you were faster :)
But looking at the OSS code it's pretty grotty, and also appears to be pretty much unmaintained except for global cleanups. Is there any chance we could look into getting rid of it over the next few merge windows or are there people that rely on it?
I don't think there are any active users. The only slight concern is that there are a few ancient devices that are supported only by some OSS drivers. But these are over decades, and very unlikely alive.
That said, I'd love to drop that legacy stuff; or maybe as a soft-landing, begin with disabling the build of sound/oss in Kconfig.
The latter can be done even for 4.12, if Linus doesn't mind.
I think we don't need to care of drivers implemented with Open Sound System. In my understanding, stuffs in 'sound/core/oss/*' give Open Sound System compatibility layer for Open Sound System applications. In short, it gives a way for the applications to use drivers in ALSA by Open Sound System interfaces. Even if this layer is missing, the applications are still available with Open Sound System Proxy Daemon[3] with FUSE/CURE assistances. I believe we can get rid of them without any actual disadvantages.
[1] https://github.com/takaswie/sound/tree/topic/segment-in-pcm [2] https://github.com/takaswie/sound/tree/topic/trace+refactor [3] https://github.com/libfuse/osspd
Regards
Takashi Sakamoto
On May 11 2017 19:01, Takashi Sakamoto wrote:
But the set_fs() usage in OSS code is hard to get rid of, due to the in-kernel ioctl calls, and I really don't want to touch such dusty codes, either. So I wanted to post the very same question, but you were faster :)
But looking at the OSS code it's pretty grotty, and also appears to be pretty much unmaintained except for global cleanups. Is there any chance we could look into getting rid of it over the next few merge windows or are there people that rely on it?
I don't think there are any active users. The only slight concern is that there are a few ancient devices that are supported only by some OSS drivers. But these are over decades, and very unlikely alive.
That said, I'd love to drop that legacy stuff; or maybe as a soft-landing, begin with disabling the build of sound/oss in Kconfig.
The latter can be done even for 4.12, if Linus doesn't mind.
I think we don't need to care of drivers implemented with Open Sound System. In my understanding, stuffs in 'sound/core/oss/*' give Open Sound System compatibility layer for Open Sound System applications. In short, it gives a way for the applications to use drivers in ALSA by Open Sound System interfaces. Even if this layer is missing, the applications are still available with Open Sound System Proxy Daemon[3] with FUSE/CURE assistances. I believe we can get rid of them without any actual disadvantages.
Oops. I misunderstand to have discussion about stuffs in 'sound/core/oss/*', because the compatibility layer also includes abuses of set_fs() and I'm interested in it today...
For stuffs in 'sound/oss', we should certainly have care of points which Iwai-san mentioned. If we get rid of it, we can also apply diet to 'soundcore' module which gives 'sound' class but include some helper functions just for Open Sound System drivers.
Regards
Takashi Sakamoto
On Thu, 11 May 2017 12:36:47 +0200, Takashi Sakamoto wrote:
Oops. I misunderstand to have discussion about stuffs in 'sound/core/oss/*', because the compatibility layer also includes abuses of set_fs() and I'm interested in it today...
Yes, the stuff in sound/core/oss required an intensive surgery to get rid of set_fs(). But this resulted in a good cleanup of the duplicated copy/silence callbacks in the end.
For stuffs in 'sound/oss', we should certainly have care of points which Iwai-san mentioned. If we get rid of it, we can also apply diet to 'soundcore' module which gives 'sound' class but include some helper functions just for Open Sound System drivers.
Right, that's low-hanging fruits we can take once after confirming the removal of OSS drivers. The soundcore module can be removed and integrated into the ALSA OSS emulation stuff, for example.
thanks,
Takashi
participants (7)
-
Christoph Hellwig
-
Geert Uytterhoeven
-
John Paul Adrian Glaubitz
-
Linus Torvalds
-
Randy Dunlap
-
Takashi Iwai
-
Takashi Sakamoto