linux/sound
Zhang Heng 108704eeca ALSA: hda/realtek: Rename Line Out control to Headphone on ThinkPad X1 Carbon 6th
The ThinkPad X1 Carbon 6th Gen (ALC285, SSID 17aa:225c) has no physical
Line Out jack. The 3.5mm headphone jack is wired to the headphone DAC,
but the ALSA HDA driver names the corresponding control as
"Line Out Playback Volume" (node 0x02).

PipeWire's ALSA Card Profile (ACP) silences "Line Out" when headphones
are activated, which incorrectly mutes the headphone output.

Add a quirk to rename the control to "Headphone Playback Volume" via
alc285_lenovo_dac_rename().

Tested on openSUSE Tumbleweed (kernel 7.1.5):
- Control renamed successfully, no name collision with "Headphone Playback Switch"
- Headphone output works across multiple PipeWire/WirePlumber restarts
  and port switches

Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221522
Signed-off-by: Zhang Heng <zhangheng@kylinos.cn>
Tested-by: Branislav Klocok <branislav.klocok@orava.sk>
Link: https://patch.msgid.link/20260811062734.400512-1-zhangheng@kylinos.cn
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2026-08-11 08:45:24 +02:00
..
ac97 ASoC: arm: pxa2xx: remove platform_data processing 2026-05-06 10:14:42 +09:00
aoa ALSA: aoa: check snd_ctl_new1() return value 2026-05-28 09:36:43 +02:00
arm ASoC: pxa: integrate sound/arm/pxa2xx into sound/soc/pxa2xx 2026-05-06 10:14:43 +09:00
atmel ALSA: atmel: ac97c: use platform helpers and devm cleanup 2026-07-22 13:27:05 +02:00
core ALSA: seq: Use RCU for the UMP client output substream 2026-08-10 17:44:34 +02:00
drivers ALSA: portman2x4: Check card index validity at probe 2026-08-06 18:10:21 +02:00
firewire ALSA: firewire: Drop redundant mod_devicetable.h includes 2026-07-07 16:21:14 +02:00
hda ALSA: hda/realtek: Rename Line Out control to Headphone on ThinkPad X1 Carbon 6th 2026-08-11 08:45:24 +02:00
i2c ALSA: i2c: ak4xxx-adda: seed AK5365 cache with reset defaults 2026-04-09 12:01:01 +02:00
isa ALSA: wavefront: Use auto-cleanup for firmware loading 2026-07-31 12:44:36 +02:00
mips Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
oss sound: oss: dmasound: kick queued output before extending tail fragment 2026-04-29 07:52:54 +02:00
parisc Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
pci ALSA: pci: asihpi: use pcim_iomap for managed PCI memory mapping 2026-08-11 08:19:21 +02:00
pcmcia Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ppc Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
sh ALSA: sh: Use auto-cleanup for firmware loading 2026-07-31 12:44:36 +02:00
soc Merge branch 'for-linus' into for-next 2026-08-03 15:19:30 +02:00
sparc ALSA: sparc/dbri: Fix "possible condition with no effect" warning 2026-07-19 10:42:22 +02:00
spi ALSA: spi/at73c213: Use guard() for spin locks 2025-09-17 14:07:02 +02:00
synth ALSA: seq: Use flexible array for MIDI channels 2026-05-15 08:52:44 +02:00
usb ALSA: usb-audio: Fix popping noise on Valeton GP-200 2026-08-11 08:12:49 +02:00
virtio ALSA: virtio: Add missing 384 kHz PCM rate mapping 2026-05-16 15:42:30 +02:00
x86 ASoC: Add SPDX ids to many soc files 2026-02-22 23:52:20 +00:00
xen ALSA: xen-front: Connect event channel after stream prepare 2026-05-27 07:25:53 +02:00
ac97_bus.c ALSA: ac97: clean up whitespace and move EXPORT_SYMBOLs 2026-05-04 17:58:30 +02:00
Kconfig
last.c
Makefile
sound_core.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00