[alsa-devel] [RFC] alsa-kernel clean-ups
john.utz at dmx.com
Thu Dec 20 21:33:49 CET 2007
On Thu, 20 Dec 2007 15:55:56 +0100
"Takashi Iwai" <tiwai at suse.de> wrote:
> ALSA kernel tree has lots of unused and rotten codes. I'd like to
> clean up this. Here we go...
> 1. Indirect control element access
> This is what I already suggested. This hasn't been used (we have no
> proper API in alsa-lib), and 32/64bit wrapper doesn't work at all.
> Also, the idea to copy such a big data area via ioctl is bad. If we
> need a big matrix mixer, let make each matrix element accessible
> individually. Copying the whole matrix at each time isn't
> 2. PCM xfer_align parameter
> This sw_params parameter has never been used in a sane manner, and
> no one understands what this does exactly. The current
> implementation looks also buggy because it allows write of shorter
> size than xfer_align. So, if you do partial writes, the write isn't
> actually aligned at all.
> Removing this parameter will make some pcm_lib_* code more readable
> (and less buggy).
> 3. PCM sleep_min and tick
> The "tick" in PCM is set (again) via sw_params. And, nobody uses
> this feature at all except for a command line option of aplay.
> (This is literally "nobody", as I checked alsa-lib API calls in all
> programs in some major distros.)
> Above all, if we need finer wake-ups for the position update, it's
> basically an issue that the driver should solve, not tuned by each
> 4. sound/driver.h
> This header file exists only for some hacks to adapt alsa-driver
> tree. It's useless for building in the kernel. Let's move a few
> lines in it to sound/core.h and remove it.
> For building the modules on alsa-driver external tree, we can simply
> #include "adriver.h"
> to each build stub (alsa-driver/*/*.c) before inclusion of
> alsa-kernel codes.
> I'll post some patches to clean the above thing up in the following
> posts. Please speak up if you have objections.
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
More information about the Alsa-devel