浏览代码

[ALSA] Revert the nested-device patch

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>
Takashi Iwai 19 年之前
父节点
当前提交
3e23c65883
共有 3 个文件被更改,包括 3 次插入11 次删除
  1. 0 1
      include/sound/core.h
  2. 1 1
      sound/core/device.c
  3. 2 9
      sound/core/sound.c

+ 0 - 1
include/sound/core.h

@@ -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 */

+ 1 - 1
sound/core/device.c

@@ -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)

+ 2 - 9
sound/core/sound.c

@@ -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;