Loading include/sound/core.h +15 −3 Original line number Original line Diff line number Diff line Loading @@ -132,8 +132,10 @@ struct snd_card { int shutdown; /* this card is going down */ int shutdown; /* this card is going down */ int free_on_last_close; /* free in context of file_release */ int free_on_last_close; /* free in context of file_release */ wait_queue_head_t shutdown_sleep; wait_queue_head_t shutdown_sleep; struct device *parent; struct device *dev; /* device assigned to this card */ struct device *dev; #ifndef CONFIG_SYSFS_DEPRECATED struct device *card_dev; /* cardX object for sysfs */ #endif #ifdef CONFIG_PM #ifdef CONFIG_PM unsigned int power_state; /* power state */ unsigned int power_state; /* power state */ Loading Loading @@ -191,6 +193,16 @@ struct snd_minor { struct device *dev; /* device for sysfs */ struct device *dev; /* device for sysfs */ }; }; /* return a device pointer linked to each sound device as a parent */ static inline struct device *snd_card_get_device_link(struct snd_card *card) { #ifdef CONFIG_SYSFS_DEPRECATED return card ? card->dev : NULL; #else return card ? card->card_dev : NULL; #endif } /* sound.c */ /* sound.c */ extern int snd_major; extern int snd_major; Loading Loading @@ -257,7 +269,7 @@ int snd_card_file_add(struct snd_card *card, struct file *file); int snd_card_file_remove(struct snd_card *card, struct file *file); int snd_card_file_remove(struct snd_card *card, struct file *file); #ifndef snd_card_set_dev #ifndef snd_card_set_dev #define snd_card_set_dev(card,devptr) ((card)->parent = (devptr)) #define snd_card_set_dev(card,devptr) ((card)->dev = (devptr)) #endif #endif /* device.c */ /* device.c */ Loading sound/core/init.c +11 −7 Original line number Original line Diff line number Diff line Loading @@ -361,8 +361,10 @@ static int snd_card_do_free(struct snd_card *card) snd_printk(KERN_WARNING "unable to free card info\n"); snd_printk(KERN_WARNING "unable to free card info\n"); /* Not fatal error */ /* Not fatal error */ } } if (card->dev) #ifndef CONFIG_SYSFS_DEPRECATED device_unregister(card->dev); if (card->card_dev) device_unregister(card->card_dev); #endif kfree(card); kfree(card); return 0; return 0; } } Loading Loading @@ -497,12 +499,14 @@ int snd_card_register(struct snd_card *card) int err; int err; snd_assert(card != NULL, return -EINVAL); snd_assert(card != NULL, return -EINVAL); if (!card->dev) { #ifndef CONFIG_SYSFS_DEPRECATED card->dev = device_create(sound_class, card->parent, 0, if (!card->card_dev) { card->card_dev = device_create(sound_class, card->dev, 0, "card%i", card->number); "card%i", card->number); if (IS_ERR(card->dev)) if (IS_ERR(card->card_dev)) card->dev = NULL; card->card_dev = NULL; } } #endif if ((err = snd_device_register_all(card)) < 0) if ((err = snd_device_register_all(card)) < 0) return err; return err; mutex_lock(&snd_card_mutex); mutex_lock(&snd_card_mutex); Loading sound/core/sound.c +1 −3 Original line number Original line Diff line number Diff line Loading @@ -238,7 +238,7 @@ int snd_register_device(int type, struct snd_card *card, int dev, { { int minor; int minor; struct snd_minor *preg; struct snd_minor *preg; struct device *device = NULL; struct device *device = snd_card_get_device_link(card); snd_assert(name, return -EINVAL); snd_assert(name, return -EINVAL); preg = kmalloc(sizeof *preg, GFP_KERNEL); preg = kmalloc(sizeof *preg, GFP_KERNEL); Loading @@ -263,8 +263,6 @@ int snd_register_device(int type, struct snd_card *card, int dev, return minor; return minor; } } snd_minors[minor] = preg; snd_minors[minor] = preg; if (card) device = card->dev; preg->dev = device_create(sound_class, device, MKDEV(major, minor), preg->dev = device_create(sound_class, device, MKDEV(major, minor), "%s", name); "%s", name); if (preg->dev) if (preg->dev) Loading sound/core/sound_oss.c +1 −3 Original line number Original line Diff line number Diff line Loading @@ -106,7 +106,7 @@ int snd_register_oss_device(int type, struct snd_card *card, int dev, int cidx = SNDRV_MINOR_OSS_CARD(minor); int cidx = SNDRV_MINOR_OSS_CARD(minor); int track2 = -1; int track2 = -1; int register1 = -1, register2 = -1; int register1 = -1, register2 = -1; struct device *carddev = NULL; struct device *carddev = snd_card_get_device_link(card); if (card && card->number >= 8) if (card && card->number >= 8) return 0; /* ignore silently */ return 0; /* ignore silently */ Loading Loading @@ -134,8 +134,6 @@ int snd_register_oss_device(int type, struct snd_card *card, int dev, track2 = SNDRV_MINOR_OSS(cidx, SNDRV_MINOR_OSS_DMMIDI1); track2 = SNDRV_MINOR_OSS(cidx, SNDRV_MINOR_OSS_DMMIDI1); break; break; } } if (card) carddev = card->dev; register1 = register_sound_special_device(f_ops, minor, carddev); register1 = register_sound_special_device(f_ops, minor, carddev); if (register1 != minor) if (register1 != minor) goto __end; goto __end; Loading Loading
include/sound/core.h +15 −3 Original line number Original line Diff line number Diff line Loading @@ -132,8 +132,10 @@ struct snd_card { int shutdown; /* this card is going down */ int shutdown; /* this card is going down */ int free_on_last_close; /* free in context of file_release */ int free_on_last_close; /* free in context of file_release */ wait_queue_head_t shutdown_sleep; wait_queue_head_t shutdown_sleep; struct device *parent; struct device *dev; /* device assigned to this card */ struct device *dev; #ifndef CONFIG_SYSFS_DEPRECATED struct device *card_dev; /* cardX object for sysfs */ #endif #ifdef CONFIG_PM #ifdef CONFIG_PM unsigned int power_state; /* power state */ unsigned int power_state; /* power state */ Loading Loading @@ -191,6 +193,16 @@ struct snd_minor { struct device *dev; /* device for sysfs */ struct device *dev; /* device for sysfs */ }; }; /* return a device pointer linked to each sound device as a parent */ static inline struct device *snd_card_get_device_link(struct snd_card *card) { #ifdef CONFIG_SYSFS_DEPRECATED return card ? card->dev : NULL; #else return card ? card->card_dev : NULL; #endif } /* sound.c */ /* sound.c */ extern int snd_major; extern int snd_major; Loading Loading @@ -257,7 +269,7 @@ int snd_card_file_add(struct snd_card *card, struct file *file); int snd_card_file_remove(struct snd_card *card, struct file *file); int snd_card_file_remove(struct snd_card *card, struct file *file); #ifndef snd_card_set_dev #ifndef snd_card_set_dev #define snd_card_set_dev(card,devptr) ((card)->parent = (devptr)) #define snd_card_set_dev(card,devptr) ((card)->dev = (devptr)) #endif #endif /* device.c */ /* device.c */ Loading
sound/core/init.c +11 −7 Original line number Original line Diff line number Diff line Loading @@ -361,8 +361,10 @@ static int snd_card_do_free(struct snd_card *card) snd_printk(KERN_WARNING "unable to free card info\n"); snd_printk(KERN_WARNING "unable to free card info\n"); /* Not fatal error */ /* Not fatal error */ } } if (card->dev) #ifndef CONFIG_SYSFS_DEPRECATED device_unregister(card->dev); if (card->card_dev) device_unregister(card->card_dev); #endif kfree(card); kfree(card); return 0; return 0; } } Loading Loading @@ -497,12 +499,14 @@ int snd_card_register(struct snd_card *card) int err; int err; snd_assert(card != NULL, return -EINVAL); snd_assert(card != NULL, return -EINVAL); if (!card->dev) { #ifndef CONFIG_SYSFS_DEPRECATED card->dev = device_create(sound_class, card->parent, 0, if (!card->card_dev) { card->card_dev = device_create(sound_class, card->dev, 0, "card%i", card->number); "card%i", card->number); if (IS_ERR(card->dev)) if (IS_ERR(card->card_dev)) card->dev = NULL; card->card_dev = NULL; } } #endif if ((err = snd_device_register_all(card)) < 0) if ((err = snd_device_register_all(card)) < 0) return err; return err; mutex_lock(&snd_card_mutex); mutex_lock(&snd_card_mutex); Loading
sound/core/sound.c +1 −3 Original line number Original line Diff line number Diff line Loading @@ -238,7 +238,7 @@ int snd_register_device(int type, struct snd_card *card, int dev, { { int minor; int minor; struct snd_minor *preg; struct snd_minor *preg; struct device *device = NULL; struct device *device = snd_card_get_device_link(card); snd_assert(name, return -EINVAL); snd_assert(name, return -EINVAL); preg = kmalloc(sizeof *preg, GFP_KERNEL); preg = kmalloc(sizeof *preg, GFP_KERNEL); Loading @@ -263,8 +263,6 @@ int snd_register_device(int type, struct snd_card *card, int dev, return minor; return minor; } } snd_minors[minor] = preg; snd_minors[minor] = preg; if (card) device = card->dev; preg->dev = device_create(sound_class, device, MKDEV(major, minor), preg->dev = device_create(sound_class, device, MKDEV(major, minor), "%s", name); "%s", name); if (preg->dev) if (preg->dev) Loading
sound/core/sound_oss.c +1 −3 Original line number Original line Diff line number Diff line Loading @@ -106,7 +106,7 @@ int snd_register_oss_device(int type, struct snd_card *card, int dev, int cidx = SNDRV_MINOR_OSS_CARD(minor); int cidx = SNDRV_MINOR_OSS_CARD(minor); int track2 = -1; int track2 = -1; int register1 = -1, register2 = -1; int register1 = -1, register2 = -1; struct device *carddev = NULL; struct device *carddev = snd_card_get_device_link(card); if (card && card->number >= 8) if (card && card->number >= 8) return 0; /* ignore silently */ return 0; /* ignore silently */ Loading Loading @@ -134,8 +134,6 @@ int snd_register_oss_device(int type, struct snd_card *card, int dev, track2 = SNDRV_MINOR_OSS(cidx, SNDRV_MINOR_OSS_DMMIDI1); track2 = SNDRV_MINOR_OSS(cidx, SNDRV_MINOR_OSS_DMMIDI1); break; break; } } if (card) carddev = card->dev; register1 = register_sound_special_device(f_ops, minor, carddev); register1 = register_sound_special_device(f_ops, minor, carddev); if (register1 != minor) if (register1 != minor) goto __end; goto __end; Loading