ALSA: use card device as parent for jack input-devices

This moves the jack devices from the PCI device into the ALSA card device, which
makes it easier for userspace to find all devices belonging to a specific card
while granting access to logged-in users.

Jack input devices from sound cards can now simply be matched with udev by doing:
  SUBSYSTEM="input", SUBSYSTEMS="sound", ...

 ls -l /sys/devices/pci0000:00/0000:00:1b.0/sound/card0
 controlC0
 device -> ../../../0000:00:1b.0
 id
 input10
 input11
 input8
 input9
 number
 pcmC0D0c
 pcmC0D0p
 pcmC0D1p
 power
 subsystem -> ../../../../../class/sound
 uevent

Cc: Lennart Poettering <lennart@0pointer.de>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Kay Sievers 2009-06-10 19:50:33 +02:00 committed by Takashi Iwai
parent ad0b0822f9
commit 1f3fff7bda

View file

@ -63,7 +63,7 @@ static int snd_jack_dev_register(struct snd_device *device)
/* Default to the sound card device. */ /* Default to the sound card device. */
if (!jack->input_dev->dev.parent) if (!jack->input_dev->dev.parent)
jack->input_dev->dev.parent = card->dev; jack->input_dev->dev.parent = snd_card_get_device_link(card);
err = input_register_device(jack->input_dev); err = input_register_device(jack->input_dev);
if (err == 0) if (err == 0)