<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/sound/synth, branch v6.18.21</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.18.21</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.18.21'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2025-09-01T11:54:27+00:00</updated>
<entry>
<title>ALSA: synth: Use guard() for preset locks</title>
<updated>2025-09-01T11:54:27+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2025-08-29T15:13:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=826f35b829f43dc62fb847eca6f79e8698b4994d'/>
<id>urn:sha1:826f35b829f43dc62fb847eca6f79e8698b4994d</id>
<content type='text'>
Define a macro for the preset locking/unlocking pairs for soundfont
using guard() macro as a further code cleanup.

The new macro is put in soundfont.h (and some function renames) along
with it for avoiding unnecessary troubles with clang.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Link: https://patch.msgid.link/20250829151335.7342-6-tiwai@suse.de
</content>
</entry>
<entry>
<title>ALSA: synth: Use guard() for spin locks</title>
<updated>2025-09-01T11:54:26+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2025-08-29T15:13:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=59ede7178d402b3bfa0266cbd9ad348d5612c295'/>
<id>urn:sha1:59ede7178d402b3bfa0266cbd9ad348d5612c295</id>
<content type='text'>
Clean up the code using guard() for spin locks.

Merely code refactoring, and no behavior change.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Link: https://patch.msgid.link/20250829151335.7342-5-tiwai@suse.de
</content>
</entry>
<entry>
<title>ALSA: synth: Use guard() for mutex locks</title>
<updated>2025-09-01T11:54:26+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2025-08-29T15:13:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=eff259d5b90508fe09edb172d2d4ec5487edf992'/>
<id>urn:sha1:eff259d5b90508fe09edb172d2d4ec5487edf992</id>
<content type='text'>
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.

Only code refactoring, and no behavior change.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Link: https://patch.msgid.link/20250829151335.7342-4-tiwai@suse.de
</content>
</entry>
<entry>
<title>ALSA: synth: Use safer strscpy() instead of strcpy()</title>
<updated>2025-07-11T07:53:35+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2025-07-10T10:07:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2173cee16c2cad741d14c2eb17d39928f7b162c9'/>
<id>urn:sha1:2173cee16c2cad741d14c2eb17d39928f7b162c9</id>
<content type='text'>
Use a safer function strscpy() instead of strcpy() for copying to
arrays.

Only idiomatic code replacement, and no functional changes.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Link: https://patch.msgid.link/20250710100727.22653-95-tiwai@suse.de
</content>
</entry>
<entry>
<title>treewide, timers: Rename from_timer() to timer_container_of()</title>
<updated>2025-06-08T07:07:37+00:00</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@kernel.org</email>
</author>
<published>2025-05-09T05:51:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=41cb08555c4164996d67c78b3bf1c658075b75f1'/>
<id>urn:sha1:41cb08555c4164996d67c78b3bf1c658075b75f1</id>
<content type='text'>
Move this API to the canonical timer_*() namespace.

[ tglx: Redone against pre rc1 ]

Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Link: https://lore.kernel.org/all/aB2X0jCKQO56WdMt@gmail.com

</content>
</entry>
<entry>
<title>ALSA: emux: Use standard print API</title>
<updated>2024-08-08T05:49:46+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2024-08-07T13:34:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fea1510719dd2a33e0ffa1eae6118c5437f7071d'/>
<id>urn:sha1:fea1510719dd2a33e0ffa1eae6118c5437f7071d</id>
<content type='text'>
Use the standard print API with dev_*() instead of the old house-baked
one.  It gives better information and allows dynamically control of
debug prints.

Some functions are changed to receive snd_card object for calling
dev_*() functions, too.

Reviewed-by: Jaroslav Kysela &lt;perex@perex.cz&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Link: https://patch.msgid.link/20240807133452.9424-44-tiwai@suse.de
</content>
</entry>
<entry>
<title>ALSA: misc: Use *-y instead of *-objs in Makefile</title>
<updated>2024-05-08T16:18:13+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2024-05-07T13:55:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b7df4cc3a088a8ce6973c96731bc792dbf54ce28'/>
<id>urn:sha1:b7df4cc3a088a8ce6973c96731bc792dbf54ce28</id>
<content type='text'>
*-objs suffix is reserved rather for (user-space) host programs while
usually *-y suffix is used for kernel drivers (although *-objs works
for that purpose for now).

Let's correct the old usages of *-objs in Makefiles.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Reviewed-by: Jaroslav Kysela &lt;perex@perex.cz&gt;
Link: https://lore.kernel.org/r/20240507135513.14919-10-tiwai@suse.de
</content>
</entry>
<entry>
<title>ALSA: emux: simplify snd_sf_list.callback handling</title>
<updated>2024-04-07T06:35:53+00:00</updated>
<author>
<name>Oswald Buddenhagen</name>
<email>oswald.buddenhagen@gmx.de</email>
</author>
<published>2024-04-06T06:48:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4c4cbe66828f185903d2127aed6ac9b7302e9d3a'/>
<id>urn:sha1:4c4cbe66828f185903d2127aed6ac9b7302e9d3a</id>
<content type='text'>
Both drivers provide both sample_new and sample_free, and it makes no
sense to pretend that they could not. In fact, load_data() would already
crash if sample_new was null. So remove the remaining null checks.

Contrary to that, the emu10k1 driver actually has a null sample_reset,
though I'm not convinced that this inconsistency is justified.

Signed-off-by: Oswald Buddenhagen &lt;oswald.buddenhagen@gmx.de&gt;
Message-ID: &lt;20240406064830.1029573-18-oswald.buddenhagen@gmx.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: emux: improve patch ioctl data validation</title>
<updated>2024-04-07T06:35:48+00:00</updated>
<author>
<name>Oswald Buddenhagen</name>
<email>oswald.buddenhagen@gmx.de</email>
</author>
<published>2024-04-06T06:48:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=89b32ccb12ae67e630c6453d778ec30a592a212f'/>
<id>urn:sha1:89b32ccb12ae67e630c6453d778ec30a592a212f</id>
<content type='text'>
In load_data(), make the validation of and skipping over the main info
block match that in load_guspatch().

In load_guspatch(), add checking that the specified patch length matches
the actually supplied data, like load_data() already did.

Signed-off-by: Oswald Buddenhagen &lt;oswald.buddenhagen@gmx.de&gt;
Message-ID: &lt;20240406064830.1029573-8-oswald.buddenhagen@gmx.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: emux: centralize &amp; improve patch info validation</title>
<updated>2024-04-07T06:35:47+00:00</updated>
<author>
<name>Oswald Buddenhagen</name>
<email>oswald.buddenhagen@gmx.de</email>
</author>
<published>2024-04-06T06:48:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=de67aab120d4d5ba7d9e94ee5b25464ae0d1bd0e'/>
<id>urn:sha1:de67aab120d4d5ba7d9e94ee5b25464ae0d1bd0e</id>
<content type='text'>
This does several closely related things:
- Move the code from the drivers into the SoundFont loader, which
  de-duplicates it.
- Sort of explain the weird "recalculate address offset" feature. Note
  that I don't think it actually makes any sense - the calling user
  space code should do that. The background is certainly that the source
  data (the SoundFont format) uses pointers into a single wave block
  (and the API allows doing the same for on-board ROM), but the API
  expects the wave data from user space to be pre-chopped into
  individual patches anyway.
- Make sure that the specified offsets actually lie within the supplied
  wave data. Note that we don't validate ROM offsets, so one can play
  back anything within the sound card's address space.
- In load_guspatch(), don't call the sample_new callback anymore when
  the patch size is zero, as was already the case in load_data(). The
  callbacks would instantly return in that case anyway; these checks are
  now removed.

Signed-off-by: Oswald Buddenhagen &lt;oswald.buddenhagen@gmx.de&gt;
Message-ID: &lt;20240406064830.1029573-7-oswald.buddenhagen@gmx.de&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
