[alsa-devel] [PATCH 02/10] ALSA: hda - Bind codecs via standard bus

Lars-Peter Clausen lars at metafoo.de
Sat Feb 28 10:55:32 CET 2015


On 02/26/2015 06:00 PM, Takashi Iwai wrote:
> Now we create the standard HD-audio bus (/sys/bus/hdaudio), and bind
> the codec driver with the codec device over there.  This is the first
> step of the whole transition so that the changes to each codec driver
> are kept as minimal as possible.
>
> Each codec driver needs to register hda_codec_driver struct containing
> the currently existing preset via the new helper macro
> module_hda_codec_driver().  The old hda_codec_preset_list is replaced
> with this infrastructure.  The generic parsers (for HDMI and other)
> are also included in the preset with the special IDs to bind
> uniquely.
>
> In HD-audio core side, the device binding code is split to
> hda_bind.c.  It provides the snd_hda_bus_type implementation to match
> the codec driver with the given codec vendor ID.  It also manages the
> module auto-loading by itself like before: when the matching isn't
> found, it tries to probe the corresponding codec modules, and finally
> falls back to the generic drivers.  (The special ID mentioned above is
> set at this stage.)
>
> The only visible change to outside is that the hdaudio sysfs entry now
> appears in /sys/bus/devices, not as a sound class device.
>
> More works to move the suspend/resume and remove ops will be
> (hopefully) done in later patches.

Great stuff. AC'97 is next? ;)

[...]
> +	drv->driver.probe = hda_codec_driver_probe;
> +	drv->driver.remove = hda_codec_driver_remove;

Small nitpick, in my opinion it would be cleaner to use the snd_hda_bus_type 
probe/remove callbacks for this.

> +	/* TODO: PM and others */


More information about the Alsa-devel mailing list