Lines Matching defs:edev
38 static bool ses_page2_supported(struct enclosure_device *edev)
40 struct ses_device *ses_dev = edev->scratch;
147 static int ses_set_page2_descriptor(struct enclosure_device *edev,
152 struct scsi_device *sdev = to_scsi_device(edev->edev.parent);
153 struct ses_device *ses_dev = edev->scratch;
178 static unsigned char *ses_get_page2_descriptor(struct enclosure_device *edev,
182 struct scsi_device *sdev = to_scsi_device(edev->edev.parent);
183 struct ses_device *ses_dev = edev->scratch;
207 static void ses_get_fault(struct enclosure_device *edev,
212 if (!ses_page2_supported(edev)) {
216 desc = ses_get_page2_descriptor(edev, ecomp);
221 static int ses_set_fault(struct enclosure_device *edev,
228 if (!ses_page2_supported(edev))
231 desc_ptr = ses_get_page2_descriptor(edev, ecomp);
250 return ses_set_page2_descriptor(edev, ecomp, desc);
253 static void ses_get_status(struct enclosure_device *edev,
258 if (!ses_page2_supported(edev)) {
262 desc = ses_get_page2_descriptor(edev, ecomp);
267 static void ses_get_locate(struct enclosure_device *edev,
272 if (!ses_page2_supported(edev)) {
276 desc = ses_get_page2_descriptor(edev, ecomp);
281 static int ses_set_locate(struct enclosure_device *edev,
288 if (!ses_page2_supported(edev))
291 desc_ptr = ses_get_page2_descriptor(edev, ecomp);
309 return ses_set_page2_descriptor(edev, ecomp, desc);
312 static int ses_set_active(struct enclosure_device *edev,
319 if (!ses_page2_supported(edev))
322 desc_ptr = ses_get_page2_descriptor(edev, ecomp);
342 return ses_set_page2_descriptor(edev, ecomp, desc);
345 static int ses_show_id(struct enclosure_device *edev, char *buf)
347 struct ses_device *ses_dev = edev->scratch;
353 static void ses_get_power_status(struct enclosure_device *edev,
358 if (!ses_page2_supported(edev)) {
363 desc = ses_get_page2_descriptor(edev, ecomp);
368 static int ses_set_power_status(struct enclosure_device *edev,
375 if (!ses_page2_supported(edev))
378 desc_ptr = ses_get_page2_descriptor(edev, ecomp);
397 return ses_set_page2_descriptor(edev, ecomp, desc);
414 struct enclosure_device *edev;
418 int ses_match_host(struct enclosure_device *edev, void *data)
423 if (!scsi_is_sdev_device(edev->edev.parent))
426 sdev = to_scsi_device(edev->edev.parent);
431 sed->edev = edev;
499 static int ses_enclosure_find_by_addr(struct enclosure_device *edev,
506 for (i = 0; i < edev->components; i++) {
507 scomp = edev->component[i].scratch;
511 if (enclosure_add_device(edev, i, efd->dev) == 0)
520 static void ses_enclosure_data_process(struct enclosure_device *edev,
527 struct ses_device *ses_dev = edev->scratch;
592 edev,
596 else if (components < edev->components)
597 ecomp = &edev->component[components++];
637 static void ses_match_to_enclosure(struct enclosure_device *edev,
641 struct scsi_device *edev_sdev = to_scsi_device(edev->edev.parent);
647 ses_enclosure_data_process(edev, edev_sdev, 0);
670 struct enclosure_device *edev;
677 while ((edev = enclosure_find(&sdev->host->shost_gendev, prev)) != NULL) {
678 ses_match_to_enclosure(edev, sdev, 1);
679 prev = edev;
777 edev = enclosure_register(cdev->parent, dev_name(&sdev->sdev_gendev),
779 if (IS_ERR(edev)) {
780 err = PTR_ERR(edev);
786 edev->scratch = ses_dev;
788 edev->component[i].scratch = scomp + i;
790 ses_enclosure_data_process(edev, sdev, 1);
797 ses_match_to_enclosure(edev, tmp_sdev, 0);
826 struct enclosure_device *edev, *prev = NULL;
828 while ((edev = enclosure_find(&sdev->host->shost_gendev, prev)) != NULL) {
829 prev = edev;
830 if (!enclosure_remove_device(edev, &sdev->sdev_gendev))
833 if (edev)
834 put_device(&edev->edev);
839 struct enclosure_device *edev;
843 edev = enclosure_find(&sdev->sdev_gendev, NULL);
844 if (!edev)
847 ses_dev = edev->scratch;
848 edev->scratch = NULL;
855 if (edev->components)
856 kfree(edev->component[0].scratch);
858 put_device(&edev->edev);
859 enclosure_unregister(edev);