aboutsummaryrefslogtreecommitdiffstats
path: root/sound/aoa/core
diff options
context:
space:
mode:
authorOlaf Hering <olaf@aepfle.de>2006-12-07 02:24:12 -0500
committerJaroslav Kysela <perex@suse.cz>2007-02-09 03:02:20 -0500
commit61e77107fa849b69f50ebe96217ba3468a216ba8 (patch)
treef5de025be0eccc997f6b1f1bd0a3d511855b3276 /sound/aoa/core
parente0e6ce0380e0c4de35371372bc5b6c2b02458597 (diff)
[ALSA] create device symlink in snd-aoa
create sysfs device symlinks for snd-aoa in /sys/class/sound/controlC0 This allows hald to recognize the device as sound device. Furthermore it allows the desktop user to actually access the sound device nodes. hald and related packages will modify the acl attributes. Fixes https://bugzilla.novell.com/show_bug.cgi?id=106294 Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/aoa/core')
-rw-r--r--sound/aoa/core/snd-aoa-alsa.c3
-rw-r--r--sound/aoa/core/snd-aoa-alsa.h2
-rw-r--r--sound/aoa/core/snd-aoa-core.c4
3 files changed, 5 insertions, 4 deletions
diff --git a/sound/aoa/core/snd-aoa-alsa.c b/sound/aoa/core/snd-aoa-alsa.c
index 8c5a19bd602a..17fe689ed287 100644
--- a/sound/aoa/core/snd-aoa-alsa.c
+++ b/sound/aoa/core/snd-aoa-alsa.c
@@ -14,7 +14,7 @@ MODULE_PARM_DESC(index, "index for AOA sound card.");
14 14
15static struct aoa_card *aoa_card; 15static struct aoa_card *aoa_card;
16 16
17int aoa_alsa_init(char *name, struct module *mod) 17int aoa_alsa_init(char *name, struct module *mod, struct device *dev)
18{ 18{
19 struct snd_card *alsa_card; 19 struct snd_card *alsa_card;
20 int err; 20 int err;
@@ -28,6 +28,7 @@ int aoa_alsa_init(char *name, struct module *mod)
28 return -ENOMEM; 28 return -ENOMEM;
29 aoa_card = alsa_card->private_data; 29 aoa_card = alsa_card->private_data;
30 aoa_card->alsa_card = alsa_card; 30 aoa_card->alsa_card = alsa_card;
31 alsa_card->dev = dev;
31 strlcpy(alsa_card->driver, "AppleOnbdAudio", sizeof(alsa_card->driver)); 32 strlcpy(alsa_card->driver, "AppleOnbdAudio", sizeof(alsa_card->driver));
32 strlcpy(alsa_card->shortname, name, sizeof(alsa_card->shortname)); 33 strlcpy(alsa_card->shortname, name, sizeof(alsa_card->shortname));
33 strlcpy(alsa_card->longname, name, sizeof(alsa_card->longname)); 34 strlcpy(alsa_card->longname, name, sizeof(alsa_card->longname));
diff --git a/sound/aoa/core/snd-aoa-alsa.h b/sound/aoa/core/snd-aoa-alsa.h
index 660d2f1793bb..9669e4489cab 100644
--- a/sound/aoa/core/snd-aoa-alsa.h
+++ b/sound/aoa/core/snd-aoa-alsa.h
@@ -10,7 +10,7 @@
10#define __SND_AOA_ALSA_H 10#define __SND_AOA_ALSA_H
11#include "../aoa.h" 11#include "../aoa.h"
12 12
13extern int aoa_alsa_init(char *name, struct module *mod); 13extern int aoa_alsa_init(char *name, struct module *mod, struct device *dev);
14extern void aoa_alsa_cleanup(void); 14extern void aoa_alsa_cleanup(void);
15 15
16#endif /* __SND_AOA_ALSA_H */ 16#endif /* __SND_AOA_ALSA_H */
diff --git a/sound/aoa/core/snd-aoa-core.c b/sound/aoa/core/snd-aoa-core.c
index ecd2d8263f2d..19fdae400687 100644
--- a/sound/aoa/core/snd-aoa-core.c
+++ b/sound/aoa/core/snd-aoa-core.c
@@ -82,7 +82,7 @@ void aoa_codec_unregister(struct aoa_codec *codec)
82} 82}
83EXPORT_SYMBOL_GPL(aoa_codec_unregister); 83EXPORT_SYMBOL_GPL(aoa_codec_unregister);
84 84
85int aoa_fabric_register(struct aoa_fabric *new_fabric) 85int aoa_fabric_register(struct aoa_fabric *new_fabric, struct device *dev)
86{ 86{
87 struct aoa_codec *c; 87 struct aoa_codec *c;
88 int err; 88 int err;
@@ -98,7 +98,7 @@ int aoa_fabric_register(struct aoa_fabric *new_fabric)
98 if (!new_fabric) 98 if (!new_fabric)
99 return -EINVAL; 99 return -EINVAL;
100 100
101 err = aoa_alsa_init(new_fabric->name, new_fabric->owner); 101 err = aoa_alsa_init(new_fabric->name, new_fabric->owner, dev);
102 if (err) 102 if (err)
103 return err; 103 return err;
104 104