revert android-tegra-2.6.36-honeycomb-mr1-9001adc to v2.6.36
[firefly-linux-kernel-4.4.55.git] / block / genhd.c
index c26acf69af5aeaa03dce21c3ef2012710c72a438..59a2db6fecefa93aa91d114ccc3f6fd6055bd4ce 100644 (file)
@@ -541,15 +541,13 @@ void add_disk(struct gendisk *disk)
        disk->major = MAJOR(devt);
        disk->first_minor = MINOR(devt);
 
-       /* Register BDI before referencing it from bdev */
-       bdi = &disk->queue->backing_dev_info;
-       bdi_register_dev(bdi, disk_devt(disk));
-
        blk_register_region(disk_devt(disk), disk->minors, NULL,
                            exact_match, exact_lock, disk);
        register_disk(disk);
        blk_register_queue(disk);
 
+       bdi = &disk->queue->backing_dev_info;
+       bdi_register_dev(bdi, disk_devt(disk));
        retval = sysfs_create_link(&disk_to_dev(disk)->kobj, &bdi->dev->kobj,
                                   "bdi");
        WARN_ON(retval);
@@ -1008,22 +1006,6 @@ static void disk_release(struct device *dev)
        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",
 };
@@ -1042,7 +1024,6 @@ static struct device_type disk_type = {
        .groups         = disk_attr_groups,
        .release        = disk_release,
        .devnode        = block_devnode,
-       .uevent         = disk_uevent,
 };
 
 #ifdef CONFIG_PROC_FS