public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] em28xx: register device to soundcard for sysfs
@ 2009-02-19 16:41 Nicola Soranzo
  2009-02-19 16:57 ` Markus Rechberger
  2009-02-19 17:12 ` Douglas Schilling Landgraf
  0 siblings, 2 replies; 5+ messages in thread
From: Nicola Soranzo @ 2009-02-19 16:41 UTC (permalink / raw)
  To: Linux Media

As explained in "Writing an ALSA driver" (T. Iwai), audio drivers should
set the struct device for the card before registering the card instance.
This will add the correct /sys/class/sound/cardN/device symlink, so HAL
can see the device and ConsoleKit sets its ACL permissions for the
logged-in user.

For em28xx audio capture cards found e.g. in Hauppauge WinTV-HVR-900 (R2),
this patch fixes errors like:

ALSA lib pcm_hw.c:1429:(_snd_pcm_hw_open) Invalid value for card
Error opening audio: Permission denied

when running mplayer as a normal user.

Priority: normal

Signed-off-by: Nicola Soranzo <nsoranzo@tiscali.it>
---
diff -r 80e785538796 -r ef8cc17cc048 linux/drivers/media/video/em28xx/em28xx-audio.c
--- a/linux/drivers/media/video/em28xx/em28xx-audio.c	Wed Feb 18 18:27:33 2009 +0100
+++ b/linux/drivers/media/video/em28xx/em28xx-audio.c	Thu Feb 19 17:36:44 2009 +0100
@@ -560,6 +560,8 @@
 	pcm->info_flags = 0;
 	pcm->private_data = dev;
 	strcpy(pcm->name, "Empia 28xx Capture");
+
+	snd_card_set_dev(card, &dev->udev->dev);
 	strcpy(card->driver, "Empia Em28xx Audio");
 	strcpy(card->shortname, "Em28xx Audio");
 	strcpy(card->longname, "Empia Em28xx Audio");

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-02-19 17:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-19 16:41 [PATCH] em28xx: register device to soundcard for sysfs Nicola Soranzo
2009-02-19 16:57 ` Markus Rechberger
2009-02-19 17:15   ` Nicola Soranzo
2009-02-19 17:20     ` Markus Rechberger
2009-02-19 17:12 ` Douglas Schilling Landgraf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox