Lines Matching refs:sdev

71 scsi_dh_find_driver(struct scsi_device *sdev)  in scsi_dh_find_driver()  argument
75 if (scsi_device_tpgs(sdev)) in scsi_dh_find_driver()
79 if (!strncmp(sdev->vendor, b->vendor, strlen(b->vendor)) && in scsi_dh_find_driver()
80 !strncmp(sdev->model, b->model, strlen(b->model))) { in scsi_dh_find_driver()
124 static int scsi_dh_handler_attach(struct scsi_device *sdev, in scsi_dh_handler_attach() argument
132 error = scsi_dh->attach(sdev); in scsi_dh_handler_attach()
150 sdev_printk(KERN_ERR, sdev, "%s: Attach failed (%d)\n", in scsi_dh_handler_attach()
154 sdev->handler = scsi_dh; in scsi_dh_handler_attach()
163 static void scsi_dh_handler_detach(struct scsi_device *sdev) in scsi_dh_handler_detach() argument
165 sdev->handler->detach(sdev); in scsi_dh_handler_detach()
166 sdev_printk(KERN_NOTICE, sdev, "%s: Detached\n", sdev->handler->name); in scsi_dh_handler_detach()
167 module_put(sdev->handler->module); in scsi_dh_handler_detach()
170 void scsi_dh_add_device(struct scsi_device *sdev) in scsi_dh_add_device() argument
175 drv = scsi_dh_find_driver(sdev); in scsi_dh_add_device()
183 (void)scsi_dh_handler_attach(sdev, devinfo); in scsi_dh_add_device()
186 void scsi_dh_release_device(struct scsi_device *sdev) in scsi_dh_release_device() argument
188 if (sdev->handler) in scsi_dh_release_device()
189 scsi_dh_handler_detach(sdev); in scsi_dh_release_device()
253 struct scsi_device *sdev; in scsi_dh_activate() local
256 sdev = scsi_device_from_queue(q); in scsi_dh_activate()
257 if (!sdev) { in scsi_dh_activate()
263 if (!sdev->handler) in scsi_dh_activate()
266 if (sdev->sdev_state == SDEV_CANCEL || in scsi_dh_activate()
267 sdev->sdev_state == SDEV_DEL) in scsi_dh_activate()
271 if (sdev->sdev_state == SDEV_OFFLINE) in scsi_dh_activate()
274 if (sdev->handler->activate) in scsi_dh_activate()
275 err = sdev->handler->activate(sdev, fn, data); in scsi_dh_activate()
278 put_device(&sdev->sdev_gendev); in scsi_dh_activate()
300 struct scsi_device *sdev; in scsi_dh_set_params() local
303 sdev = scsi_device_from_queue(q); in scsi_dh_set_params()
304 if (!sdev) in scsi_dh_set_params()
307 if (sdev->handler && sdev->handler->set_params) in scsi_dh_set_params()
308 err = sdev->handler->set_params(sdev, params); in scsi_dh_set_params()
309 put_device(&sdev->sdev_gendev); in scsi_dh_set_params()
322 struct scsi_device *sdev; in scsi_dh_attach() local
326 sdev = scsi_device_from_queue(q); in scsi_dh_attach()
327 if (!sdev) in scsi_dh_attach()
336 if (sdev->handler) { 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()
345 put_device(&sdev->sdev_gendev); in scsi_dh_attach()
361 struct scsi_device *sdev; in scsi_dh_attached_handler_name() local
364 sdev = scsi_device_from_queue(q); in scsi_dh_attached_handler_name()
365 if (!sdev) in scsi_dh_attached_handler_name()
368 if (sdev->handler) in scsi_dh_attached_handler_name()
369 handler_name = kstrdup(sdev->handler->name, gfp); in scsi_dh_attached_handler_name()
370 put_device(&sdev->sdev_gendev); in scsi_dh_attached_handler_name()