Lines Matching defs:us

100 	struct us_data *us;
158 static int init_realtek_cr(struct us_data *us);
201 static int rts51x_bulk_transport(struct us_data *us, u8 lun,
205 struct bulk_cb_wrap *bcb = (struct bulk_cb_wrap *)us->iobuf;
206 struct bulk_cs_wrap *bcs = (struct bulk_cs_wrap *)us->iobuf;
216 bcb->Tag = ++us->tag;
225 result = usb_stor_bulk_transfer_buf(us, us->send_bulk_pipe,
235 us->recv_bulk_pipe : us->send_bulk_pipe;
236 result = usb_stor_bulk_transfer_buf(us, pipe,
243 result = usb_stor_bulk_transfer_buf(us, us->recv_bulk_pipe,
250 usb_stor_dbg(us, "Signature mismatch: got %08X, expecting %08X\n",
256 if (bcs->Tag != us->tag)
261 * was really transferred and what the device tells us
291 static int rts51x_bulk_transport_special(struct us_data *us, u8 lun,
295 struct bulk_cb_wrap *bcb = (struct bulk_cb_wrap *) us->iobuf;
296 struct bulk_cs_wrap *bcs = (struct bulk_cs_wrap *) us->iobuf;
305 bcb->Tag = ++us->tag;
314 result = usb_stor_bulk_transfer_buf(us, us->send_bulk_pipe,
324 us->recv_bulk_pipe : us->send_bulk_pipe;
325 result = usb_stor_bulk_transfer_buf(us, pipe,
332 result = usb_bulk_msg(us->pusb_dev, us->recv_bulk_pipe, bcs,
338 static int rts51x_get_max_lun(struct us_data *us)
343 us->iobuf[0] = 0;
344 result = usb_stor_control_msg(us, us->recv_ctrl_pipe,
348 0, us->ifnum, us->iobuf, 1, 10 * HZ);
350 usb_stor_dbg(us, "GetMaxLUN command result is %d, data is %d\n",
351 result, us->iobuf[0]);
355 return us->iobuf[0];
360 static int rts51x_read_mem(struct us_data *us, u16 addr, u8 *data, u16 len)
370 usb_stor_dbg(us, "addr = 0x%x, len = %d\n", addr, len);
379 retval = rts51x_bulk_transport(us, 0, cmnd, 12,
391 static int rts51x_write_mem(struct us_data *us, u16 addr, u8 *data, u16 len)
401 usb_stor_dbg(us, "addr = 0x%x, len = %d\n", addr, len);
410 retval = rts51x_bulk_transport(us, 0, cmnd, 12,
419 static int rts51x_read_status(struct us_data *us,
430 usb_stor_dbg(us, "lun = %d\n", lun);
435 retval = rts51x_bulk_transport(us, lun, cmnd, 12,
447 static int rts51x_check_status(struct us_data *us, u8 lun)
449 struct rts51x_chip *chip = (struct rts51x_chip *)(us->extra);
453 retval = rts51x_read_status(us, lun, buf, 16, &(chip->status_len));
457 usb_stor_dbg(us, "chip->status_len = %d\n", chip->status_len);
478 static int enable_oscillator(struct us_data *us)
483 retval = rts51x_read_mem(us, 0xFE77, &value, 1);
488 retval = rts51x_write_mem(us, 0xFE77, &value, 1);
492 retval = rts51x_read_mem(us, 0xFE77, &value, 1);
502 static int __do_config_autodelink(struct us_data *us, u8 *data, u16 len)
508 usb_stor_dbg(us, "addr = 0xfe47, len = %d\n", len);
521 retval = rts51x_bulk_transport_special(us, 0, cmnd, 12, buf, len, DMA_TO_DEVICE, NULL);
530 static int do_config_autodelink(struct us_data *us, int enable, int force)
535 retval = rts51x_read_mem(us, 0xFE47, &value, 1);
548 usb_stor_dbg(us, "set 0xfe47 to 0x%x\n", value);
550 /* retval = rts51x_write_mem(us, 0xFE47, &value, 1); */
551 retval = __do_config_autodelink(us, &value, 1);
558 static int config_autodelink_after_power_on(struct us_data *us)
560 struct rts51x_chip *chip = (struct rts51x_chip *)(us->extra);
567 retval = rts51x_read_mem(us, 0xFE47, &value, 1);
581 /* retval = rts51x_write_mem(us, 0xFE47, &value, 1); */
582 retval = __do_config_autodelink(us, &value, 1);
586 retval = enable_oscillator(us);
588 (void)do_config_autodelink(us, 1, 0);
603 /* retval = rts51x_write_mem(us, 0xFE47, &value, 1); */
604 retval = __do_config_autodelink(us, &value, 1);
610 retval = rts51x_write_mem(us, 0xFE79, &value, 1);
615 retval = rts51x_write_mem(us, 0x48, &value, 1);
625 static int config_autodelink_before_power_down(struct us_data *us)
627 struct rts51x_chip *chip = (struct rts51x_chip *)(us->extra);
635 retval = rts51x_read_mem(us, 0xFE77, &value, 1);
640 retval = rts51x_write_mem(us, 0xFE77, &value, 1);
646 retval = rts51x_write_mem(us, 0x48, &value, 1);
651 retval = rts51x_read_mem(us, 0xFE47, &value, 1);
658 retval = rts51x_write_mem(us, 0xFE77, &value, 1);
665 retval = rts51x_read_mem(us, 0xFE47, &value, 1);
678 /* retval = rts51x_write_mem(us, 0xFE47, &value, 1); */
679 retval = __do_config_autodelink(us, &value, 1);
686 retval = rts51x_write_mem(us, 0x48, &value, 1);
695 static void fw5895_init(struct us_data *us)
697 struct rts51x_chip *chip = (struct rts51x_chip *)(us->extra);
702 usb_stor_dbg(us, "Not the specified device, return immediately!\n");
704 retval = rts51x_read_mem(us, 0xFD6F, &val, 1);
707 retval = rts51x_write_mem(us, 0xFD70, &val, 1);
709 usb_stor_dbg(us, "Write memory fail\n");
711 usb_stor_dbg(us, "Read memory fail, OR (val & 0x1F) != 0\n");
718 static void fw5895_set_mmc_wp(struct us_data *us)
720 struct rts51x_chip *chip = (struct rts51x_chip *)(us->extra);
725 usb_stor_dbg(us, "Not the specified device, return immediately!\n");
727 retval = rts51x_read_mem(us, 0xFD6F, buf, 1);
730 retval = rts51x_read_mem(us, 0xD04E, buf, 1);
733 retval = rts51x_write_mem(us, 0xFD70, buf, 1);
735 usb_stor_dbg(us, "Write memory fail\n");
737 usb_stor_dbg(us, "Read memory fail\n");
740 usb_stor_dbg(us, "Read memory fail, OR (buf[0]&0x24)!=0x24\n");
747 struct us_data *us = chip->us;
749 usb_stor_dbg(us, "state:%d\n", rts51x_get_stat(chip));
758 struct us_data *us = chip->us;
767 usb_stor_dbg(us, "RTS51X_STAT_SS, power.usage:%d\n",
768 atomic_read(&us->pusb_intf->dev.power.usage_count));
770 if (atomic_read(&us->pusb_intf->dev.power.usage_count) > 0) {
771 usb_stor_dbg(us, "Ready to enter SS state\n");
774 pm_suspend_ignore_children(&us->pusb_intf->dev, true);
775 usb_autopm_put_interface_async(us->pusb_intf);
776 usb_stor_dbg(us, "RTS51X_STAT_SS 01, power.usage:%d\n",
777 atomic_read(&us->pusb_intf->dev.power.usage_count));
781 usb_stor_dbg(us, "Unknown state !!!\n");
796 static void rts51x_invoke_transport(struct scsi_cmnd *srb, struct us_data *us)
798 struct rts51x_chip *chip = (struct rts51x_chip *)(us->extra);
809 usb_stor_dbg(us, "working scsi, power.usage:%d\n",
810 atomic_read(&us->pusb_intf->dev.power.usage_count));
812 if (atomic_read(&us->pusb_intf->dev.power.usage_count) <= 0) {
813 ret = usb_autopm_get_interface(us->pusb_intf);
814 usb_stor_dbg(us, "working scsi, ret=%d\n", ret);
818 chip->proto_handler_backup(srb, us);
821 usb_stor_dbg(us, "NOT working scsi\n");
832 usb_stor_dbg(us, "TEST_UNIT_READY\n");
845 usb_stor_dbg(us, "ALLOW_MEDIUM_REMOVAL\n");
849 usb_stor_dbg(us, "NOT working scsi, not SS\n");
850 chip->proto_handler_backup(srb, us);
857 fw5895_set_mmc_wp(us);
869 usb_stor_dbg(us, "state:%d\n", rts51x_get_stat(chip));
874 static int realtek_cr_autosuspend_setup(struct us_data *us)
881 chip = (struct rts51x_chip *)us->extra;
887 retval = rts51x_read_status(us, 0, buf, 16, &(chip->status_len));
889 usb_stor_dbg(us, "Read status fail\n");
909 /* back up the proto_handler in us->extra */
910 chip = (struct rts51x_chip *)(us->extra);
911 chip->proto_handler_backup = us->proto_handler;
913 pm_runtime_set_autosuspend_delay(&us->pusb_dev->dev, 0);
914 /* override us->proto_handler setted in get_protocol() */
915 us->proto_handler = rts51x_invoke_transport;
919 fw5895_init(us);
922 usb_enable_autosuspend(us->pusb_dev);
947 struct us_data *us = usb_get_intfdata(iface);
950 mutex_lock(&us->dev_mutex);
952 config_autodelink_before_power_down(us);
954 mutex_unlock(&us->dev_mutex);
961 struct us_data *us = usb_get_intfdata(iface);
963 fw5895_init(us);
964 config_autodelink_after_power_on(us);
973 static int init_realtek_cr(struct us_data *us)
982 us->extra = chip;
983 us->extra_destructor = realtek_cr_destructor;
984 us->max_lun = chip->max_lun = rts51x_get_max_lun(us);
985 chip->us = us;
987 usb_stor_dbg(us, "chip->max_lun = %d\n", chip->max_lun);
995 retval = rts51x_check_status(us, (u8) i);
1012 realtek_cr_autosuspend_setup(us);
1015 usb_stor_dbg(us, "chip->flag = 0x%x\n", chip->flag);
1017 (void)config_autodelink_after_power_on(us);
1022 if (us->extra) {
1024 kfree(us->extra);
1025 us->extra = NULL;
1036 struct us_data *us;
1041 result = usb_stor_probe1(&us, intf, id,
1048 result = usb_stor_probe2(us);