free_part_stats(&disk->part0);
kfree(disk);
}
-
-static int disk_uevent(struct device *dev, struct kobj_uevent_env *env)
-{
- struct gendisk *disk = dev_to_disk(dev);
- struct disk_part_iter piter;
- struct hd_struct *part;
- int cnt = 0;
-
- disk_part_iter_init(&piter, disk, 0);
- while((part = disk_part_iter_next(&piter)))
- cnt++;
- disk_part_iter_exit(&piter);
- add_uevent_var(env, "NPARTS=%u", cnt);
- return 0;
-}
-
struct class block_class = {
.name = "block",
};
.groups = disk_attr_groups,
.release = disk_release,
.devnode = block_devnode,
- .uevent = disk_uevent,
};
#ifdef CONFIG_PROC_FS
kfree(p);
}
-static int part_uevent(struct device *dev, struct kobj_uvent_env *env)
-{
- struct gendisk *disk = dev_to_disk(dev);
- struct hd_struct *part = dev_to_part(dev);
-
- add_uevent_var(env, "PARTN=%u", part->partno);
- return 0;
-}
-
struct device_type part_type = {
.name = "partition",
.groups = part_attr_groups,
.release = part_release,
- .uevent = part_uevent,
};
static void delete_partition_rcu_cb(struct rcu_head *head)