zfcp_aux.c (bd3238667ba76026bb543a953d63c11c4d52f28d) | zfcp_aux.c (663e0890e31cb85f0cca5ac1faaee0d2d52880b5) |
---|---|
1/* 2 * zfcp device driver 3 * 4 * Module interface and handling of zfcp data structures. 5 * 6 * Copyright IBM Corp. 2002, 2010 7 */ 8 --- 126 unchanged lines hidden (view full) --- 135 136 zfcp_scsi_transport_template = 137 fc_attach_transport(&zfcp_transport_functions); 138 if (!zfcp_scsi_transport_template) 139 goto out_transport; 140 scsi_transport_reserve_device(zfcp_scsi_transport_template, 141 sizeof(struct zfcp_scsi_dev)); 142 | 1/* 2 * zfcp device driver 3 * 4 * Module interface and handling of zfcp data structures. 5 * 6 * Copyright IBM Corp. 2002, 2010 7 */ 8 --- 126 unchanged lines hidden (view full) --- 135 136 zfcp_scsi_transport_template = 137 fc_attach_transport(&zfcp_transport_functions); 138 if (!zfcp_scsi_transport_template) 139 goto out_transport; 140 scsi_transport_reserve_device(zfcp_scsi_transport_template, 141 sizeof(struct zfcp_scsi_dev)); 142 |
143 144 retval = misc_register(&zfcp_cfdc_misc); 145 if (retval) { 146 pr_err("Registering the misc device zfcp_cfdc failed\n"); 147 goto out_misc; 148 } 149 | |
150 retval = ccw_driver_register(&zfcp_ccw_driver); 151 if (retval) { 152 pr_err("The zfcp device driver could not register with " 153 "the common I/O layer\n"); 154 goto out_ccw_register; 155 } 156 157 if (init_device) 158 zfcp_init_device_setup(init_device); 159 return 0; 160 161out_ccw_register: | 143 retval = ccw_driver_register(&zfcp_ccw_driver); 144 if (retval) { 145 pr_err("The zfcp device driver could not register with " 146 "the common I/O layer\n"); 147 goto out_ccw_register; 148 } 149 150 if (init_device) 151 zfcp_init_device_setup(init_device); 152 return 0; 153 154out_ccw_register: |
162 misc_deregister(&zfcp_cfdc_misc); 163out_misc: | |
164 fc_release_transport(zfcp_scsi_transport_template); 165out_transport: 166 kmem_cache_destroy(zfcp_fc_req_cache); 167out_fc_cache: 168 kmem_cache_destroy(zfcp_fsf_qtcb_cache); 169out_qtcb_cache: 170 return retval; 171} 172 173module_init(zfcp_module_init); 174 175static void __exit zfcp_module_exit(void) 176{ 177 ccw_driver_unregister(&zfcp_ccw_driver); | 155 fc_release_transport(zfcp_scsi_transport_template); 156out_transport: 157 kmem_cache_destroy(zfcp_fc_req_cache); 158out_fc_cache: 159 kmem_cache_destroy(zfcp_fsf_qtcb_cache); 160out_qtcb_cache: 161 return retval; 162} 163 164module_init(zfcp_module_init); 165 166static void __exit zfcp_module_exit(void) 167{ 168 ccw_driver_unregister(&zfcp_ccw_driver); |
178 misc_deregister(&zfcp_cfdc_misc); | |
179 fc_release_transport(zfcp_scsi_transport_template); 180 kmem_cache_destroy(zfcp_fc_req_cache); 181 kmem_cache_destroy(zfcp_fsf_qtcb_cache); 182} 183 184module_exit(zfcp_module_exit); 185 186/** --- 400 unchanged lines hidden --- | 169 fc_release_transport(zfcp_scsi_transport_template); 170 kmem_cache_destroy(zfcp_fc_req_cache); 171 kmem_cache_destroy(zfcp_fsf_qtcb_cache); 172} 173 174module_exit(zfcp_module_exit); 175 176/** --- 400 unchanged lines hidden --- |