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> </td><th width="60%" align="center">High Definition Audio</th><td width="20%" align="right"> <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 — 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"> </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> </td><td width="20%" align="center"><a accesskey="u" href="ch04s02.html#idp1128066516">Up</a></td><td width="40%" align="right"> <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> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">i915_audio_component_cleanup</span></td></tr></table></div></body></html> 19