device create: dca: 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.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Greg Kroah-Hartman 2008-05-21 12:52:33 -07:00
parent 6143b59970
commit 275e64decc

View file

@ -14,8 +14,9 @@ int dca_sysfs_add_req(struct dca_provider *dca, struct device *dev, int slot)
{
struct device *cd;
cd = device_create(dca_class, dca->cd, MKDEV(0, slot + 1),
"requester%d", slot);
cd = device_create_drvdata(dca_class, dca->cd,
MKDEV(0, slot + 1), NULL,
"requester%d", slot);
if (IS_ERR(cd))
return PTR_ERR(cd);
return 0;
@ -46,7 +47,8 @@ idr_try_again:
return err;
}
cd = device_create(dca_class, dev, MKDEV(0, 0), "dca%d", dca->id);
cd = device_create_drvdata(dca_class, dev, MKDEV(0, 0), NULL,
"dca%d", dca->id);
if (IS_ERR(cd)) {
spin_lock(&dca_idr_lock);
idr_remove(&dca_idr, dca->id);