mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 09:02:06 +00:00
Driver core: convert sound core to use struct device
Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. It also makes the struct sound_card to show up as a "real" device where all the different sound class devices are placed as childs and different card attribute files can hang off of. /sys/class/sound is still a flat directory, but the symlink targets of all devices belonging to the same card, point the the /sys/devices tree below the new card device object. Thanks to Kay for the updates to this patch. Signed-off-by: Kay Sievers <kay.sievers@novell.com> Acked-by: Jaroslav Kysela <perex@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
ebf644c462
commit
d80f19fab8
6 changed files with 37 additions and 30 deletions
|
@ -170,8 +170,8 @@ static int sound_insert_unit(struct sound_unit **list, const struct file_operati
|
|||
else
|
||||
sprintf(s->name, "sound/%s%d", name, r / SOUND_STEP);
|
||||
|
||||
class_device_create(sound_class, NULL, MKDEV(SOUND_MAJOR, s->unit_minor),
|
||||
dev, s->name+6);
|
||||
device_create(sound_class, dev, MKDEV(SOUND_MAJOR, s->unit_minor),
|
||||
s->name+6);
|
||||
return r;
|
||||
|
||||
fail:
|
||||
|
@ -193,7 +193,7 @@ static void sound_remove_unit(struct sound_unit **list, int unit)
|
|||
p = __sound_remove_unit(list, unit);
|
||||
spin_unlock(&sound_loader_lock);
|
||||
if (p) {
|
||||
class_device_destroy(sound_class, MKDEV(SOUND_MAJOR, p->unit_minor));
|
||||
device_destroy(sound_class, MKDEV(SOUND_MAJOR, p->unit_minor));
|
||||
kfree(p);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue