simdisk.c (2b1333b80885b896807ffb6ccf4bc21d29aa65e0) simdisk.c (8b9ab62662048a3274361c7e5f64037c2c133e2c)
1/*
2 * arch/xtensa/platforms/iss/simdisk.c
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001-2013 Tensilica Inc.

--- 276 unchanged lines hidden (view full) ---

285 if (err)
286 goto out_cleanup_disk;
287
288 dev->procfile = proc_create_data(tmp, 0644, procdir, &simdisk_proc_ops, dev);
289
290 return 0;
291
292out_cleanup_disk:
1/*
2 * arch/xtensa/platforms/iss/simdisk.c
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 2001-2013 Tensilica Inc.

--- 276 unchanged lines hidden (view full) ---

285 if (err)
286 goto out_cleanup_disk;
287
288 dev->procfile = proc_create_data(tmp, 0644, procdir, &simdisk_proc_ops, dev);
289
290 return 0;
291
292out_cleanup_disk:
293 blk_cleanup_disk(dev->gd);
293 put_disk(dev->gd);
294out:
295 return err;
296}
297
298static int __init simdisk_init(void)
299{
300 int i;
301

--- 37 unchanged lines hidden (view full) ---

339static void simdisk_teardown(struct simdisk *dev, int which,
340 struct proc_dir_entry *procdir)
341{
342 char tmp[2] = { '0' + which, 0 };
343
344 simdisk_detach(dev);
345 if (dev->gd) {
346 del_gendisk(dev->gd);
294out:
295 return err;
296}
297
298static int __init simdisk_init(void)
299{
300 int i;
301

--- 37 unchanged lines hidden (view full) ---

339static void simdisk_teardown(struct simdisk *dev, int which,
340 struct proc_dir_entry *procdir)
341{
342 char tmp[2] = { '0' + which, 0 };
343
344 simdisk_detach(dev);
345 if (dev->gd) {
346 del_gendisk(dev->gd);
347 blk_cleanup_disk(dev->gd);
347 put_disk(dev->gd);
348 }
349 remove_proc_entry(tmp, procdir);
350}
351
352static void __exit simdisk_exit(void)
353{
354 int i;
355
356 for (i = 0; i < simdisk_count; ++i)
357 simdisk_teardown(sddev + i, i, simdisk_procdir);
358 remove_proc_entry("simdisk", 0);
359 kfree(sddev);
360 unregister_blkdev(simdisk_major, "simdisk");
361}
362module_exit(simdisk_exit);
363
364MODULE_ALIAS_BLOCKDEV_MAJOR(SIMDISK_MAJOR);
365
366MODULE_LICENSE("GPL");
348 }
349 remove_proc_entry(tmp, procdir);
350}
351
352static void __exit simdisk_exit(void)
353{
354 int i;
355
356 for (i = 0; i < simdisk_count; ++i)
357 simdisk_teardown(sddev + i, i, simdisk_procdir);
358 remove_proc_entry("simdisk", 0);
359 kfree(sddev);
360 unregister_blkdev(simdisk_major, "simdisk");
361}
362module_exit(simdisk_exit);
363
364MODULE_ALIAS_BLOCKDEV_MAJOR(SIMDISK_MAJOR);
365
366MODULE_LICENSE("GPL");