ushc              119 drivers/mmc/host/ushc.c static int ushc_hw_reset(struct ushc_data *ushc)
ushc              121 drivers/mmc/host/ushc.c 	return usb_control_msg(ushc->usb_dev, usb_sndctrlpipe(ushc->usb_dev, 0),
ushc              126 drivers/mmc/host/ushc.c static int ushc_hw_get_caps(struct ushc_data *ushc)
ushc              131 drivers/mmc/host/ushc.c 	ret = usb_control_msg(ushc->usb_dev, usb_rcvctrlpipe(ushc->usb_dev, 0),
ushc              133 drivers/mmc/host/ushc.c 			      0, 0, &ushc->caps, sizeof(ushc->caps), 100);
ushc              137 drivers/mmc/host/ushc.c 	ushc->caps = le32_to_cpu(ushc->caps);
ushc              139 drivers/mmc/host/ushc.c 	version = ushc->caps & USHC_GET_CAPS_VERSION_MASK;
ushc              141 drivers/mmc/host/ushc.c 		dev_err(&ushc->usb_dev->dev, "controller version %d is not supported\n", version);
ushc              148 drivers/mmc/host/ushc.c static int ushc_hw_set_host_ctrl(struct ushc_data *ushc, u16 mask, u16 val)
ushc              153 drivers/mmc/host/ushc.c 	host_ctrl = (ushc->host_ctrl & ~mask) | val;
ushc              154 drivers/mmc/host/ushc.c 	ret = usb_control_msg(ushc->usb_dev, usb_sndctrlpipe(ushc->usb_dev, 0),
ushc              159 drivers/mmc/host/ushc.c 	ushc->host_ctrl = host_ctrl;
ushc              165 drivers/mmc/host/ushc.c 	struct ushc_data *ushc = urb->context;
ushc              171 drivers/mmc/host/ushc.c 	status = ushc->int_data->status;
ushc              172 drivers/mmc/host/ushc.c 	last_status = ushc->last_status;
ushc              173 drivers/mmc/host/ushc.c 	ushc->last_status = status;
ushc              183 drivers/mmc/host/ushc.c 	if (!test_and_clear_bit(IGNORE_NEXT_INT, &ushc->flags)
ushc              184 drivers/mmc/host/ushc.c 	    && test_bit(INT_EN, &ushc->flags)
ushc              186 drivers/mmc/host/ushc.c 		mmc_signal_sdio_irq(ushc->mmc);
ushc              190 drivers/mmc/host/ushc.c 		mmc_detect_change(ushc->mmc, msecs_to_jiffies(100));
ushc              192 drivers/mmc/host/ushc.c 	if (!test_bit(INT_EN, &ushc->flags))
ushc              193 drivers/mmc/host/ushc.c 		set_bit(IGNORE_NEXT_INT, &ushc->flags);
ushc              194 drivers/mmc/host/ushc.c 	usb_submit_urb(ushc->int_urb, GFP_ATOMIC);
ushc              199 drivers/mmc/host/ushc.c 	struct ushc_data *ushc = urb->context;
ushc              202 drivers/mmc/host/ushc.c 		usb_unlink_urb(ushc->data_urb);
ushc              203 drivers/mmc/host/ushc.c 		usb_unlink_urb(ushc->csw_urb);
ushc              209 drivers/mmc/host/ushc.c 	struct ushc_data *ushc = urb->context;
ushc              212 drivers/mmc/host/ushc.c 		usb_unlink_urb(ushc->csw_urb);
ushc              217 drivers/mmc/host/ushc.c 	struct ushc_data *ushc = urb->context;
ushc              218 drivers/mmc/host/ushc.c 	struct mmc_request *req = ushc->current_req;
ushc              221 drivers/mmc/host/ushc.c 	status = ushc->csw->status;
ushc              243 drivers/mmc/host/ushc.c 	req->cmd->resp[0] = le32_to_cpu(ushc->csw->response);
ushc              245 drivers/mmc/host/ushc.c 	mmc_request_done(ushc->mmc, req);
ushc              250 drivers/mmc/host/ushc.c 	struct ushc_data *ushc = mmc_priv(mmc);
ushc              254 drivers/mmc/host/ushc.c 	spin_lock_irqsave(&ushc->lock, flags);
ushc              256 drivers/mmc/host/ushc.c 	if (test_bit(DISCONNECTED, &ushc->flags)) {
ushc              269 drivers/mmc/host/ushc.c 	if (req->data && ushc->clock_freq < 6000000) {
ushc              274 drivers/mmc/host/ushc.c 	ushc->current_req = req;
ushc              277 drivers/mmc/host/ushc.c 	ushc->cbw->cmd_idx = cpu_to_le16(req->cmd->opcode);
ushc              279 drivers/mmc/host/ushc.c 		ushc->cbw->block_size = cpu_to_le16(req->data->blksz);
ushc              281 drivers/mmc/host/ushc.c 		ushc->cbw->block_size = 0;
ushc              282 drivers/mmc/host/ushc.c 	ushc->cbw->arg = cpu_to_le32(req->cmd->arg);
ushc              284 drivers/mmc/host/ushc.c 	ret = usb_submit_urb(ushc->cbw_urb, GFP_ATOMIC);
ushc              294 drivers/mmc/host/ushc.c 			pipe = usb_rcvbulkpipe(ushc->usb_dev, 6);
ushc              296 drivers/mmc/host/ushc.c 			pipe = usb_sndbulkpipe(ushc->usb_dev, 2);
ushc              298 drivers/mmc/host/ushc.c 		usb_fill_bulk_urb(ushc->data_urb, ushc->usb_dev, pipe,
ushc              300 drivers/mmc/host/ushc.c 				  data_callback, ushc);
ushc              301 drivers/mmc/host/ushc.c 		ushc->data_urb->num_sgs = 1;
ushc              302 drivers/mmc/host/ushc.c 		ushc->data_urb->sg = data->sg;
ushc              303 drivers/mmc/host/ushc.c 		ret = usb_submit_urb(ushc->data_urb, GFP_ATOMIC);
ushc              309 drivers/mmc/host/ushc.c 	ret = usb_submit_urb(ushc->csw_urb, GFP_ATOMIC);
ushc              312 drivers/mmc/host/ushc.c 	spin_unlock_irqrestore(&ushc->lock, flags);
ushc              314 drivers/mmc/host/ushc.c 		usb_unlink_urb(ushc->cbw_urb);
ushc              315 drivers/mmc/host/ushc.c 		usb_unlink_urb(ushc->data_urb);
ushc              321 drivers/mmc/host/ushc.c static int ushc_set_power(struct ushc_data *ushc, unsigned char power_mode)
ushc              337 drivers/mmc/host/ushc.c 	return usb_control_msg(ushc->usb_dev, usb_sndctrlpipe(ushc->usb_dev, 0),
ushc              342 drivers/mmc/host/ushc.c static int ushc_set_bus_width(struct ushc_data *ushc, int bus_width)
ushc              344 drivers/mmc/host/ushc.c 	return ushc_hw_set_host_ctrl(ushc, USHC_HOST_CTRL_4BIT,
ushc              348 drivers/mmc/host/ushc.c static int ushc_set_bus_freq(struct ushc_data *ushc, int clk, bool enable_hs)
ushc              356 drivers/mmc/host/ushc.c 	ret = ushc_hw_set_host_ctrl(ushc, USHC_HOST_CTRL_HIGH_SPD,
ushc              361 drivers/mmc/host/ushc.c 	ret = usb_control_msg(ushc->usb_dev, usb_sndctrlpipe(ushc->usb_dev, 0),
ushc              367 drivers/mmc/host/ushc.c 	ushc->clock_freq = clk;
ushc              373 drivers/mmc/host/ushc.c 	struct ushc_data *ushc = mmc_priv(mmc);
ushc              375 drivers/mmc/host/ushc.c 	ushc_set_power(ushc, ios->power_mode);
ushc              376 drivers/mmc/host/ushc.c 	ushc_set_bus_width(ushc, 1 << ios->bus_width);
ushc              377 drivers/mmc/host/ushc.c 	ushc_set_bus_freq(ushc, ios->clock, ios->timing == MMC_TIMING_SD_HS);
ushc              382 drivers/mmc/host/ushc.c 	struct ushc_data *ushc = mmc_priv(mmc);
ushc              384 drivers/mmc/host/ushc.c 	return !!(ushc->last_status & USHC_INT_STATUS_CARD_PRESENT);
ushc              389 drivers/mmc/host/ushc.c 	struct ushc_data *ushc = mmc_priv(mmc);
ushc              392 drivers/mmc/host/ushc.c 		set_bit(INT_EN, &ushc->flags);
ushc              394 drivers/mmc/host/ushc.c 		clear_bit(INT_EN, &ushc->flags);
ushc              397 drivers/mmc/host/ushc.c static void ushc_clean_up(struct ushc_data *ushc)
ushc              399 drivers/mmc/host/ushc.c 	usb_free_urb(ushc->int_urb);
ushc              400 drivers/mmc/host/ushc.c 	usb_free_urb(ushc->csw_urb);
ushc              401 drivers/mmc/host/ushc.c 	usb_free_urb(ushc->data_urb);
ushc              402 drivers/mmc/host/ushc.c 	usb_free_urb(ushc->cbw_urb);
ushc              404 drivers/mmc/host/ushc.c 	kfree(ushc->int_data);
ushc              405 drivers/mmc/host/ushc.c 	kfree(ushc->cbw);
ushc              406 drivers/mmc/host/ushc.c 	kfree(ushc->csw);
ushc              408 drivers/mmc/host/ushc.c 	mmc_free_host(ushc->mmc);
ushc              422 drivers/mmc/host/ushc.c 	struct ushc_data *ushc;
ushc              431 drivers/mmc/host/ushc.c 	ushc = mmc_priv(mmc);
ushc              432 drivers/mmc/host/ushc.c 	usb_set_intfdata(intf, ushc);
ushc              434 drivers/mmc/host/ushc.c 	ushc->usb_dev = usb_dev;
ushc              435 drivers/mmc/host/ushc.c 	ushc->mmc = mmc;
ushc              437 drivers/mmc/host/ushc.c 	spin_lock_init(&ushc->lock);
ushc              439 drivers/mmc/host/ushc.c 	ret = ushc_hw_reset(ushc);
ushc              444 drivers/mmc/host/ushc.c 	ret = ushc_hw_get_caps(ushc);
ushc              454 drivers/mmc/host/ushc.c 	mmc->caps |= (ushc->caps & USHC_GET_CAPS_HIGH_SPD) ? MMC_CAP_SD_HIGHSPEED : 0;
ushc              462 drivers/mmc/host/ushc.c 	ushc->int_urb = usb_alloc_urb(0, GFP_KERNEL);
ushc              463 drivers/mmc/host/ushc.c 	if (ushc->int_urb == NULL) {
ushc              467 drivers/mmc/host/ushc.c 	ushc->int_data = kzalloc(sizeof(struct ushc_int_data), GFP_KERNEL);
ushc              468 drivers/mmc/host/ushc.c 	if (ushc->int_data == NULL) {
ushc              472 drivers/mmc/host/ushc.c 	usb_fill_int_urb(ushc->int_urb, ushc->usb_dev,
ushc              475 drivers/mmc/host/ushc.c 			 ushc->int_data, sizeof(struct ushc_int_data),
ushc              476 drivers/mmc/host/ushc.c 			 int_callback, ushc,
ushc              479 drivers/mmc/host/ushc.c 	ushc->cbw_urb = usb_alloc_urb(0, GFP_KERNEL);
ushc              480 drivers/mmc/host/ushc.c 	if (ushc->cbw_urb == NULL) {
ushc              484 drivers/mmc/host/ushc.c 	ushc->cbw = kzalloc(sizeof(struct ushc_cbw), GFP_KERNEL);
ushc              485 drivers/mmc/host/ushc.c 	if (ushc->cbw == NULL) {
ushc              489 drivers/mmc/host/ushc.c 	ushc->cbw->signature = USHC_CBW_SIGNATURE;
ushc              491 drivers/mmc/host/ushc.c 	usb_fill_bulk_urb(ushc->cbw_urb, ushc->usb_dev, usb_sndbulkpipe(usb_dev, 2),
ushc              492 drivers/mmc/host/ushc.c 			  ushc->cbw, sizeof(struct ushc_cbw),
ushc              493 drivers/mmc/host/ushc.c 			  cbw_callback, ushc);
ushc              495 drivers/mmc/host/ushc.c 	ushc->data_urb = usb_alloc_urb(0, GFP_KERNEL);
ushc              496 drivers/mmc/host/ushc.c 	if (ushc->data_urb == NULL) {
ushc              501 drivers/mmc/host/ushc.c 	ushc->csw_urb = usb_alloc_urb(0, GFP_KERNEL);
ushc              502 drivers/mmc/host/ushc.c 	if (ushc->csw_urb == NULL) {
ushc              506 drivers/mmc/host/ushc.c 	ushc->csw = kzalloc(sizeof(struct ushc_csw), GFP_KERNEL);
ushc              507 drivers/mmc/host/ushc.c 	if (ushc->csw == NULL) {
ushc              511 drivers/mmc/host/ushc.c 	usb_fill_bulk_urb(ushc->csw_urb, ushc->usb_dev, usb_rcvbulkpipe(usb_dev, 6),
ushc              512 drivers/mmc/host/ushc.c 			  ushc->csw, sizeof(struct ushc_csw),
ushc              513 drivers/mmc/host/ushc.c 			  csw_callback, ushc);
ushc              515 drivers/mmc/host/ushc.c 	ret = mmc_add_host(ushc->mmc);
ushc              519 drivers/mmc/host/ushc.c 	ret = usb_submit_urb(ushc->int_urb, GFP_KERNEL);
ushc              521 drivers/mmc/host/ushc.c 		mmc_remove_host(ushc->mmc);
ushc              528 drivers/mmc/host/ushc.c 	ushc_clean_up(ushc);
ushc              534 drivers/mmc/host/ushc.c 	struct ushc_data *ushc = usb_get_intfdata(intf);
ushc              536 drivers/mmc/host/ushc.c 	spin_lock_irq(&ushc->lock);
ushc              537 drivers/mmc/host/ushc.c 	set_bit(DISCONNECTED, &ushc->flags);
ushc              538 drivers/mmc/host/ushc.c 	spin_unlock_irq(&ushc->lock);
ushc              540 drivers/mmc/host/ushc.c 	usb_kill_urb(ushc->int_urb);
ushc              541 drivers/mmc/host/ushc.c 	usb_kill_urb(ushc->cbw_urb);
ushc              542 drivers/mmc/host/ushc.c 	usb_kill_urb(ushc->data_urb);
ushc              543 drivers/mmc/host/ushc.c 	usb_kill_urb(ushc->csw_urb);
ushc              545 drivers/mmc/host/ushc.c 	mmc_remove_host(ushc->mmc);
ushc              547 drivers/mmc/host/ushc.c 	ushc_clean_up(ushc);