Lines Matching refs:oud

95 	struct osd_uld_device *oud;  member
142 struct osd_uld_device *oud = container_of(inode->i_cdev, in osd_uld_open() local
145 get_device(&oud->class_dev); in osd_uld_open()
147 file->private_data = oud; in osd_uld_open()
148 OSD_DEBUG("osd_uld_open %p\n", oud); in osd_uld_open()
154 struct osd_uld_device *oud = file->private_data; in osd_uld_release() local
158 put_device(&oud->class_dev); in osd_uld_release()
197 struct osd_uld_device *oud = file->private_data; in osd_uld_ioctl() local
203 ret = do_test(&oud->od, cmd, arg); in osd_uld_ioctl()
205 OSD_ERR("Unknown ioctl %d: osd_uld_device=%p\n", cmd, oud); in osd_uld_ioctl()
221 struct osd_uld_device *oud; in osduld_path_lookup() local
246 oud = file->private_data; in osduld_path_lookup()
248 odh->od = oud->od; in osduld_path_lookup()
250 odh->oud = oud; in osduld_path_lookup()
276 struct osd_uld_device *oud = container_of(dev, struct osd_uld_device, in _match_odi() local
280 if (_the_same_or_null(oud->odi.systemid, oud->odi.systemid_len, in _match_odi()
282 _the_same_or_null(oud->odi.osdname, oud->odi.osdname_len, in _match_odi()
302 struct osd_uld_device *oud = container_of(dev, in osduld_info_lookup() local
310 odh->od = oud->od; in osduld_info_lookup()
311 odh->oud = oud; in osduld_info_lookup()
325 struct osd_uld_device *oud = odh->oud; in osduld_put_device() local
327 BUG_ON(od->scsi_device != oud->od.scsi_device); in osduld_put_device()
336 get_device(&oud->class_dev); in osduld_put_device()
339 put_device(&oud->class_dev); in osduld_put_device()
349 return &odh->oud->odi; in osduld_device_info()
357 struct osd_uld_device *oud = odh->oud; in osduld_device_same() local
359 return (oud->odi.systemid_len == odi->systemid_len) && in osduld_device_same()
360 _the_same_or_null(oud->odi.systemid, oud->odi.systemid_len, in osduld_device_same()
362 (oud->odi.osdname_len == odi->osdname_len) && in osduld_device_same()
363 _the_same_or_null(oud->odi.osdname, oud->odi.osdname_len, in osduld_device_same()
372 static int __detect_osd(struct osd_uld_device *oud) in __detect_osd() argument
374 struct scsi_device *scsi_device = oud->od.scsi_device; in __detect_osd()
382 oud, scsi_device, scsi_device->request_queue); in __detect_osd()
388 if (osd_auto_detect_ver(&oud->od, caps, &oud->odi)) in __detect_osd()
396 struct osd_uld_device *oud = container_of(dev, struct osd_uld_device, in __remove() local
398 struct scsi_device *scsi_device = oud->od.scsi_device; in __remove()
400 kfree(oud->odi.osdname); in __remove()
402 if (oud->cdev.owner) in __remove()
403 cdev_del(&oud->cdev); in __remove()
405 osd_dev_fini(&oud->od); in __remove()
409 oud->disk ? oud->disk->disk_name : NULL); in __remove()
411 if (oud->disk) in __remove()
412 put_disk(oud->disk); in __remove()
413 ida_remove(&osd_minor_ida, oud->minor); in __remove()
415 kfree(oud); in __remove()
422 struct osd_uld_device *oud; in osd_probe() local
444 oud = kzalloc(sizeof(*oud), GFP_KERNEL); in osd_probe()
445 if (NULL == oud) in osd_probe()
448 dev_set_drvdata(dev, oud); in osd_probe()
449 oud->minor = minor; in osd_probe()
459 disk->first_minor = oud->minor; in osd_probe()
460 sprintf(disk->disk_name, "osd%d", oud->minor); in osd_probe()
461 oud->disk = disk; in osd_probe()
467 osd_dev_init(&oud->od, scsi_device); in osd_probe()
470 error = __detect_osd(oud); in osd_probe()
477 cdev_init(&oud->cdev, &osd_fops); in osd_probe()
478 oud->cdev.owner = THIS_MODULE; in osd_probe()
479 error = cdev_add(&oud->cdev, in osd_probe()
480 MKDEV(SCSI_OSD_MAJOR, oud->minor), 1); in osd_probe()
487 oud->class_dev.devt = oud->cdev.dev; in osd_probe()
488 oud->class_dev.class = &osd_uld_class; in osd_probe()
489 oud->class_dev.parent = dev; in osd_probe()
490 oud->class_dev.release = __remove; in osd_probe()
491 error = dev_set_name(&oud->class_dev, "%s", disk->disk_name); in osd_probe()
497 error = device_register(&oud->class_dev); in osd_probe()
503 get_device(&oud->class_dev); in osd_probe()
509 cdev_del(&oud->cdev); in osd_probe()
515 kfree(oud); in osd_probe()
524 struct osd_uld_device *oud = dev_get_drvdata(dev); in osd_remove() local
526 if (!oud || (oud->od.scsi_device != scsi_device)) { in osd_remove()
528 dev, oud, oud ? oud->od.scsi_device : NULL, in osd_remove()
532 device_unregister(&oud->class_dev); in osd_remove()
534 put_device(&oud->class_dev); in osd_remove()