Commit 89409211ff97bf82295d1fb98ab18302a03e9199

Authored by Greg Kroah-Hartman
1 parent 9def0b9761

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>

Showing 3 changed files with 14 additions and 10 deletions Side-by-side Diff

... ... @@ -548,8 +548,9 @@
548 548 snd_assert(card != NULL, return -EINVAL);
549 549 #ifndef CONFIG_SYSFS_DEPRECATED
550 550 if (!card->card_dev) {
551   - card->card_dev = device_create(sound_class, card->dev, 0,
552   - "card%i", card->number);
  551 + card->card_dev = device_create_drvdata(sound_class, card->dev,
  552 + MKDEV(0, 0), NULL,
  553 + "card%i", card->number);
553 554 if (IS_ERR(card->card_dev))
554 555 card->card_dev = NULL;
555 556 }
sound/oss/soundcard.c
... ... @@ -560,17 +560,19 @@
560 560 sound_dmap_flag = (dmabuf > 0 ? 1 : 0);
561 561  
562 562 for (i = 0; i < ARRAY_SIZE(dev_list); i++) {
563   - device_create(sound_class, NULL,
564   - MKDEV(SOUND_MAJOR, dev_list[i].minor),
565   - "%s", dev_list[i].name);
  563 + device_create_drvdata(sound_class, NULL,
  564 + MKDEV(SOUND_MAJOR, dev_list[i].minor),
  565 + NULL, "%s", dev_list[i].name);
566 566  
567 567 if (!dev_list[i].num)
568 568 continue;
569 569  
570 570 for (j = 1; j < *dev_list[i].num; j++)
571   - device_create(sound_class, NULL,
572   - MKDEV(SOUND_MAJOR, dev_list[i].minor + (j*0x10)),
573   - "%s%d", dev_list[i].name, j);
  571 + device_create_drvdata(sound_class, NULL,
  572 + MKDEV(SOUND_MAJOR,
  573 + dev_list[i].minor + (j*0x10)),
  574 + NULL,
  575 + "%s%d", dev_list[i].name, j);
574 576 }
575 577  
576 578 if (sound_nblocks >= 1024)
... ... @@ -171,8 +171,9 @@
171 171 else
172 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),
175   - s->name+6);
  174 + device_create_drvdata(sound_class, dev,
  175 + MKDEV(SOUND_MAJOR, s->unit_minor),
  176 + NULL, s->name+6);
176 177 return r;
177 178  
178 179 fail: