[ALSA] Revert the nested-device patch
authorTakashi Iwai <tiwai@suse.de>
Tue, 3 Jan 2006 18:54:44 +0000 (19:54 +0100)
committerJaroslav Kysela <perex@suse.cz>
Wed, 4 Jan 2006 09:13:48 +0000 (10:13 +0100)
Modules: ALSA Core

Revert the nested-device patch to keep the compatibility with the
current HAL configuration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/core.h
sound/core/device.c
sound/core/sound.c

index dbe7a2c..90ac613 100644 (file)
@@ -134,7 +134,6 @@ struct snd_card {
        wait_queue_head_t shutdown_sleep;
        struct work_struct free_workq;  /* for free in workqueue */
        struct device *dev;
-       struct class_device *parent_device;
 
 #ifdef CONFIG_PM
        unsigned int power_state;       /* power state */
index 478264c..b1cf6ec 100644 (file)
@@ -193,7 +193,7 @@ int snd_device_register_all(struct snd_card *card)
        int err;
        
        snd_assert(card != NULL, return -ENXIO);
-       list_for_each_prev(list, &card->devices) {
+       list_for_each(list, &card->devices) {
                dev = snd_device(list);
                if (dev->state == SNDRV_DEV_BUILD && dev->ops->dev_register) {
                        if ((err = dev->ops->dev_register(dev)) < 0)
index 2f6108d..a8eda02 100644 (file)
@@ -245,7 +245,6 @@ int snd_register_device(int type, struct snd_card *card, int dev,
        int minor;
        struct snd_minor *preg;
        struct device *device = NULL;
-       struct class_device *class_device = NULL;
 
        snd_assert(name, return -EINVAL);
        preg = kmalloc(sizeof(struct snd_minor) + strlen(name) + 1, GFP_KERNEL);
@@ -273,15 +272,9 @@ int snd_register_device(int type, struct snd_card *card, int dev,
        snd_minors[minor] = preg;
        if (type != SNDRV_DEVICE_TYPE_CONTROL || preg->card >= cards_limit)
                devfs_mk_cdev(MKDEV(major, minor), S_IFCHR | device_mode, "snd/%s", name);
-       if (card) {
+       if (card)
                device = card->dev;
-               class_device = card->parent_device;
-       }
-       class_device = class_device_create(sound_class, class_device,
-                                          MKDEV(major, minor), device,
-                                          "%s", name);
-       if (type == SNDRV_DEVICE_TYPE_CONTROL)
-               card->parent_device = class_device;
+       class_device_create(sound_class, NULL, MKDEV(major, minor), device, "%s", name);
 
        up(&sound_mutex);
        return 0;