mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
device create: block: 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:
parent
09857e35cd
commit
f79f060561
@ -1044,7 +1044,8 @@ int bsg_register_queue(struct request_queue *q, struct device *parent,
|
||||
bcd->release = release;
|
||||
kref_init(&bcd->ref);
|
||||
dev = MKDEV(bsg_major, bcd->minor);
|
||||
class_dev = device_create(bsg_class, parent, dev, "%s", devname);
|
||||
class_dev = device_create_drvdata(bsg_class, parent, dev, NULL,
|
||||
"%s", devname);
|
||||
if (IS_ERR(class_dev)) {
|
||||
ret = PTR_ERR(class_dev);
|
||||
goto put_dev;
|
||||
|
@ -277,8 +277,9 @@ aoechr_init(void)
|
||||
return PTR_ERR(aoe_class);
|
||||
}
|
||||
for (i = 0; i < ARRAY_SIZE(chardevs); ++i)
|
||||
device_create(aoe_class, NULL,
|
||||
MKDEV(AOE_MAJOR, chardevs[i].minor), chardevs[i].name);
|
||||
device_create_drvdata(aoe_class, NULL,
|
||||
MKDEV(AOE_MAJOR, chardevs[i].minor),
|
||||
NULL, chardevs[i].name);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -686,8 +686,9 @@ static int __init pg_init(void)
|
||||
for (unit = 0; unit < PG_UNITS; unit++) {
|
||||
struct pg *dev = &devices[unit];
|
||||
if (dev->present)
|
||||
device_create(pg_class, NULL, MKDEV(major, unit),
|
||||
"pg%u", unit);
|
||||
device_create_drvdata(pg_class, NULL,
|
||||
MKDEV(major, unit), NULL,
|
||||
"pg%u", unit);
|
||||
}
|
||||
err = 0;
|
||||
goto out;
|
||||
|
@ -979,10 +979,12 @@ static int __init pt_init(void)
|
||||
|
||||
for (unit = 0; unit < PT_UNITS; unit++)
|
||||
if (pt[unit].present) {
|
||||
device_create(pt_class, NULL, MKDEV(major, unit),
|
||||
"pt%d", unit);
|
||||
device_create(pt_class, NULL, MKDEV(major, unit + 128),
|
||||
"pt%dn", unit);
|
||||
device_create_drvdata(pt_class, NULL,
|
||||
MKDEV(major, unit), NULL,
|
||||
"pt%d", unit);
|
||||
device_create_drvdata(pt_class, NULL,
|
||||
MKDEV(major, unit + 128), NULL,
|
||||
"pt%dn", unit);
|
||||
}
|
||||
goto out;
|
||||
|
||||
|
@ -303,7 +303,9 @@ static struct kobj_type kobj_pkt_type_wqueue = {
|
||||
static void pkt_sysfs_dev_new(struct pktcdvd_device *pd)
|
||||
{
|
||||
if (class_pktcdvd) {
|
||||
pd->dev = device_create(class_pktcdvd, NULL, pd->pkt_dev, "%s", pd->name);
|
||||
pd->dev = device_create_drvdata(class_pktcdvd, NULL,
|
||||
pd->pkt_dev, NULL,
|
||||
"%s", pd->name);
|
||||
if (IS_ERR(pd->dev))
|
||||
pd->dev = NULL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user