1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>i915_audio_component_init</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux DRM Developer's Guide"><link rel="up" href="ch04s02.html#idp1128066516" title="High Definition Audio"><link rel="prev" href="API-intel-init-audio.html" title="intel_init_audio"><link rel="next" href="API-i915-audio-component-cleanup.html" title="i915_audio_component_cleanup"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">i915_audio_component_init</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-intel-init-audio.html">Prev</a>&#160;</td><th width="60%" align="center">High Definition Audio</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-i915-audio-component-cleanup.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-i915-audio-component-init"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>i915_audio_component_init &#8212; 
2     initialize and register the audio component
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">i915_audio_component_init </b>(</code></td><td>struct drm_i915_private * <var class="pdparam">dev_priv</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1128093932"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>dev_priv</code></em></span></dt><dd><p>
4     i915 device instance
5    </p></dd></dl></div></div><div class="refsect1"><a name="idp1128095508"></a><h2>Description</h2><p>
6   This will register with the component framework a child component which
7   will bind dynamically to the snd_hda_intel driver's corresponding master
8   component when the latter is registered. During binding the child
9   initializes an instance of struct i915_audio_component which it receives
10   from the master. The master can then start to use the interface defined by
11   this struct. Each side can break the binding at any point by deregistering
12   its own component after which each side's component unbind callback is
13   called.
14   </p><p>
15
16   We ignore any error during registration and continue with reduced
17   functionality (i.e. without HDMI audio).
18</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-intel-init-audio.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch04s02.html#idp1128066516">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-i915-audio-component-cleanup.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">intel_init_audio</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">i915_audio_component_cleanup</span></td></tr></table></div></body></html>
19