Loading drivers/scsi/scsi_debug.c +54 −18 Original line number Diff line number Diff line Loading @@ -286,7 +286,7 @@ static int inquiry_evpd_83(unsigned char * arr, int target_dev_id, int dev_id_num, const char * dev_id_str, int dev_id_str_len); static int inquiry_evpd_88(unsigned char * arr, int target_dev_id); static void do_create_driverfs_files(void); static int do_create_driverfs_files(void); static void do_remove_driverfs_files(void); static int sdebug_add_adapter(void); Loading Loading @@ -2487,19 +2487,22 @@ static ssize_t sdebug_add_host_store(struct device_driver * ddp, DRIVER_ATTR(add_host, S_IRUGO | S_IWUSR, sdebug_add_host_show, sdebug_add_host_store); static void do_create_driverfs_files(void) static int do_create_driverfs_files(void) { driver_create_file(&sdebug_driverfs_driver, &driver_attr_add_host); driver_create_file(&sdebug_driverfs_driver, &driver_attr_delay); driver_create_file(&sdebug_driverfs_driver, &driver_attr_dev_size_mb); driver_create_file(&sdebug_driverfs_driver, &driver_attr_dsense); driver_create_file(&sdebug_driverfs_driver, &driver_attr_every_nth); driver_create_file(&sdebug_driverfs_driver, &driver_attr_max_luns); driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_tgts); driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_parts); driver_create_file(&sdebug_driverfs_driver, &driver_attr_ptype); driver_create_file(&sdebug_driverfs_driver, &driver_attr_opts); driver_create_file(&sdebug_driverfs_driver, &driver_attr_scsi_level); int ret; ret = driver_create_file(&sdebug_driverfs_driver, &driver_attr_add_host); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_delay); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_dev_size_mb); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_dsense); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_every_nth); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_max_luns); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_tgts); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_parts); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_ptype); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_opts); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_scsi_level); return ret; } static void do_remove_driverfs_files(void) Loading @@ -2522,6 +2525,7 @@ static int __init scsi_debug_init(void) unsigned int sz; int host_to_add; int k; int ret; if (scsi_debug_dev_size_mb < 1) scsi_debug_dev_size_mb = 1; /* force minimum 1 MB ramdisk */ Loading Loading @@ -2560,12 +2564,32 @@ static int __init scsi_debug_init(void) if (scsi_debug_num_parts > 0) sdebug_build_parts(fake_storep); init_all_queued(); ret = device_register(&pseudo_primary); if (ret < 0) { printk(KERN_WARNING "scsi_debug: device_register error: %d\n", ret); goto free_vm; } ret = bus_register(&pseudo_lld_bus); if (ret < 0) { printk(KERN_WARNING "scsi_debug: bus_register error: %d\n", ret); goto dev_unreg; } ret = driver_register(&sdebug_driverfs_driver); if (ret < 0) { printk(KERN_WARNING "scsi_debug: driver_register error: %d\n", ret); goto bus_unreg; } ret = do_create_driverfs_files(); if (ret < 0) { printk(KERN_WARNING "scsi_debug: driver_create_file error: %d\n", ret); goto del_files; } device_register(&pseudo_primary); bus_register(&pseudo_lld_bus); driver_register(&sdebug_driverfs_driver); do_create_driverfs_files(); init_all_queued(); sdebug_driver_template.proc_name = (char *)sdebug_proc_name; Loading @@ -2585,6 +2609,18 @@ static int __init scsi_debug_init(void) scsi_debug_add_host); } return 0; del_files: do_remove_driverfs_files(); driver_unregister(&sdebug_driverfs_driver); bus_unreg: bus_unregister(&pseudo_lld_bus); dev_unreg: device_unregister(&pseudo_primary); free_vm: vfree(fake_storep); return ret; } static void __exit scsi_debug_exit(void) Loading Loading
drivers/scsi/scsi_debug.c +54 −18 Original line number Diff line number Diff line Loading @@ -286,7 +286,7 @@ static int inquiry_evpd_83(unsigned char * arr, int target_dev_id, int dev_id_num, const char * dev_id_str, int dev_id_str_len); static int inquiry_evpd_88(unsigned char * arr, int target_dev_id); static void do_create_driverfs_files(void); static int do_create_driverfs_files(void); static void do_remove_driverfs_files(void); static int sdebug_add_adapter(void); Loading Loading @@ -2487,19 +2487,22 @@ static ssize_t sdebug_add_host_store(struct device_driver * ddp, DRIVER_ATTR(add_host, S_IRUGO | S_IWUSR, sdebug_add_host_show, sdebug_add_host_store); static void do_create_driverfs_files(void) static int do_create_driverfs_files(void) { driver_create_file(&sdebug_driverfs_driver, &driver_attr_add_host); driver_create_file(&sdebug_driverfs_driver, &driver_attr_delay); driver_create_file(&sdebug_driverfs_driver, &driver_attr_dev_size_mb); driver_create_file(&sdebug_driverfs_driver, &driver_attr_dsense); driver_create_file(&sdebug_driverfs_driver, &driver_attr_every_nth); driver_create_file(&sdebug_driverfs_driver, &driver_attr_max_luns); driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_tgts); driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_parts); driver_create_file(&sdebug_driverfs_driver, &driver_attr_ptype); driver_create_file(&sdebug_driverfs_driver, &driver_attr_opts); driver_create_file(&sdebug_driverfs_driver, &driver_attr_scsi_level); int ret; ret = driver_create_file(&sdebug_driverfs_driver, &driver_attr_add_host); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_delay); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_dev_size_mb); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_dsense); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_every_nth); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_max_luns); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_tgts); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_num_parts); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_ptype); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_opts); ret |= driver_create_file(&sdebug_driverfs_driver, &driver_attr_scsi_level); return ret; } static void do_remove_driverfs_files(void) Loading @@ -2522,6 +2525,7 @@ static int __init scsi_debug_init(void) unsigned int sz; int host_to_add; int k; int ret; if (scsi_debug_dev_size_mb < 1) scsi_debug_dev_size_mb = 1; /* force minimum 1 MB ramdisk */ Loading Loading @@ -2560,12 +2564,32 @@ static int __init scsi_debug_init(void) if (scsi_debug_num_parts > 0) sdebug_build_parts(fake_storep); init_all_queued(); ret = device_register(&pseudo_primary); if (ret < 0) { printk(KERN_WARNING "scsi_debug: device_register error: %d\n", ret); goto free_vm; } ret = bus_register(&pseudo_lld_bus); if (ret < 0) { printk(KERN_WARNING "scsi_debug: bus_register error: %d\n", ret); goto dev_unreg; } ret = driver_register(&sdebug_driverfs_driver); if (ret < 0) { printk(KERN_WARNING "scsi_debug: driver_register error: %d\n", ret); goto bus_unreg; } ret = do_create_driverfs_files(); if (ret < 0) { printk(KERN_WARNING "scsi_debug: driver_create_file error: %d\n", ret); goto del_files; } device_register(&pseudo_primary); bus_register(&pseudo_lld_bus); driver_register(&sdebug_driverfs_driver); do_create_driverfs_files(); init_all_queued(); sdebug_driver_template.proc_name = (char *)sdebug_proc_name; Loading @@ -2585,6 +2609,18 @@ static int __init scsi_debug_init(void) scsi_debug_add_host); } return 0; del_files: do_remove_driverfs_files(); driver_unregister(&sdebug_driverfs_driver); bus_unreg: bus_unregister(&pseudo_lld_bus); dev_unreg: device_unregister(&pseudo_primary); free_vm: vfree(fake_storep); return ret; } static void __exit scsi_debug_exit(void) Loading