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
96 return scsi_execute_req(sdev, cmd, DMA_FROM_DEVICE, buf, bufflen, in ses_recv_diag()
100 static int ses_send_diag(struct scsi_device *sdev, int page_code, in ses_send_diag() argument
114 result = scsi_execute_req(sdev, cmd, DMA_TO_DEVICE, buf, bufflen, in ses_send_diag()
117 sdev_printk(KERN_ERR, sdev, "SEND DIAGNOSTIC result: %8x\n", in ses_send_diag()
127 struct scsi_device *sdev = to_scsi_device(edev->edev.parent); in ses_set_page2_descriptor() local
150 return ses_send_diag(sdev, 2, ses_dev->page2, ses_dev->page2_len); in ses_set_page2_descriptor()
157 struct scsi_device *sdev = to_scsi_device(edev->edev.parent); in ses_get_page2_descriptor() local
162 ses_recv_diag(sdev, 2, ses_dev->page2, ses_dev->page2_len); in ses_get_page2_descriptor()
366 struct scsi_device *sdev;
371 sdev = to_scsi_device(edev->edev.parent);
373 if (sdev->host != sed->shost)
457 struct scsi_device *sdev, in ses_enclosure_data_process() argument
472 ses_recv_diag(sdev, 10, ses_dev->page10, ses_dev->page10_len); in ses_enclosure_data_process()
474 result = ses_recv_diag(sdev, 7, hdr_buf, INIT_ALLOC_SIZE); in ses_enclosure_data_process()
483 result = ses_recv_diag(sdev, 7, buf, len); in ses_enclosure_data_process()
554 struct scsi_device *sdev) in ses_match_to_enclosure() argument
563 if (!sdev->vpd_pg83_len) in ses_match_to_enclosure()
566 desc = sdev->vpd_pg83 + 4; in ses_match_to_enclosure()
567 while (desc < sdev->vpd_pg83 + sdev->vpd_pg83_len) { in ses_match_to_enclosure()
582 efd.dev = &sdev->sdev_gendev; in ses_match_to_enclosure()
591 struct scsi_device *sdev = to_scsi_device(cdev->parent); in ses_intf_add() local
602 if (!scsi_device_enclosure(sdev)) { in ses_intf_add()
606 while ((edev = enclosure_find(&sdev->host->shost_gendev, prev)) != NULL) { in ses_intf_add()
607 ses_match_to_enclosure(edev, sdev); in ses_intf_add()
614 if (sdev->type != TYPE_ENCLOSURE) in ses_intf_add()
615 sdev_printk(KERN_NOTICE, sdev, "Embedded Enclosure Device\n"); in ses_intf_add()
622 result = ses_recv_diag(sdev, 1, hdr_buf, INIT_ALLOC_SIZE); in ses_intf_add()
631 result = ses_recv_diag(sdev, 1, buf, len); in ses_intf_add()
661 result = ses_recv_diag(sdev, 2, hdr_buf, INIT_ALLOC_SIZE); in ses_intf_add()
671 result = ses_recv_diag(sdev, 2, buf, len); in ses_intf_add()
680 result = ses_recv_diag(sdev, 10, hdr_buf, INIT_ALLOC_SIZE); in ses_intf_add()
688 result = ses_recv_diag(sdev, 10, buf, len); in ses_intf_add()
699 edev = enclosure_register(cdev->parent, dev_name(&sdev->sdev_gendev), in ses_intf_add()
712 ses_enclosure_data_process(edev, sdev, 1); in ses_intf_add()
716 shost_for_each_device(tmp_sdev, sdev->host) { in ses_intf_add()
725 sdev_printk(KERN_ERR, sdev, "Failed to get diagnostic page 0x%x\n", in ses_intf_add()
737 sdev_printk(KERN_ERR, sdev, "Failed to bind enclosure %d\n", err); in ses_intf_add()
746 static void ses_intf_remove_component(struct scsi_device *sdev) in ses_intf_remove_component() argument
750 while ((edev = enclosure_find(&sdev->host->shost_gendev, prev)) != NULL) { in ses_intf_remove_component()
752 if (!enclosure_remove_device(edev, &sdev->sdev_gendev)) in ses_intf_remove_component()
759 static void ses_intf_remove_enclosure(struct scsi_device *sdev) in ses_intf_remove_enclosure() argument
765 edev = enclosure_find(&sdev->sdev_gendev, NULL); in ses_intf_remove_enclosure()
786 struct scsi_device *sdev = to_scsi_device(cdev->parent); in ses_intf_remove() local
788 if (!scsi_device_enclosure(sdev)) in ses_intf_remove()
789 ses_intf_remove_component(sdev); in ses_intf_remove()
791 ses_intf_remove_enclosure(sdev); in ses_intf_remove()