Lines Matching refs:scsi_dh
125 struct scsi_device_handler *scsi_dh) in scsi_dh_handler_attach() argument
129 if (!try_module_get(scsi_dh->module)) in scsi_dh_handler_attach()
132 error = scsi_dh->attach(sdev); in scsi_dh_handler_attach()
151 scsi_dh->name, error); in scsi_dh_handler_attach()
152 module_put(scsi_dh->module); in scsi_dh_handler_attach()
154 sdev->handler = scsi_dh; in scsi_dh_handler_attach()
199 int scsi_register_device_handler(struct scsi_device_handler *scsi_dh) in scsi_register_device_handler() argument
201 if (__scsi_dh_lookup(scsi_dh->name)) in scsi_register_device_handler()
204 if (!scsi_dh->attach || !scsi_dh->detach) in scsi_register_device_handler()
208 list_add(&scsi_dh->list, &scsi_dh_list); in scsi_register_device_handler()
211 printk(KERN_INFO "%s: device handler registered\n", scsi_dh->name); in scsi_register_device_handler()
224 int scsi_unregister_device_handler(struct scsi_device_handler *scsi_dh) in scsi_unregister_device_handler() argument
226 if (!__scsi_dh_lookup(scsi_dh->name)) in scsi_unregister_device_handler()
230 list_del(&scsi_dh->list); in scsi_unregister_device_handler()
232 printk(KERN_INFO "%s: device handler unregistered\n", scsi_dh->name); in scsi_unregister_device_handler()
323 struct scsi_device_handler *scsi_dh; in scsi_dh_attach() local
330 scsi_dh = scsi_dh_lookup(name); in scsi_dh_attach()
331 if (!scsi_dh) { in scsi_dh_attach()
337 if (sdev->handler != scsi_dh) in scsi_dh_attach()
342 err = scsi_dh_handler_attach(sdev, scsi_dh); in scsi_dh_attach()