Audio driver template

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


On 7/10/07, Alexander Leidinger <Alexander at leidinger.net> 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 FreeBSD.org (or on
> multimedia@) about it.
>
> Ariff at FreeBSD.org (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
>
> http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
> http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137
>

Made another update:
http://loafier.sixbit.org/template.c

- 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-hackers mailing list