diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2008-05-21 15:52:33 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-07-22 00:54:44 -0400 |
commit | 89409211ff97bf82295d1fb98ab18302a03e9199 (patch) | |
tree | df122211e80cb4998011bf6c4efc8e3cb8c67dc9 | |
parent | 9def0b9761ee096c3c539b427dfb1e52b373cdad (diff) |
device create: sound: convert device_create to device_create_drvdata
device_create() is race-prone, so use the race-free
device_create_drvdata() instead as device_create() is going away.
Cc: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | sound/core/init.c | 5 | ||||
-rw-r--r-- | sound/oss/soundcard.c | 14 | ||||
-rw-r--r-- | sound/sound_core.c | 5 |
3 files changed, 14 insertions, 10 deletions
diff --git a/sound/core/init.c b/sound/core/init.c index 5c254d498ae0..df46bbc25dc2 100644 --- a/sound/core/init.c +++ b/sound/core/init.c | |||
@@ -548,8 +548,9 @@ int snd_card_register(struct snd_card *card) | |||
548 | snd_assert(card != NULL, return -EINVAL); | 548 | snd_assert(card != NULL, return -EINVAL); |
549 | #ifndef CONFIG_SYSFS_DEPRECATED | 549 | #ifndef CONFIG_SYSFS_DEPRECATED |
550 | if (!card->card_dev) { | 550 | if (!card->card_dev) { |
551 | card->card_dev = device_create(sound_class, card->dev, 0, | 551 | card->card_dev = device_create_drvdata(sound_class, card->dev, |
552 | "card%i", card->number); | 552 | MKDEV(0, 0), NULL, |
553 | "card%i", card->number); | ||
553 | if (IS_ERR(card->card_dev)) | 554 | if (IS_ERR(card->card_dev)) |
554 | card->card_dev = NULL; | 555 | card->card_dev = NULL; |
555 | } | 556 | } |
diff --git a/sound/oss/soundcard.c b/sound/oss/soundcard.c index a9c23b2502ad..7d89c081a086 100644 --- a/sound/oss/soundcard.c +++ b/sound/oss/soundcard.c | |||
@@ -560,17 +560,19 @@ static int __init oss_init(void) | |||
560 | sound_dmap_flag = (dmabuf > 0 ? 1 : 0); | 560 | sound_dmap_flag = (dmabuf > 0 ? 1 : 0); |
561 | 561 | ||
562 | for (i = 0; i < ARRAY_SIZE(dev_list); i++) { | 562 | for (i = 0; i < ARRAY_SIZE(dev_list); i++) { |
563 | device_create(sound_class, NULL, | 563 | device_create_drvdata(sound_class, NULL, |
564 | MKDEV(SOUND_MAJOR, dev_list[i].minor), | 564 | MKDEV(SOUND_MAJOR, dev_list[i].minor), |
565 | "%s", dev_list[i].name); | 565 | NULL, "%s", dev_list[i].name); |
566 | 566 | ||
567 | if (!dev_list[i].num) | 567 | if (!dev_list[i].num) |
568 | continue; | 568 | continue; |
569 | 569 | ||
570 | for (j = 1; j < *dev_list[i].num; j++) | 570 | for (j = 1; j < *dev_list[i].num; j++) |
571 | device_create(sound_class, NULL, | 571 | device_create_drvdata(sound_class, NULL, |
572 | MKDEV(SOUND_MAJOR, dev_list[i].minor + (j*0x10)), | 572 | MKDEV(SOUND_MAJOR, |
573 | "%s%d", dev_list[i].name, j); | 573 | dev_list[i].minor + (j*0x10)), |
574 | NULL, | ||
575 | "%s%d", dev_list[i].name, j); | ||
574 | } | 576 | } |
575 | 577 | ||
576 | if (sound_nblocks >= 1024) | 578 | if (sound_nblocks >= 1024) |
diff --git a/sound/sound_core.c b/sound/sound_core.c index dcfc1d5ce631..1b04259a4328 100644 --- a/sound/sound_core.c +++ b/sound/sound_core.c | |||
@@ -171,8 +171,9 @@ static int sound_insert_unit(struct sound_unit **list, const struct file_operati | |||
171 | else | 171 | else |
172 | sprintf(s->name, "sound/%s%d", name, r / SOUND_STEP); | 172 | sprintf(s->name, "sound/%s%d", name, r / SOUND_STEP); |
173 | 173 | ||
174 | device_create(sound_class, dev, MKDEV(SOUND_MAJOR, s->unit_minor), | 174 | device_create_drvdata(sound_class, dev, |
175 | s->name+6); | 175 | MKDEV(SOUND_MAJOR, s->unit_minor), |
176 | NULL, s->name+6); | ||
176 | return r; | 177 | return r; |
177 | 178 | ||
178 | fail: | 179 | fail: |