Lines Matching refs:sdev
118 *get_clariion_data(struct scsi_device *sdev) in get_clariion_data() argument
120 return container_of(sdev->scsi_dh_data, struct clariion_dh_data, in get_clariion_data()
127 static int trespass_endio(struct scsi_device *sdev, char *sense) in trespass_endio() argument
133 sdev_printk(KERN_ERR, sdev, "%s: Found valid sense data 0x%2x, " in trespass_endio()
144 sdev_printk(KERN_INFO, sdev, "%s: Array Based Copy in " in trespass_endio()
154 sdev_printk(KERN_INFO, sdev, "%s: Detected in-progress " in trespass_endio()
161 sdev_printk(KERN_INFO, sdev, in trespass_endio()
168 static int parse_sp_info_reply(struct scsi_device *sdev, in parse_sp_info_reply() argument
175 sdev_printk(KERN_NOTICE, sdev, "%s: Detected in-progress " in parse_sp_info_reply()
183 sdev_printk(KERN_NOTICE, sdev, in parse_sp_info_reply()
191 sdev_printk(KERN_NOTICE, sdev, in parse_sp_info_reply()
199 sdev_printk(KERN_WARNING, sdev, in parse_sp_info_reply()
217 static char * parse_sp_model(struct scsi_device *sdev, unsigned char *buffer) in parse_sp_model() argument
224 sdev_printk(KERN_WARNING, sdev, in parse_sp_model()
240 sdev_printk(KERN_WARNING, sdev, in parse_sp_model()
247 sdev_printk(KERN_WARNING, sdev, in parse_sp_model()
270 static struct request *get_req(struct scsi_device *sdev, int cmd, in get_req() argument
276 rq = blk_get_request(sdev->request_queue, in get_req()
279 sdev_printk(KERN_INFO, sdev, "get_req: blk_get_request failed"); in get_req()
321 static int send_inquiry_cmd(struct scsi_device *sdev, int page, in send_inquiry_cmd() argument
324 struct request *rq = get_req(sdev, INQUIRY, csdev->buffer); in send_inquiry_cmd()
339 err = blk_execute_rq(sdev->request_queue, NULL, rq, 1); in send_inquiry_cmd()
341 sdev_printk(KERN_INFO, sdev, in send_inquiry_cmd()
354 static int send_trespass_cmd(struct scsi_device *sdev, in send_trespass_cmd() argument
379 rq = get_req(sdev, cmd, csdev->buffer); in send_trespass_cmd()
387 err = blk_execute_rq(sdev->request_queue, NULL, rq, 1); in send_trespass_cmd()
390 err = trespass_endio(sdev, csdev->sense); in send_trespass_cmd()
392 sdev_printk(KERN_INFO, sdev, in send_trespass_cmd()
403 static int clariion_check_sense(struct scsi_device *sdev, in clariion_check_sense() argument
451 static int clariion_prep_fn(struct scsi_device *sdev, struct request *req) in clariion_prep_fn() argument
453 struct clariion_dh_data *h = get_clariion_data(sdev); in clariion_prep_fn()
464 static int clariion_std_inquiry(struct scsi_device *sdev, in clariion_std_inquiry() argument
470 err = send_inquiry_cmd(sdev, 0, csdev); in clariion_std_inquiry()
476 sdev_printk(KERN_ERR, sdev, "%s: INQUIRY sense code " in clariion_std_inquiry()
484 sp_model = parse_sp_model(sdev, csdev->buffer); in clariion_std_inquiry()
496 sdev_printk(KERN_INFO, sdev, in clariion_std_inquiry()
503 static int clariion_send_inquiry(struct scsi_device *sdev, in clariion_send_inquiry() argument
509 err = send_inquiry_cmd(sdev, 0xC0, csdev); in clariion_send_inquiry()
518 err = clariion_check_sense(sdev, &sshdr); in clariion_send_inquiry()
523 sdev_printk(KERN_ERR, sdev, "%s: INQUIRY sense code " in clariion_send_inquiry()
528 err = parse_sp_info_reply(sdev, csdev); in clariion_send_inquiry()
533 static int clariion_activate(struct scsi_device *sdev, in clariion_activate() argument
536 struct clariion_dh_data *csdev = get_clariion_data(sdev); in clariion_activate()
539 result = clariion_send_inquiry(sdev, csdev); in clariion_activate()
546 result = send_trespass_cmd(sdev, csdev); in clariion_activate()
549 sdev_printk(KERN_INFO, sdev,"%s: %s trespass command sent\n", in clariion_activate()
554 result = clariion_send_inquiry(sdev, csdev); in clariion_activate()
559 sdev_printk(KERN_INFO, sdev, in clariion_activate()
575 static int clariion_set_params(struct scsi_device *sdev, const char *params) in clariion_set_params() argument
577 struct clariion_dh_data *csdev = get_clariion_data(sdev); in clariion_set_params()
614 result = send_trespass_cmd(sdev, csdev); in clariion_set_params()
619 result = clariion_send_inquiry(sdev, csdev); in clariion_set_params()
635 static bool clariion_match(struct scsi_device *sdev) in clariion_match() argument
639 if (scsi_device_tpgs(sdev)) in clariion_match()
643 if (!strncmp(sdev->vendor, clariion_dev_list[i].vendor, in clariion_match()
645 !strncmp(sdev->model, clariion_dev_list[i].model, in clariion_match()
653 static struct scsi_dh_data *clariion_bus_attach(struct scsi_device *sdev) in clariion_bus_attach() argument
665 err = clariion_std_inquiry(sdev, h); in clariion_bus_attach()
669 err = clariion_send_inquiry(sdev, h); in clariion_bus_attach()
673 sdev_printk(KERN_INFO, sdev, in clariion_bus_attach()
685 static void clariion_bus_detach(struct scsi_device *sdev) in clariion_bus_detach() argument
687 struct clariion_dh_data *h = get_clariion_data(sdev); in clariion_bus_detach()