Skip to content

Commit

Permalink
[ALSA] create device symlink in snd-aoa
Browse files Browse the repository at this point in the history
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 <[email protected]>

Signed-off-by: Olaf Hering <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>
  • Loading branch information
olafhering authored and Jaroslav Kysela committed Feb 9, 2007
1 parent e0e6ce0 commit 61e7710
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 6 deletions.
2 changes: 1 addition & 1 deletion sound/aoa/aoa.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ struct aoa_fabric {
* that are not assigned yet are passed to the fabric
* again for reconsideration. */
extern int
aoa_fabric_register(struct aoa_fabric *fabric);
aoa_fabric_register(struct aoa_fabric *fabric, struct device *dev);

/* it is vital to call this when the fabric exits!
* When calling, the remove_codec will be called
Expand Down
3 changes: 2 additions & 1 deletion sound/aoa/core/snd-aoa-alsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ MODULE_PARM_DESC(index, "index for AOA sound card.");

static struct aoa_card *aoa_card;

int aoa_alsa_init(char *name, struct module *mod)
int aoa_alsa_init(char *name, struct module *mod, struct device *dev)
{
struct snd_card *alsa_card;
int err;
Expand All @@ -28,6 +28,7 @@ int aoa_alsa_init(char *name, struct module *mod)
return -ENOMEM;
aoa_card = alsa_card->private_data;
aoa_card->alsa_card = alsa_card;
alsa_card->dev = dev;
strlcpy(alsa_card->driver, "AppleOnbdAudio", sizeof(alsa_card->driver));
strlcpy(alsa_card->shortname, name, sizeof(alsa_card->shortname));
strlcpy(alsa_card->longname, name, sizeof(alsa_card->longname));
Expand Down
2 changes: 1 addition & 1 deletion sound/aoa/core/snd-aoa-alsa.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#define __SND_AOA_ALSA_H
#include "../aoa.h"

extern int aoa_alsa_init(char *name, struct module *mod);
extern int aoa_alsa_init(char *name, struct module *mod, struct device *dev);
extern void aoa_alsa_cleanup(void);

#endif /* __SND_AOA_ALSA_H */
4 changes: 2 additions & 2 deletions sound/aoa/core/snd-aoa-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ void aoa_codec_unregister(struct aoa_codec *codec)
}
EXPORT_SYMBOL_GPL(aoa_codec_unregister);

int aoa_fabric_register(struct aoa_fabric *new_fabric)
int aoa_fabric_register(struct aoa_fabric *new_fabric, struct device *dev)
{
struct aoa_codec *c;
int err;
Expand All @@ -98,7 +98,7 @@ int aoa_fabric_register(struct aoa_fabric *new_fabric)
if (!new_fabric)
return -EINVAL;

err = aoa_alsa_init(new_fabric->name, new_fabric->owner);
err = aoa_alsa_init(new_fabric->name, new_fabric->owner, dev);
if (err)
return err;

Expand Down
2 changes: 1 addition & 1 deletion sound/aoa/fabrics/snd-aoa-fabric-layout.c
Original file line number Diff line number Diff line change
Expand Up @@ -1014,7 +1014,7 @@ static int aoa_fabric_layout_probe(struct soundbus_dev *sdev)

ldev->gpio.methods->init(&ldev->gpio);

err = aoa_fabric_register(&layout_fabric);
err = aoa_fabric_register(&layout_fabric, &sdev->ofdev.dev);
if (err && err != -EALREADY) {
printk(KERN_INFO "snd-aoa-fabric-layout: can't use,"
" another fabric is active!\n");
Expand Down

0 comments on commit 61e7710

Please sign in to comment.