  <?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.alsa-project.org/main/index.php?action=history&amp;feed=atom&amp;title=Changes_v1.0.15rc1_v1.0.15rc2</id>
	<title>Changes v1.0.15rc1 v1.0.15rc2 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.alsa-project.org/main/index.php?action=history&amp;feed=atom&amp;title=Changes_v1.0.15rc1_v1.0.15rc2"/>
	<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.0.15rc1_v1.0.15rc2&amp;action=history"/>
	<updated>2026-04-20T11:30:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>https://www.alsa-project.org/main/index.php?title=Changes_v1.0.15rc1_v1.0.15rc2&amp;diff=1177&amp;oldid=prev</id>
		<title>Perex at 09:57, 12 September 2007</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.0.15rc1_v1.0.15rc2&amp;diff=1177&amp;oldid=prev"/>
		<updated>2007-09-12T09:57:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:57, 12 September 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l123&quot;&gt;Line 123:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 123:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Fix a typo&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Fix a typo&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: alsa simple mixer - python basic abstraction - simplified using get/setArray&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: alsa simple mixer - python basic abstraction - simplified using get/setArray&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==alsa-python==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===Core===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: alsacontrol - add hwdepDevices(), pcmDevices(), rawmidiDevices()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===Test python scripts===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: alsa mixer interface - added getVolumeArray() and setVolumeArray()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: alsacontrol - add hwdepDevices(), pcmDevices(), rawmidiDevices()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===pyalsa.alsacontrol module===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: alsacontrol - add hwdepDevices(), pcmDevices(), rawmidiDevices()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===pyalsa.alsahcontrol module===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: alsa hcontrol - added getArray() and setArray()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===pyalsa.alsamixer module===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: alsa mixer interface - added getVolumeArray() and setVolumeArray()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Detailed changelog between 1.0.15rc1 and 1.0.15rc2 releases=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Detailed changelog between 1.0.15rc1 and 1.0.15rc2 releases=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==alsa-driver==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==alsa-driver==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l714&quot;&gt;Line 714:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 726:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:   $PYTHON_INCDIR itself already contains -I&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:   $PYTHON_INCDIR itself already contains -I&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: - alsa simple mixer - python basic abstraction - simplified using get/setArray&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: - alsa simple mixer - python basic abstraction - simplified using get/setArray&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==alsa-python==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===Core===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: - alsacontrol - add hwdepDevices(), pcmDevices(), rawmidiDevices()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===Test python scripts===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: - alsa mixer interface - added getVolumeArray() and setVolumeArray()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: - alsacontrol - add hwdepDevices(), pcmDevices(), rawmidiDevices()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===pyalsa.alsacontrol module===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: - alsacontrol - add hwdepDevices(), pcmDevices(), rawmidiDevices()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===pyalsa.alsahcontrol module===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: - alsa hcontrol - added getArray() and setArray()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===pyalsa.alsamixer module===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: - alsa mixer interface - added getVolumeArray() and setVolumeArray()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Perex</name></author>
	</entry>
	<entry>
		<id>https://www.alsa-project.org/main/index.php?title=Changes_v1.0.15rc1_v1.0.15rc2&amp;diff=1176&amp;oldid=prev</id>
		<title>Perex: New page: {| align=&quot;right&quot; | __TOC__ |} =Changelog between 1.0.15rc1 and 1.0.15rc2 releases= ==alsa-driver== ===Sound Core=== : release 1.0.15rc1 : Avoid SOC for 2.6.9 or older kernels : release 1.0...</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.0.15rc1_v1.0.15rc2&amp;diff=1176&amp;oldid=prev"/>
		<updated>2007-09-12T09:30:49Z</updated>

		<summary type="html">&lt;p&gt;New page: {| align=&amp;quot;right&amp;quot; | __TOC__ |} =Changelog between 1.0.15rc1 and 1.0.15rc2 releases= ==alsa-driver== ===Sound Core=== : release 1.0.15rc1 : Avoid SOC for 2.6.9 or older kernels : release 1.0...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
=Changelog between 1.0.15rc1 and 1.0.15rc2 releases=&lt;br /&gt;
==alsa-driver==&lt;br /&gt;
===Sound Core===&lt;br /&gt;
: release 1.0.15rc1&lt;br /&gt;
: Avoid SOC for 2.6.9 or older kernels&lt;br /&gt;
: release 1.0.15rc2&lt;br /&gt;
===Control Midlevel===&lt;br /&gt;
: unexport snd_ctl_elem_{read,write}&lt;br /&gt;
===PCM Midlevel===&lt;br /&gt;
: Fix 'discards qualifiers' compile warnings in pcm.h&lt;br /&gt;
: Kill useless volatile in pcm.h&lt;br /&gt;
===/isa/Makefile===&lt;br /&gt;
: Gallant SC-6000 driver&lt;br /&gt;
===AC97 bus driver===&lt;br /&gt;
: Fix build with older kernels&lt;br /&gt;
===AD1848 driver===&lt;br /&gt;
: ad1848: fix AD1848P macro&lt;br /&gt;
: ad1838/cs4231 - fix MCE timeout upon initial load&lt;br /&gt;
: ad1848: replace HZ calculus with msecs_to_jiffies()&lt;br /&gt;
: ad1848/cs4231: replace commented out debug code with snd-printd{,d}&lt;br /&gt;
: ad1848_lib: replace common delay loop by function&lt;br /&gt;
===BT87x driver===&lt;br /&gt;
: snd-bt87x: Power down audio ADC when not in use&lt;br /&gt;
: snd-bt87x: Improve support for different board types&lt;br /&gt;
: Regenerate bt87x.patch&lt;br /&gt;
===CMIPCI driver===&lt;br /&gt;
: cmipci: add msbits constraint for 24-bit format&lt;br /&gt;
: cmipci: remove invalid channels constraint&lt;br /&gt;
: cmipci: add 96 kHz support&lt;br /&gt;
: cmipci: do not check for integrated FM/MIDI ports with chip version 37&lt;br /&gt;
: cmipci: check that the legacy MIDI port works&lt;br /&gt;
: cmipci: show real chip name in card name&lt;br /&gt;
===CS4231 driver===&lt;br /&gt;
: ad1838/cs4231 - fix MCE timeout upon initial load&lt;br /&gt;
: ad1848/cs4231: replace commented out debug code with snd-printd{,d}&lt;br /&gt;
: cs4231-lib: replace common delay loop by function&lt;br /&gt;
: cs4231 header split&lt;br /&gt;
: cs4231-lib: improved waiting after mce_down&lt;br /&gt;
: Fix thinko in cs4231 mce down check&lt;br /&gt;
===CS5535 driver===&lt;br /&gt;
: cs5535audio: correctly set dma-&amp;gt;substream&lt;br /&gt;
: cs5535audio: fix PRD register save/restore power management race&lt;br /&gt;
: cs5535audio: update PCI device handling in suspend/resume&lt;br /&gt;
: cs5535audio: fix ACC_BM[x]_CMD register handling&lt;br /&gt;
: cs5535audio: drop unused bus master stuff&lt;br /&gt;
===Digigram PCXHR driver===&lt;br /&gt;
: pcxhr - Fix trigger start with non-linked streams&lt;br /&gt;
===Documentation===&lt;br /&gt;
: cmipci: do not check for integrated FM/MIDI ports with chip version 37&lt;br /&gt;
: document basic TLV stuff&lt;br /&gt;
: hda-codec - Add laptop-automute model for AD1986A&lt;br /&gt;
: hda-codec - Add missing model names for ALC882 codecs&lt;br /&gt;
: Add description of sc6000 driver&lt;br /&gt;
: Add missing models for Dell with STAC9200 codec&lt;br /&gt;
===Echoaudio driver===&lt;br /&gt;
: echoaudio - Remove superfluous volatile prefix&lt;br /&gt;
===HDA Codec driver===&lt;br /&gt;
: hda-codec - Fix capture on ALC262 HP machines&lt;br /&gt;
: hda-codec - code cleanups in patch_sigmatel.c&lt;br /&gt;
: hda-codec - Add missing Mic Boost for some ALC882 models&lt;br /&gt;
: hda-codec - Add support for Toshiba A305&lt;br /&gt;
: hda-codec - Fix wrong pin-setup at resume of STAC codecs&lt;br /&gt;
: hda-codec - Avoid zero NID in line_out_pins[] of STAC codecs&lt;br /&gt;
: hda-intel - fix a race in dynamic power managment&lt;br /&gt;
: hda-intel - Fix resume logic, when dynamic power managment is on&lt;br /&gt;
: hda-codec - add support for swapping center/LFE channels to STAC codecs&lt;br /&gt;
: hda-codec - add support for analog loopback to STAC9204/9205/922x/927x&lt;br /&gt;
: hda-codec - make volume knob, the master volume for sigmatel codecs&lt;br /&gt;
: hda-codec - Fix support for sigmatel codecs that have 2 or more ADCs&lt;br /&gt;
: hda: BIOS changing subsystem id&lt;br /&gt;
: hda-codec - Add laptop-automute model for AD1986A&lt;br /&gt;
: hda-codec - Add support for ASUS A7M&lt;br /&gt;
: hda-codec - Add missing model names for ALC882 codecs&lt;br /&gt;
: hda-codec - Add quirk entry for Casper CPR2000&lt;br /&gt;
: hda-intel - Improve HD-audio codec probing robustness&lt;br /&gt;
: hda-codec - Add support for Acer Aspire 9303&lt;br /&gt;
: hda-codec - Fix wrong pin config order in STAC92xx dell models&lt;br /&gt;
===HDA Intel driver===&lt;br /&gt;
: hda-intel - Fix resume logic, when dynamic power managment is on&lt;br /&gt;
: hda-intel - Improve HD-audio codec probing robustness&lt;br /&gt;
===IOCTL32 emulation===&lt;br /&gt;
: Enable timer ioctls in 32bit compat modules&lt;br /&gt;
===ISA===&lt;br /&gt;
: Gallant SC-6000 driver&lt;br /&gt;
===RME HDSP driver===&lt;br /&gt;
: hdsp - Add support for latset RME9632 revisions&lt;br /&gt;
===RME9652 driver===&lt;br /&gt;
: hdspm - Fix autosync bug&lt;br /&gt;
===SC6000 (CompuMedia ASC-9308 + AD1848) driver===&lt;br /&gt;
: Gallant SC-6000 driver&lt;br /&gt;
: Add sc6000 driver&lt;br /&gt;
===SPARC DBRI driver===&lt;br /&gt;
: dbri - Use linux/of.h instead of asm/prom.h&lt;br /&gt;
: dbri: more cleanups&lt;br /&gt;
: dbri: conversion to OpenFirmware framework&lt;br /&gt;
===SPARC cs4231 driver===&lt;br /&gt;
: CS4231 SBus: Two fixes.&lt;br /&gt;
: sun-cs4231: checkpatch fixes&lt;br /&gt;
: sun-cs4231: code improvements&lt;br /&gt;
: sun-cs4231: improved waiting after MCE down&lt;br /&gt;
: Fix thinko in cs4231 mce down check&lt;br /&gt;
: sun-cs4231: memory management fix&lt;br /&gt;
: sun-cs4231: use cs4231-regs.h&lt;br /&gt;
===SoC Codec CS4270===&lt;br /&gt;
: Fix CS4270 volume control and optimize I2C operations&lt;br /&gt;
===USB generic driver===&lt;br /&gt;
: missing error check in usb sound driver&lt;br /&gt;
: usb-audio: update quirk for Rane SL 1 (aka. Serato Scratch Live)&lt;br /&gt;
: usb-audio: add quirk for Serato Scratch Live DJ Box&lt;br /&gt;
===Utils===&lt;br /&gt;
: Remove libs from toplevel driver list&lt;br /&gt;
===au88x0 driver===&lt;br /&gt;
: au88x0_synth.c bugfix&lt;br /&gt;
==alsa-lib==&lt;br /&gt;
===Core===&lt;br /&gt;
: improved python detection and added --with-pythonincdir for configure.in&lt;br /&gt;
: Allow empty pythonincdir option&lt;br /&gt;
===Simple Abstraction Mixer Modules===&lt;br /&gt;
: improved python detection and added --with-pythonincdir for configure.in&lt;br /&gt;
: Fix a typo&lt;br /&gt;
: alsa simple mixer - python basic abstraction - simplified using get/setArray&lt;br /&gt;
=Detailed changelog between 1.0.15rc1 and 1.0.15rc2 releases=&lt;br /&gt;
==alsa-driver==&lt;br /&gt;
===Sound Core===&lt;br /&gt;
: - release 1.0.15rc1&lt;br /&gt;
: - Avoid SOC for 2.6.9 or older kernels&lt;br /&gt;
:&lt;br /&gt;
:   2.6.9 or older kernels have problems to build soc drivers.&lt;br /&gt;
: - release 1.0.15rc2&lt;br /&gt;
===Control Midlevel===&lt;br /&gt;
: - unexport snd_ctl_elem_{read,write}&lt;br /&gt;
:&lt;br /&gt;
:   snd_ctl_elem_{read,write} no longer have any modular users&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Adrian Bunk &amp;lt;bunk@kernel.org&amp;gt;&lt;br /&gt;
===PCM Midlevel===&lt;br /&gt;
: - Fix 'discards qualifiers' compile warnings in pcm.h&lt;br /&gt;
:&lt;br /&gt;
:   Fixed cast messes in pcm.h.&lt;br /&gt;
:       include/sound/pcm.h: In function ‘hw_param_interval_c’:&lt;br /&gt;
:       include/sound/pcm.h:800: warning: passing argument 1 of ‘hw_param_interval’ discards qualifiers from pointer target type&lt;br /&gt;
:&lt;br /&gt;
:   Simply redefine the inline functions again for const pointers.&lt;br /&gt;
: - Kill useless volatile in pcm.h&lt;br /&gt;
:&lt;br /&gt;
:   The volatile prefix is just useless there.  Let's kill them, and then&lt;br /&gt;
:   gcc will be happier, too.&lt;br /&gt;
:      sound/acore/pcm.c:867: warning: passing argument 1 of ‘__constant_c_and_count_memset’ discards qualifiers from pointer target type&lt;br /&gt;
===/isa/Makefile===&lt;br /&gt;
: - Gallant SC-6000 driver&lt;br /&gt;
:&lt;br /&gt;
:   This is port of the Gallant SC-6000 driver from the OSS aedsp16 driver.&lt;br /&gt;
:   This card was also sold as AudioExcel DSP 16 and Zoltrix AV302 (Audio&lt;br /&gt;
:   Plus True 16).&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
===AC97 bus driver===&lt;br /&gt;
: - Fix build with older kernels&lt;br /&gt;
:&lt;br /&gt;
:   Include adriver.h wrapper for fixing the build of ac97_bus.c&lt;br /&gt;
:   with older kernels.&lt;br /&gt;
===AD1848 driver===&lt;br /&gt;
: - ad1848: fix AD1848P macro&lt;br /&gt;
:&lt;br /&gt;
:   Consistent variable naming is a good thing, but let's be a little less&lt;br /&gt;
:   sneaky about enforcing it... ;-/&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Rene Herman &amp;lt;rene.herman@gmail.com&amp;gt;&lt;br /&gt;
: - ad1838/cs4231 - fix MCE timeout upon initial load&lt;br /&gt;
:&lt;br /&gt;
:   When the ad1848/cs2431 is first being initialized, auto-calibration may not&lt;br /&gt;
:   be set causing a timeout waiting for it in snd_ad1848/cs4231_mce_down().&lt;br /&gt;
:&lt;br /&gt;
:   This has no dire consequences other than an alarming printk, but since what&lt;br /&gt;
:   we need to wait for is for the calibration to _finish_, let's just check for&lt;br /&gt;
:   that instead.&lt;br /&gt;
:&lt;br /&gt;
:   The early chips need a slight delay (as commented -- 5 sample periods) to be&lt;br /&gt;
:   sure that _if_ calibration is going to happen, it has started when we check&lt;br /&gt;
:   While the CS4231A datasheet implies it'll happen immediately on downing MCE,&lt;br /&gt;
:   some testing is showing that there's a window there as well, so just do the&lt;br /&gt;
:   delay everywhere.&lt;br /&gt;
:&lt;br /&gt;
:   Thanks to Krysztof Helt for pinpointing this problem.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Rene Herman &amp;lt;rene.herman@gmail.com&amp;gt;&lt;br /&gt;
: - ad1848: replace HZ calculus with msecs_to_jiffies()&lt;br /&gt;
:&lt;br /&gt;
:   If I'm not mistaken, any (new) use of HZ these days is considered a bug so&lt;br /&gt;
:   while I'm there...&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Rene Herman &amp;lt;rene.herman@gmail.com&amp;gt;&lt;br /&gt;
: - ad1848/cs4231: replace commented out debug code with snd-printd{,d}&lt;br /&gt;
:&lt;br /&gt;
:   While I'm at it another &amp;quot;while I'm there&amp;quot; -- replace commented out debug&lt;br /&gt;
:   code with snd-printd{,d}.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Rene Herman &amp;lt;rene.herman@gmail.com&amp;gt;&lt;br /&gt;
: - ad1848_lib: replace common delay loop by function&lt;br /&gt;
:&lt;br /&gt;
:   This patch replaces a common delay loop by a function.&lt;br /&gt;
:   It also uses ARRAY_SIZE macro for the rates table.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
:   Acked-by: Rene Herman &amp;lt;rene.herman@gmail.com&amp;gt;&lt;br /&gt;
===BT87x driver===&lt;br /&gt;
: - snd-bt87x: Power down audio ADC when not in use&lt;br /&gt;
:&lt;br /&gt;
:   Sets a bit to power down the Bt87x's internal audio ADC when the ALSA device&lt;br /&gt;
:   isn't open, or when it is in &amp;quot;digital mode&amp;quot; using an external ADC.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Trent Piepho &amp;lt;xyzzy@speakeasy.org&amp;gt;&lt;br /&gt;
: - snd-bt87x: Improve support for different board types&lt;br /&gt;
:&lt;br /&gt;
:   Different cards have different audio configurations, but the driver didn't&lt;br /&gt;
:   support this.  The only setting it had was the digital rate.&lt;br /&gt;
:&lt;br /&gt;
:   This patch adds a board configuration list.  Currently, configurable items are&lt;br /&gt;
:   the digital rate and the digital data format (for cards with an external ADC),&lt;br /&gt;
:   a flag for the absence of an external ADC, and a flag for no connection to the&lt;br /&gt;
:   Bt87x internal ADC.&lt;br /&gt;
:&lt;br /&gt;
:   This allows cards that don't use the internal ADC to omit the ALSA &amp;quot;Bt87x&lt;br /&gt;
:   analog&amp;quot; device and related controls.  Cards without an external ADC can omit&lt;br /&gt;
:   the &amp;quot;Bt87x digital&amp;quot; device.&lt;br /&gt;
:&lt;br /&gt;
:   In order to support the CS5331A ADC used on the Osprey 440 and 2x0 cards, the&lt;br /&gt;
:   digital format needs to be different than the default.&lt;br /&gt;
:&lt;br /&gt;
:   Support could be added for defining:&lt;br /&gt;
:     The connections or lack of them to the Bt87x's internal ADC mux&lt;br /&gt;
:     Multiple sample rates for an external ADC (e.g. Osprey)&lt;br /&gt;
:     Control of an external mux for an external ADC (e.g. Osprey)&lt;br /&gt;
:&lt;br /&gt;
:   The card definitions for cards other than the Ospreys are kept equivalent to&lt;br /&gt;
:   their old values.  This is likely inaccurate for most cards, as it is doubtful&lt;br /&gt;
:   that both an external and the internal ADC would be used.  Lacking information&lt;br /&gt;
:   on those cards, the behavior is left unchanged.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Trent Piepho &amp;lt;xyzzy@speakeasy.org&amp;gt;&lt;br /&gt;
: - Regenerate bt87x.patch&lt;br /&gt;
:&lt;br /&gt;
:   Regenerated bt87x.patch for the last change&lt;br /&gt;
:      a55dc0affe21b6fd07e9f5cec5b11532a4799cac&lt;br /&gt;
:      snd-bt87x: Improve support for different board types&lt;br /&gt;
===CMIPCI driver===&lt;br /&gt;
: - cmipci: add msbits constraint for 24-bit format&lt;br /&gt;
:&lt;br /&gt;
:   Add a msbits constraint to the SPDIF output device to indicate that&lt;br /&gt;
:   S32_LE samples use only 24 bits for data.&lt;br /&gt;
: - cmipci: remove invalid channels constraint&lt;br /&gt;
:&lt;br /&gt;
:   Remove the constraint that sets the channel limit for the first playback&lt;br /&gt;
:   device to that of the second one; the first device supports only stereo.&lt;br /&gt;
: - cmipci: add 96 kHz support&lt;br /&gt;
:&lt;br /&gt;
:   Add support for 88.2 kHz and 96 kHz analog and digital playback on&lt;br /&gt;
:   CMI8768/CMI8770 chips.&lt;br /&gt;
: - cmipci: do not check for integrated FM/MIDI ports with chip version 37&lt;br /&gt;
:&lt;br /&gt;
:   Integrated MPU-401/OPL3 ports are available with chip version 39 and&lt;br /&gt;
:   later, so we do not test for the port with version 37.&lt;br /&gt;
:&lt;br /&gt;
:   Now that the test is known to work, we can again enable the MIDI port by&lt;br /&gt;
:   default.&lt;br /&gt;
: - cmipci: check that the legacy MIDI port works&lt;br /&gt;
:&lt;br /&gt;
:   Check that the UART_EN bit actually enabled the MPU-401 port.&lt;br /&gt;
:   Apparently, C-Media thinks that it is a good idea to be paranoid here.&lt;br /&gt;
: - cmipci: show real chip name in card name&lt;br /&gt;
:&lt;br /&gt;
:   The &amp;quot;-MCx&amp;quot; suffix that is expected by alsa-lib is only needed in the&lt;br /&gt;
:   card driver string, so we can show the actual chip name in the&lt;br /&gt;
:   shortname.&lt;br /&gt;
===CS4231 driver===&lt;br /&gt;
: - ad1838/cs4231 - fix MCE timeout upon initial load&lt;br /&gt;
:&lt;br /&gt;
:   When the ad1848/cs2431 is first being initialized, auto-calibration may not&lt;br /&gt;
:   be set causing a timeout waiting for it in snd_ad1848/cs4231_mce_down().&lt;br /&gt;
:&lt;br /&gt;
:   This has no dire consequences other than an alarming printk, but since what&lt;br /&gt;
:   we need to wait for is for the calibration to _finish_, let's just check for&lt;br /&gt;
:   that instead.&lt;br /&gt;
:&lt;br /&gt;
:   The early chips need a slight delay (as commented -- 5 sample periods) to be&lt;br /&gt;
:   sure that _if_ calibration is going to happen, it has started when we check&lt;br /&gt;
:   While the CS4231A datasheet implies it'll happen immediately on downing MCE,&lt;br /&gt;
:   some testing is showing that there's a window there as well, so just do the&lt;br /&gt;
:   delay everywhere.&lt;br /&gt;
:&lt;br /&gt;
:   Thanks to Krysztof Helt for pinpointing this problem.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Rene Herman &amp;lt;rene.herman@gmail.com&amp;gt;&lt;br /&gt;
: - ad1848/cs4231: replace commented out debug code with snd-printd{,d}&lt;br /&gt;
:&lt;br /&gt;
:   While I'm at it another &amp;quot;while I'm there&amp;quot; -- replace commented out debug&lt;br /&gt;
:   code with snd-printd{,d}.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Rene Herman &amp;lt;rene.herman@gmail.com&amp;gt;&lt;br /&gt;
: - cs4231-lib: replace common delay loop by function&lt;br /&gt;
:&lt;br /&gt;
:   This patch replaces a common delay loop by a function.&lt;br /&gt;
:   It also uses ARRAY_SIZE macro for the rates table.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
:   Acked-by: Rene Herman &amp;lt;rene.herman@gmail.com&amp;gt;&lt;br /&gt;
: - cs4231 header split&lt;br /&gt;
:&lt;br /&gt;
:   This patch splits the cs4231.h file into two parts:&lt;br /&gt;
:   - cs4231-regs.h which contain register constants and macros&lt;br /&gt;
:   - cs4231.h which includes the above and contain rest of the definitions&lt;br /&gt;
:&lt;br /&gt;
:   This will allow to share register definitions between x86 ISA cs4231&lt;br /&gt;
:   and SPARC cs4231.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
: - cs4231-lib: improved waiting after mce_down&lt;br /&gt;
:&lt;br /&gt;
:   This patch replaces long msleeps in waiting loops&lt;br /&gt;
:   with schedule_timeout() calls.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1 at wp.pl&amp;gt;&lt;br /&gt;
: - Fix thinko in cs4231 mce down check&lt;br /&gt;
:&lt;br /&gt;
:   The last patches to replace with schedule_timeout() don't work as expected.&lt;br /&gt;
===CS5535 driver===&lt;br /&gt;
: - cs5535audio: correctly set dma-&amp;gt;substream&lt;br /&gt;
:&lt;br /&gt;
:   We're never actually setting dma-&amp;gt;substream to the current substream; that&lt;br /&gt;
:   means the dma-&amp;gt;substream checks that we do in the suspend/resume path&lt;br /&gt;
:   are never satisfied, and the PRD registers are never correctly managed.  This&lt;br /&gt;
:   changes it so that we set the substream when constructing the specific&lt;br /&gt;
:   bus master DMA, and unsetting it when we tear down the BM's DMA.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Andres Salomon &amp;lt;dilinger@debian.org&amp;gt;&lt;br /&gt;
: - cs5535audio: fix PRD register save/restore power management race&lt;br /&gt;
:&lt;br /&gt;
:   In the suspend path, we currently save the PRD registers and then disable DMA.&lt;br /&gt;
:   This is racy; the sound hardware might update the PRD register as it finishes&lt;br /&gt;
:   processing some DMA pages between when we've saved the PRD registers and&lt;br /&gt;
:   when DMA actually gets disabled.  Furthermore, we actively check whether or&lt;br /&gt;
:   not DMA is enabled before saving PRD registers; there's no reason to do that,&lt;br /&gt;
:   as the PRD registers should not update when we twiddle the ACC_BM[x]_CMD&lt;br /&gt;
:   register(s).  Worst case, we save the PRD registers twice; even powering&lt;br /&gt;
:   down the ACC shouldn't mess with the PRD registers (according to the 5536&lt;br /&gt;
:   data sheet, section 5.3.7.4, power-down procedure).  This patch reworks&lt;br /&gt;
:   all that to first disable DMA, and then save PRD registers.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Andres Salomon &amp;lt;dilinger@debian.org&amp;gt;&lt;br /&gt;
: - cs5535audio: update PCI device handling in suspend/resume&lt;br /&gt;
:&lt;br /&gt;
:   Save the PCI state before disabling the device, and add some error checking.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Andres Salomon &amp;lt;dilinger@debian.org&amp;gt;&lt;br /&gt;
: - cs5535audio: fix ACC_BM[x]_CMD register handling&lt;br /&gt;
:&lt;br /&gt;
:   According to 6.3.2.7 of the cs5535/cs5536 data sheets, the ACC_BM[x]_CMD&lt;br /&gt;
:   registers are only 8 bits wide.  This driver treats them as 32 bits wide,&lt;br /&gt;
:   and also has bits in the wrong place.  Simple fix to the definitions.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Andres Salomon &amp;lt;dilinger@debian.org&amp;gt;&lt;br /&gt;
: - cs5535audio: drop unused bus master stuff&lt;br /&gt;
:&lt;br /&gt;
:   We really only care about the first two bus masters (playback and capture).&lt;br /&gt;
:   There's no need to have unused BM code lying around, so let's get rid of it.&lt;br /&gt;
:&lt;br /&gt;
:   If for some reason we trigger an IRQ for some BM that we're not using.. well,&lt;br /&gt;
:   that warrants spitting out an error message (imo).&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Andres Salomon &amp;lt;dilinger@debian.org&amp;gt;&lt;br /&gt;
===Digigram PCXHR driver===&lt;br /&gt;
: - pcxhr - Fix trigger start with non-linked streams&lt;br /&gt;
:&lt;br /&gt;
:   The non-linked streams couldn't be started properly due to missing&lt;br /&gt;
:   setting of stream-&amp;gt;status.&lt;br /&gt;
===Documentation===&lt;br /&gt;
: - cmipci: do not check for integrated FM/MIDI ports with chip version 37&lt;br /&gt;
:&lt;br /&gt;
:   Integrated MPU-401/OPL3 ports are available with chip version 39 and&lt;br /&gt;
:   later, so we do not test for the port with version 37.&lt;br /&gt;
:&lt;br /&gt;
:   Now that the test is known to work, we can again enable the MIDI port by&lt;br /&gt;
:   default.&lt;br /&gt;
: - document basic TLV stuff&lt;br /&gt;
:&lt;br /&gt;
:   Add documentation about how to define dB scale information for mixer&lt;br /&gt;
:   controls.&lt;br /&gt;
: - hda-codec - Add laptop-automute model for AD1986A&lt;br /&gt;
:&lt;br /&gt;
:   Added a new model laptop-automute for AD1986A, which has the HP jack&lt;br /&gt;
:   detection and auto-muting of the speaker.  Currently, it's used for&lt;br /&gt;
:   Lenovo N100.&lt;br /&gt;
: - hda-codec - Add missing model names for ALC882 codecs&lt;br /&gt;
:&lt;br /&gt;
:   Added the missing model option strings for ALC882 codecs.&lt;br /&gt;
:   Also added the corresponding description in ALSA-Configuration.txt.&lt;br /&gt;
: - Add description of sc6000 driver&lt;br /&gt;
:&lt;br /&gt;
:   Added the description of the new sc6000 driver to ALSA-Configuration.txt.&lt;br /&gt;
: - Add missing models for Dell with STAC9200 codec&lt;br /&gt;
:&lt;br /&gt;
:   Added the missing description of models for Dell machines with&lt;br /&gt;
:   STAC9200 HD-audio codec chip.&lt;br /&gt;
===Echoaudio driver===&lt;br /&gt;
: - echoaudio - Remove superfluous volatile prefix&lt;br /&gt;
:&lt;br /&gt;
:   Remove superfluous volatile prefix in the communication struct definition.&lt;br /&gt;
:   This eventually fixes the compile warnings with the recent gcc, too.&lt;br /&gt;
===HDA Codec driver===&lt;br /&gt;
: - hda-codec - Fix capture on ALC262 HP machines&lt;br /&gt;
:&lt;br /&gt;
:   Fix the index for Front Mic capture source on ALC262 HP machines.&lt;br /&gt;
:   Also, added the new capture source list for HP BPC DC7000 series&lt;br /&gt;
:   to work properly.&lt;br /&gt;
:&lt;br /&gt;
:   From: zhejiang &amp;lt;zhe.jiang@intel.com&amp;gt;&lt;br /&gt;
: - hda-codec - code cleanups in patch_sigmatel.c&lt;br /&gt;
:&lt;br /&gt;
:   Clean up the mixer entries for Input Source using a macro.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Maxim Levitsky &amp;lt;maximlevitsky@gmail.com&amp;gt;&lt;br /&gt;
: - hda-codec - Add missing Mic Boost for some ALC882 models&lt;br /&gt;
:&lt;br /&gt;
:   Mic Boost mixer volume was missing in some ALC882 models.  Added now.&lt;br /&gt;
: - hda-codec - Add support for Toshiba A305&lt;br /&gt;
:&lt;br /&gt;
:   Added the proper model=toshiba for Toshiba A305 with ALC268 codec.&lt;br /&gt;
: - hda-codec - Fix wrong pin-setup at resume of STAC codecs&lt;br /&gt;
:&lt;br /&gt;
:   The resume procedure for STAC codecs overrides the cached values and&lt;br /&gt;
:   results in the wrong (reset) PIN state.  The patch gets rid of the&lt;br /&gt;
:   overriding part and simplifies the resume.&lt;br /&gt;
: - hda-codec - Avoid zero NID in line_out_pins[] of STAC codecs&lt;br /&gt;
:&lt;br /&gt;
:   The STAC codes adds line_out_pins[] for shared mic/line-inputs accordingly.&lt;br /&gt;
:   But, the current code may give a hole with NID=0 in some setting, which&lt;br /&gt;
:   results in an error at probe.  This patch fixes the problem.&lt;br /&gt;
: - hda-intel - fix a race in dynamic power managment&lt;br /&gt;
:&lt;br /&gt;
:   codec-&amp;gt;power_transition is supposed to be true while codec is going&lt;br /&gt;
:   to be shut off if in the mean time somebody calls snd_hda_power_up,&lt;br /&gt;
:   hda_power_work will not shut down the codec, but nether will clear&lt;br /&gt;
:   codec-&amp;gt;power_transition, thus it stays on forever. Fix this.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Maxim Levitsky &amp;lt;maximlevitsky@gmail.com&amp;gt;&lt;br /&gt;
: - hda-intel - Fix resume logic, when dynamic power managment is on&lt;br /&gt;
:&lt;br /&gt;
:   Comment in hda_intel.c states that &amp;quot;the explicit resume is needed only&lt;br /&gt;
:   when POWER_SAVE isn't set&amp;quot;, but this is not true.&lt;br /&gt;
:   There is no code that will automaticly power up the codec on resume,&lt;br /&gt;
:   but only code that powers it up when user accesses it. So if user&lt;br /&gt;
:   leaves a sound playing, codec will not be powered&lt;br /&gt;
:&lt;br /&gt;
:   To fix that I check if there are any codecs that should be powered&lt;br /&gt;
:   codec-&amp;gt;power_count, and if so I power them up together with main&lt;br /&gt;
:   controller.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Maxim Levitsky &amp;lt;maximlevitsky@gmail.com&amp;gt;&lt;br /&gt;
: - hda-codec - add support for swapping center/LFE channels to STAC codecs&lt;br /&gt;
:&lt;br /&gt;
:   Center/LFE channels are located on same jack, so it can be usefull&lt;br /&gt;
:   to swap them.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Maxim Levitsky &amp;lt;maximlevitsky@gmail.com&amp;gt;&lt;br /&gt;
: - hda-codec - add support for analog loopback to STAC9204/9205/922x/927x&lt;br /&gt;
:&lt;br /&gt;
:   The analog loopback routes the sound just before it enters ADC0&lt;br /&gt;
:   to output of DAC0.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Maxim Levitsky &amp;lt;maximlevitsky@gmail.com&amp;gt;&lt;br /&gt;
: - hda-codec - make volume knob, the master volume for sigmatel codecs&lt;br /&gt;
:&lt;br /&gt;
:   VolumeKnob is present on most sigmatel codecs, it allows to decrease&lt;br /&gt;
:   volume of all DACs at once, it is a kind of post-procesing volume.&lt;br /&gt;
:   Note that all output amps of sigmatel only decrease volume, and all&lt;br /&gt;
:   input amps only increase volume.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Maxim Levitsky &amp;lt;maximlevitsky@gmail.com&amp;gt;&lt;br /&gt;
: - hda-codec - Fix support for sigmatel codecs that have 2 or more ADCs&lt;br /&gt;
:&lt;br /&gt;
:   1) Create seperate mixer controls for each ADC&lt;br /&gt;
:   2) Make number of substreams of capture PCM device be equal to&lt;br /&gt;
:      number of ADCs&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Maxim Levitsky &amp;lt;maximlevitsky@gmail.com&amp;gt;&lt;br /&gt;
: - hda: BIOS changing subsystem id&lt;br /&gt;
:&lt;br /&gt;
:   Some laptop BIOS change the subsystem id for STAC9205 cards if the&lt;br /&gt;
:   microphone isn't toggled on/off in the settings.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Matthew Ranostay &amp;lt;mranostay@embeddedalley.com&amp;gt;&lt;br /&gt;
: - hda-codec - Add laptop-automute model for AD1986A&lt;br /&gt;
:&lt;br /&gt;
:   Added a new model laptop-automute for AD1986A, which has the HP jack&lt;br /&gt;
:   detection and auto-muting of the speaker.  Currently, it's used for&lt;br /&gt;
:   Lenovo N100.&lt;br /&gt;
: - hda-codec - Add support for ASUS A7M&lt;br /&gt;
:&lt;br /&gt;
:   Added the support for ASUS A7M with ALC882 codec.&lt;br /&gt;
:   It's slightly different from ASUS A7J.&lt;br /&gt;
:   The patch taken from ALSA bug#3000&lt;br /&gt;
:       https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3000&lt;br /&gt;
: - hda-codec - Add missing model names for ALC882 codecs&lt;br /&gt;
:&lt;br /&gt;
:   Added the missing model option strings for ALC882 codecs.&lt;br /&gt;
:   Also added the corresponding description in ALSA-Configuration.txt.&lt;br /&gt;
: - hda-codec - Add quirk entry for Casper CPR2000&lt;br /&gt;
:&lt;br /&gt;
:   Added the quirk entry for Casper CPR2000 (model=acer) with ALC268 codec&lt;br /&gt;
:   (ALSA bug#3343).&lt;br /&gt;
: - hda-intel - Improve HD-audio codec probing robustness&lt;br /&gt;
:&lt;br /&gt;
:   When modem is disabled in the BIOS, detection of the number of codecs&lt;br /&gt;
:   always fails after booting if STATESTS is not cleared first.&lt;br /&gt;
:   This patch fixes this problem and also adds an error check in a place&lt;br /&gt;
:   where a read error would lead to a very large number of pointless loops.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Danny Tholen &amp;lt;obiwan@mailmij.org&amp;gt;&lt;br /&gt;
: - hda-codec - Add support for Acer Aspire 9303&lt;br /&gt;
:&lt;br /&gt;
:   Add the entry for Acer Aspire 9303 (model=acer-aspire) with ALC883 codec.&lt;br /&gt;
: - hda-codec - Fix wrong pin config order in STAC92xx dell models&lt;br /&gt;
:&lt;br /&gt;
:   The last patch to change/add Dell models have wrong pin config orders.&lt;br /&gt;
:   This patch fixes the pin positions.&lt;br /&gt;
:   Taken from ALSA bug#3319,&lt;br /&gt;
:       https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3319&lt;br /&gt;
===HDA Intel driver===&lt;br /&gt;
: - hda-intel - Fix resume logic, when dynamic power managment is on&lt;br /&gt;
:&lt;br /&gt;
:   Comment in hda_intel.c states that &amp;quot;the explicit resume is needed only&lt;br /&gt;
:   when POWER_SAVE isn't set&amp;quot;, but this is not true.&lt;br /&gt;
:   There is no code that will automaticly power up the codec on resume,&lt;br /&gt;
:   but only code that powers it up when user accesses it. So if user&lt;br /&gt;
:   leaves a sound playing, codec will not be powered&lt;br /&gt;
:&lt;br /&gt;
:   To fix that I check if there are any codecs that should be powered&lt;br /&gt;
:   codec-&amp;gt;power_count, and if so I power them up together with main&lt;br /&gt;
:   controller.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Maxim Levitsky &amp;lt;maximlevitsky@gmail.com&amp;gt;&lt;br /&gt;
: - hda-intel - Improve HD-audio codec probing robustness&lt;br /&gt;
:&lt;br /&gt;
:   When modem is disabled in the BIOS, detection of the number of codecs&lt;br /&gt;
:   always fails after booting if STATESTS is not cleared first.&lt;br /&gt;
:   This patch fixes this problem and also adds an error check in a place&lt;br /&gt;
:   where a read error would lead to a very large number of pointless loops.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Danny Tholen &amp;lt;obiwan@mailmij.org&amp;gt;&lt;br /&gt;
===IOCTL32 emulation===&lt;br /&gt;
: - Enable timer ioctls in 32bit compat modules&lt;br /&gt;
:&lt;br /&gt;
:   Enable some disabled timer ioctls in 32bit compat modules again.&lt;br /&gt;
:   These ioctls are re-defined not to conflict with the existing TIOC_*&lt;br /&gt;
:   definitions.  So, safe to use now, and was enabled far ago in the&lt;br /&gt;
:   upstream 32bit compat layer (timer_compat.c).&lt;br /&gt;
===ISA===&lt;br /&gt;
: - Gallant SC-6000 driver&lt;br /&gt;
:&lt;br /&gt;
:   This is port of the Gallant SC-6000 driver from the OSS aedsp16 driver.&lt;br /&gt;
:   This card was also sold as AudioExcel DSP 16 and Zoltrix AV302 (Audio&lt;br /&gt;
:   Plus True 16).&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
===RME HDSP driver===&lt;br /&gt;
: - hdsp - Add support for latset RME9632 revisions&lt;br /&gt;
:&lt;br /&gt;
:   added support for the latest revision of the 9632 (and hopefully a few&lt;br /&gt;
:   following ones). The DSP matrix was not working because of wrong&lt;br /&gt;
:   identification of the card in this part of the code.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Remy Bruno &amp;lt;remy.bruno@trinnov.com&amp;gt;&lt;br /&gt;
===RME9652 driver===&lt;br /&gt;
: - hdspm - Fix autosync bug&lt;br /&gt;
:&lt;br /&gt;
:   * better report of speed mode change failures&lt;br /&gt;
:   * autosync_ref control bugfix (was reporting pref_sync_ref instead)&lt;br /&gt;
:     (changed HDSPM_AES32_AUTOSYNC_FROM_NONE value to comply with array&lt;br /&gt;
:     indexing in snd_hdspm_info_autosync_ref())&lt;br /&gt;
:   * added support for master modes up to 192kHz (clock source control&lt;br /&gt;
:     value was restricted up to 96kHz)&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Remy Bruno &amp;lt;remy.bruno@trinnov.com&amp;gt;&lt;br /&gt;
===SC6000 (CompuMedia ASC-9308 + AD1848) driver===&lt;br /&gt;
: - Gallant SC-6000 driver&lt;br /&gt;
:&lt;br /&gt;
:   This is port of the Gallant SC-6000 driver from the OSS aedsp16 driver.&lt;br /&gt;
:   This card was also sold as AudioExcel DSP 16 and Zoltrix AV302 (Audio&lt;br /&gt;
:   Plus True 16).&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
: - Add sc6000 driver&lt;br /&gt;
===SPARC DBRI driver===&lt;br /&gt;
: - dbri - Use linux/of.h instead of asm/prom.h&lt;br /&gt;
:&lt;br /&gt;
:   The linux/of.h header should be used instead of asm/prom.h.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
: - dbri: more cleanups&lt;br /&gt;
:&lt;br /&gt;
:   This patch:&lt;br /&gt;
:   - removes redundant constant suffices&lt;br /&gt;
:   - removes redundant parentheses&lt;br /&gt;
:   - removes redundant curly brackets&lt;br /&gt;
:   - removes check if a spinlock is locked inside method which is&lt;br /&gt;
:     only called with the spinlock locked&lt;br /&gt;
:   - moves few functions to the __init section&lt;br /&gt;
:   - removes line which appears twice after the previous patch&lt;br /&gt;
:   - minor comments improvements&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
: - dbri: conversion to OpenFirmware framework&lt;br /&gt;
:&lt;br /&gt;
:   This patch converts the dbri driver to use OF framework.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
===SPARC cs4231 driver===&lt;br /&gt;
: - CS4231 SBus: Two fixes.&lt;br /&gt;
:&lt;br /&gt;
:   Remove unnecessary sbus_dma_reset function and change sbus_dma_enable&lt;br /&gt;
:   to avoid occasional system crashes when stopping recording.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Georg Chini &amp;lt;georg.chini@triaton-webhosting.com&amp;gt;&lt;br /&gt;
:   Signed-off-by: David S. Miller &amp;lt;davem@davemloft.net&amp;gt;&lt;br /&gt;
: - sun-cs4231: checkpatch fixes&lt;br /&gt;
:&lt;br /&gt;
:   This patch fixes white spaces and issues pointed by&lt;br /&gt;
:   the checkpatch.pl script.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
: - sun-cs4231: code improvements&lt;br /&gt;
:&lt;br /&gt;
:   This patch does some code improvements to make&lt;br /&gt;
:   driver (both code and binary) shorter.&lt;br /&gt;
:   It also make use of card-&amp;gt;private_data pointer to&lt;br /&gt;
:   store chip information.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
: - sun-cs4231: improved waiting after MCE down&lt;br /&gt;
:&lt;br /&gt;
:   This patch sync sparc driver with x86 isa cs4231 driver patches.&lt;br /&gt;
:   It fixes wrong waiting for the auto calibration bit and makes&lt;br /&gt;
:   further waiting use much finer granularity.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
: - Fix thinko in cs4231 mce down check&lt;br /&gt;
:&lt;br /&gt;
:   The last patches to replace with schedule_timeout() don't work as expected.&lt;br /&gt;
: - sun-cs4231: memory management fix&lt;br /&gt;
:&lt;br /&gt;
:   The chip structure is now allocated by snd_card_new()&lt;br /&gt;
:   and it must not be released by separate kfree().&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
: - sun-cs4231: use cs4231-regs.h&lt;br /&gt;
:&lt;br /&gt;
:   This patch replaces cs4231 registers definitions with&lt;br /&gt;
:   common include.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Krzysztof Helt &amp;lt;krzysztof.h1@wp.pl&amp;gt;&lt;br /&gt;
===SoC Codec CS4270===&lt;br /&gt;
: - Fix CS4270 volume control and optimize I2C operations&lt;br /&gt;
:&lt;br /&gt;
:   The volume control for the CS4270 ASoC driver was inverted - raising the&lt;br /&gt;
:   volume level with alsamixer would decrease the actual volume.&lt;br /&gt;
:&lt;br /&gt;
:   This patch also improves the performance of the I2C code (used to change&lt;br /&gt;
:   register settings) by only performing an I2C write if the new value is&lt;br /&gt;
:   different from the value that's in the register cache.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Timur Tabi &amp;lt;timur@freescale.com&amp;gt;&lt;br /&gt;
===USB generic driver===&lt;br /&gt;
: - missing error check in usb sound driver&lt;br /&gt;
:&lt;br /&gt;
:   usb_set_interface() can fail, even for altsetting 0&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Oliver Neukum &amp;lt;oneukum@suse.de&amp;gt;&lt;br /&gt;
: - usb-audio: update quirk for Rane SL 1 (aka. Serato Scratch Live)&lt;br /&gt;
:&lt;br /&gt;
:   Allow the interface's mixer to be used, and give the interface its&lt;br /&gt;
:   correct name.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Mark Hills &amp;lt;mark@pogo.org.uk&amp;gt;&lt;br /&gt;
: - usb-audio: add quirk for Serato Scratch Live DJ Box&lt;br /&gt;
:&lt;br /&gt;
:   Add a quirk to detect the Serato Scratch Live DJ Box.&lt;br /&gt;
===Utils===&lt;br /&gt;
: - Remove libs from toplevel driver list&lt;br /&gt;
:&lt;br /&gt;
:   Add 2 more libraries to list that gets filtered out when building&lt;br /&gt;
:   the list of cards for configure.&lt;br /&gt;
===au88x0 driver===&lt;br /&gt;
: - au88x0_synth.c bugfix&lt;br /&gt;
:&lt;br /&gt;
:   This patch fixes the code in vortex_wt_SetFrequency() to what seems to&lt;br /&gt;
:   have been intended.&lt;br /&gt;
:&lt;br /&gt;
:   Signed-off-by: Adrian Bunk &amp;lt;bunk@kernel.org&amp;gt;&lt;br /&gt;
:   Signed-off-by: Andrew Morton &amp;lt;akpm@linux-foundation.org&amp;gt;&lt;br /&gt;
==alsa-lib==&lt;br /&gt;
===Core===&lt;br /&gt;
: - improved python detection and added --with-pythonincdir for configure.in&lt;br /&gt;
: - Allow empty pythonincdir option&lt;br /&gt;
:&lt;br /&gt;
:   The include path options can be empty if the python is installed in&lt;br /&gt;
:   the standard header path.  So, configure shouldn't check its emptiness.&lt;br /&gt;
===Simple Abstraction Mixer Modules===&lt;br /&gt;
: - improved python detection and added --with-pythonincdir for configure.in&lt;br /&gt;
: - Fix a typo&lt;br /&gt;
:&lt;br /&gt;
:   $PYTHON_INCDIR itself already contains -I&lt;br /&gt;
: - alsa simple mixer - python basic abstraction - simplified using get/setArray&lt;/div&gt;</summary>
		<author><name>Perex</name></author>
	</entry>
</feed>