Lines Matching refs:scsi_dh
136 struct scsi_device_handler *scsi_dh) in scsi_dh_handler_attach() argument
140 if (!try_module_get(scsi_dh->module)) in scsi_dh_handler_attach()
143 error = scsi_dh->attach(sdev); in scsi_dh_handler_attach()
162 scsi_dh->name, error); in scsi_dh_handler_attach()
163 module_put(scsi_dh->module); in scsi_dh_handler_attach()
165 sdev->handler = scsi_dh; in scsi_dh_handler_attach()
210 int scsi_register_device_handler(struct scsi_device_handler *scsi_dh) in scsi_register_device_handler() argument
212 if (__scsi_dh_lookup(scsi_dh->name)) in scsi_register_device_handler()
215 if (!scsi_dh->attach || !scsi_dh->detach) in scsi_register_device_handler()
219 list_add(&scsi_dh->list, &scsi_dh_list); in scsi_register_device_handler()
222 printk(KERN_INFO "%s: device handler registered\n", scsi_dh->name); in scsi_register_device_handler()
235 int scsi_unregister_device_handler(struct scsi_device_handler *scsi_dh) in scsi_unregister_device_handler() argument
237 if (!__scsi_dh_lookup(scsi_dh->name)) in scsi_unregister_device_handler()
241 list_del(&scsi_dh->list); in scsi_unregister_device_handler()
243 printk(KERN_INFO "%s: device handler unregistered\n", scsi_dh->name); in scsi_unregister_device_handler()
334 struct scsi_device_handler *scsi_dh; in scsi_dh_attach() local
341 scsi_dh = scsi_dh_lookup(name); in scsi_dh_attach()
342 if (!scsi_dh) { in scsi_dh_attach()
348 if (sdev->handler != scsi_dh) in scsi_dh_attach()
353 err = scsi_dh_handler_attach(sdev, scsi_dh); in scsi_dh_attach()