[alsa-devel] Triple implementation of WM8766 and quadruple WM8776!

Takashi Iwai tiwai at suse.de
Tue Mar 13 10:58:15 CET 2012


At Tue, 13 Mar 2012 10:53:09 +0100,
Pavel Hofman wrote:
> 
> Dne 13.3.2012 10:46, Clemens Ladisch napsal(a):
> > Ondrej Zary wrote:
> >> I'm trying do implement support for Philips PSC724 Ultimate Edge card, which
> >> is based on VT1722 + WM8776 + WM8766 chips. Found that the best file to base
> >> my work on is sound/pci/ice1712/se.c (as SE-200PCI card contains both WM8776
> >> and WM8766 chips).
> >>
> >> While doing this, found that there are three implementations of WM8766 codec
> >> control, two of them in the same driver(!):
> >> sound/pci/ice1712/se.c
> >> sound/pci/ice1712/prodigy_hifi.c
> >> sound/pci/oxygen/xonar_wm87x6.c (+sound/pci/oxygen/wm8766.h)
> >>
> >> And WM8776 status is even worse, there are four implementations, again two
> >> being in the same driver:
> >> sound/pci/ice1712/se.c
> >> sound/pci/ice1712/maya44.c
> >> sound/pci/oxygen/xonar_wm87x6.c (+sound/pci/oxygen/wm8776.h)
> >> sound/soc/codecs/wm8776.c (this one being official and stand-alone module but
> >> it does not seem to be usable as a part of sound card driver)
> > 
> .....
> > 
> > I'd suggest to move the common parts of the three ice1712 drivers into
> > separate files.  You could make the interface of those files similar to
> > ASoC codec drivers to make later porting easier.
> 
> How about a solution similar to AKM codecs in i2c/other? Several ice1724
> cards make use of those modules, easy to support and re-use. IMO cleaner
> approach than duplicating ICE1724 to the ASoC framework.

ASoC would be rather a "cleaner" approach, but moving the common code
into i2c/other would be a "safer" approach.  It can be done without
shifting the whole infrastructure of ice17xx and oxygen drivers,
indeed.


thanks,

Takashi


More information about the Alsa-devel mailing list