Lines Matching refs:sdev

54 	struct scsi_device *sdev = to_scsi_device(dev);  in ses_probe()  local
57 if (sdev->type != TYPE_ENCLOSURE) in ses_probe()
61 sdev_printk(KERN_NOTICE, sdev, "Attached Enclosure device\n"); in ses_probe()
84 static int ses_recv_diag(struct scsi_device *sdev, int page_code, in ses_recv_diag() argument
98 ret = scsi_execute_req(sdev, cmd, DMA_FROM_DEVICE, buf, bufflen, in ses_recv_diag()
111 sdev_printk(KERN_ERR, sdev, in ses_recv_diag()
118 static int ses_send_diag(struct scsi_device *sdev, int page_code, in ses_send_diag() argument
132 result = scsi_execute_req(sdev, cmd, DMA_TO_DEVICE, buf, bufflen, in ses_send_diag()
135 sdev_printk(KERN_ERR, sdev, "SEND DIAGNOSTIC result: %8x\n", in ses_send_diag()
145 struct scsi_device *sdev = to_scsi_device(edev->edev.parent); in ses_set_page2_descriptor() local
168 return ses_send_diag(sdev, 2, ses_dev->page2, ses_dev->page2_len); in ses_set_page2_descriptor()
175 struct scsi_device *sdev = to_scsi_device(edev->edev.parent); in ses_get_page2_descriptor() local
180 ses_recv_diag(sdev, 2, ses_dev->page2, ses_dev->page2_len); in ses_get_page2_descriptor()
384 struct scsi_device *sdev;
389 sdev = to_scsi_device(edev->edev.parent);
391 if (sdev->host != sed->shost)
475 struct scsi_device *sdev, in ses_enclosure_data_process() argument
490 ses_recv_diag(sdev, 10, ses_dev->page10, ses_dev->page10_len); in ses_enclosure_data_process()
492 result = ses_recv_diag(sdev, 7, hdr_buf, INIT_ALLOC_SIZE); in ses_enclosure_data_process()
501 result = ses_recv_diag(sdev, 7, buf, len); in ses_enclosure_data_process()
580 struct scsi_device *sdev) in ses_match_to_enclosure() argument
589 if (!sdev->vpd_pg83_len) in ses_match_to_enclosure()
592 desc = sdev->vpd_pg83 + 4; in ses_match_to_enclosure()
593 while (desc < sdev->vpd_pg83 + sdev->vpd_pg83_len) { in ses_match_to_enclosure()
608 efd.dev = &sdev->sdev_gendev; in ses_match_to_enclosure()
617 struct scsi_device *sdev = to_scsi_device(cdev->parent); in ses_intf_add() local
628 if (!scsi_device_enclosure(sdev)) { in ses_intf_add()
632 while ((edev = enclosure_find(&sdev->host->shost_gendev, prev)) != NULL) { in ses_intf_add()
633 ses_match_to_enclosure(edev, sdev); in ses_intf_add()
640 if (sdev->type != TYPE_ENCLOSURE) in ses_intf_add()
641 sdev_printk(KERN_NOTICE, sdev, "Embedded Enclosure Device\n"); in ses_intf_add()
648 result = ses_recv_diag(sdev, 1, hdr_buf, INIT_ALLOC_SIZE); in ses_intf_add()
657 result = ses_recv_diag(sdev, 1, buf, len); in ses_intf_add()
687 result = ses_recv_diag(sdev, 2, hdr_buf, INIT_ALLOC_SIZE); in ses_intf_add()
697 result = ses_recv_diag(sdev, 2, buf, len); in ses_intf_add()
706 result = ses_recv_diag(sdev, 10, hdr_buf, INIT_ALLOC_SIZE); in ses_intf_add()
714 result = ses_recv_diag(sdev, 10, buf, len); in ses_intf_add()
725 edev = enclosure_register(cdev->parent, dev_name(&sdev->sdev_gendev), in ses_intf_add()
738 ses_enclosure_data_process(edev, sdev, 1); in ses_intf_add()
742 shost_for_each_device(tmp_sdev, sdev->host) { in ses_intf_add()
751 sdev_printk(KERN_ERR, sdev, "Failed to get diagnostic page 0x%x\n", in ses_intf_add()
763 sdev_printk(KERN_ERR, sdev, "Failed to bind enclosure %d\n", err); in ses_intf_add()
772 static void ses_intf_remove_component(struct scsi_device *sdev) in ses_intf_remove_component() argument
776 while ((edev = enclosure_find(&sdev->host->shost_gendev, prev)) != NULL) { in ses_intf_remove_component()
778 if (!enclosure_remove_device(edev, &sdev->sdev_gendev)) in ses_intf_remove_component()
785 static void ses_intf_remove_enclosure(struct scsi_device *sdev) in ses_intf_remove_enclosure() argument
791 edev = enclosure_find(&sdev->sdev_gendev, NULL); in ses_intf_remove_enclosure()
812 struct scsi_device *sdev = to_scsi_device(cdev->parent); in ses_intf_remove() local
814 if (!scsi_device_enclosure(sdev)) in ses_intf_remove()
815 ses_intf_remove_component(sdev); in ses_intf_remove()
817 ses_intf_remove_enclosure(sdev); in ses_intf_remove()