Audio driver template

Christopher Davis loafier at
Fri Jul 13 05:12:05 UTC 2007

On 7/10/07, Alexander Leidinger <Alexander at> wrote:
> Putting it into the examples directory instead of having it on the
> people's own pages would be an improvement (the developer handbook
> needs to be changed to point to the examples directory then).
> And you should clarify what kind of improvements are valid for your
> SoC work. Somehow I doubt that adding shiny new features (like hps
> suggested) is part of the goal for your work. I think it's more like
> bringing existing drivers up-to-par with currently available generic
> driver interfaces, isn't it?
> I also think examples for suspend/resume stuff should be added.
> /sys/dev/sound/pci/atiixp.c has suspend and resume methods if you want
> an example.
> You could also review the locking, as it changed a little bit
> recently, I think.
> Apart from the atiixp driver the envy42, emu10kx and HDA drivers can
> also serve as examples for what is the most current in the sound
> subsystem in FreeBSD. Maybe you can gain some more hints from them (I
> think the template is not very up-to-date compared to them).
> The new mixer interface is not used yet in the drivers, so we don't
> have examples at all for them. You could ask ryanb at (or on
> multimedia@) about it.
> Ariff at (or multimedia@) can maybe help if you have some
> questions regarding the drivers in the tree (maybe Ariff will answer
> to your initial question anyway).
> Bye,
> Alexander.
> --
> I guess the Little League is even littler than we thought.
>                 -- D. Cavett
>    Alexander @ PGP ID = B0063FE7
>       netchild @  : PGP ID = 72077137

Made another update:

- removed wierd garbage characters around the initcd function
- made names of read and write macros consistent w/ other functions
- fixed invocation of snd_mtxcreate() to include name string

I also copied in some code from the atiixp drivers's suspend/resume
functions for handling the play and record channels, and noticed the use
of pci_set_powerstate().
Christopher Davis

More information about the freebsd-multimedia mailing list