hsudc 178 drivers/usb/gadget/udc/s3c-hsudc.c static inline void set_index(struct s3c_hsudc *hsudc, int ep_addr) hsudc 181 drivers/usb/gadget/udc/s3c-hsudc.c writel(ep_addr, hsudc->regs + S3C_IR); hsudc 246 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc = hsep->dev; hsudc 252 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = WAIT_FOR_SETUP; hsudc 257 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock(&hsudc->lock); hsudc 259 drivers/usb/gadget/udc/s3c-hsudc.c spin_lock(&hsudc->lock); hsudc 286 drivers/usb/gadget/udc/s3c-hsudc.c static void s3c_hsudc_stop_activity(struct s3c_hsudc *hsudc) hsudc 291 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.speed = USB_SPEED_UNKNOWN; hsudc 293 drivers/usb/gadget/udc/s3c-hsudc.c for (epnum = 0; epnum < hsudc->pd->epnum; epnum++) { hsudc 294 drivers/usb/gadget/udc/s3c-hsudc.c hsep = &hsudc->ep[epnum]; hsudc 309 drivers/usb/gadget/udc/s3c-hsudc.c static void s3c_hsudc_read_setup_pkt(struct s3c_hsudc *hsudc, u16 *buf) hsudc 313 drivers/usb/gadget/udc/s3c-hsudc.c count = readl(hsudc->regs + S3C_BRCR); hsudc 315 drivers/usb/gadget/udc/s3c-hsudc.c *buf++ = (u16)readl(hsudc->regs + S3C_BR(0)); hsudc 317 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_EP0SR_RX_SUCCESS, hsudc->regs + S3C_EP0SR); hsudc 377 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc = hsep->dev; hsudc 385 drivers/usb/gadget/udc/s3c-hsudc.c csr = readl(hsudc->regs + offset); hsudc 393 drivers/usb/gadget/udc/s3c-hsudc.c rcnt = readl(hsudc->regs + S3C_BRCR); hsudc 409 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_ESR_RX_SUCCESS, hsudc->regs + offset); hsudc 427 drivers/usb/gadget/udc/s3c-hsudc.c static void s3c_hsudc_epin_intr(struct s3c_hsudc *hsudc, u32 ep_idx) hsudc 429 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc_ep *hsep = &hsudc->ep[ep_idx]; hsudc 433 drivers/usb/gadget/udc/s3c-hsudc.c csr = readl(hsudc->regs + S3C_ESR); hsudc 435 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_ESR_STALL, hsudc->regs + S3C_ESR); hsudc 440 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_ESR_TX_SUCCESS, hsudc->regs + S3C_ESR); hsudc 460 drivers/usb/gadget/udc/s3c-hsudc.c static void s3c_hsudc_epout_intr(struct s3c_hsudc *hsudc, u32 ep_idx) hsudc 462 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc_ep *hsep = &hsudc->ep[ep_idx]; hsudc 466 drivers/usb/gadget/udc/s3c-hsudc.c csr = readl(hsudc->regs + S3C_ESR); hsudc 468 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_ESR_STALL, hsudc->regs + S3C_ESR); hsudc 473 drivers/usb/gadget/udc/s3c-hsudc.c __orr32(hsudc->regs + S3C_ECR, S3C_ECR_FLUSH); hsudc 500 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc = hsep->dev; hsudc 509 drivers/usb/gadget/udc/s3c-hsudc.c spin_lock_irqsave(&hsudc->lock, irqflags); hsudc 510 drivers/usb/gadget/udc/s3c-hsudc.c set_index(hsudc, ep_index(hsep)); hsudc 512 drivers/usb/gadget/udc/s3c-hsudc.c ecr = readl(hsudc->regs + offset); hsudc 523 drivers/usb/gadget/udc/s3c-hsudc.c writel(ecr, hsudc->regs + offset); hsudc 532 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock_irqrestore(&hsudc->lock, irqflags); hsudc 558 drivers/usb/gadget/udc/s3c-hsudc.c static int s3c_hsudc_handle_reqfeat(struct s3c_hsudc *hsudc, hsudc 566 drivers/usb/gadget/udc/s3c-hsudc.c hsep = &hsudc->ep[ep_num]; hsudc 585 drivers/usb/gadget/udc/s3c-hsudc.c static void s3c_hsudc_process_req_status(struct s3c_hsudc *hsudc, hsudc 588 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc_ep *hsep0 = &hsudc->ep[0]; hsudc 605 drivers/usb/gadget/udc/s3c-hsudc.c hsep = &hsudc->ep[epnum]; hsudc 625 drivers/usb/gadget/udc/s3c-hsudc.c static void s3c_hsudc_process_setup(struct s3c_hsudc *hsudc) hsudc 627 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc_ep *hsep = &hsudc->ep[0]; hsudc 632 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_read_setup_pkt(hsudc, (u16 *)&ctrl); hsudc 636 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = DATA_STATE_XMIT; hsudc 639 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = DATA_STATE_RECV; hsudc 646 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = WAIT_FOR_SETUP; hsudc 652 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_process_req_status(hsudc, &ctrl); hsudc 659 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_handle_reqfeat(hsudc, &ctrl); hsudc 660 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = WAIT_FOR_SETUP; hsudc 664 drivers/usb/gadget/udc/s3c-hsudc.c if (hsudc->driver) { hsudc 665 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock(&hsudc->lock); hsudc 666 drivers/usb/gadget/udc/s3c-hsudc.c ret = hsudc->driver->setup(&hsudc->gadget, &ctrl); hsudc 667 drivers/usb/gadget/udc/s3c-hsudc.c spin_lock(&hsudc->lock); hsudc 671 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = WAIT_FOR_SETUP; hsudc 675 drivers/usb/gadget/udc/s3c-hsudc.c dev_err(hsudc->dev, "setup failed, returned %d\n", hsudc 678 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = WAIT_FOR_SETUP; hsudc 691 drivers/usb/gadget/udc/s3c-hsudc.c static void s3c_hsudc_handle_ep0_intr(struct s3c_hsudc *hsudc) hsudc 693 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc_ep *hsep = &hsudc->ep[0]; hsudc 695 drivers/usb/gadget/udc/s3c-hsudc.c u32 csr = readl(hsudc->regs + S3C_EP0SR); hsudc 699 drivers/usb/gadget/udc/s3c-hsudc.c ecr = readl(hsudc->regs + S3C_EP0CR); hsudc 701 drivers/usb/gadget/udc/s3c-hsudc.c writel(ecr, hsudc->regs + S3C_EP0CR); hsudc 703 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_EP0SR_STALL, hsudc->regs + S3C_EP0SR); hsudc 707 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = WAIT_FOR_SETUP; hsudc 713 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_EP0SR_TX_SUCCESS, hsudc->regs + S3C_EP0SR); hsudc 725 drivers/usb/gadget/udc/s3c-hsudc.c if (hsudc->ep0state == WAIT_FOR_SETUP) hsudc 726 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_process_setup(hsudc); hsudc 752 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc; hsudc 768 drivers/usb/gadget/udc/s3c-hsudc.c hsudc = hsep->dev; hsudc 769 drivers/usb/gadget/udc/s3c-hsudc.c if (!hsudc->driver || hsudc->gadget.speed == USB_SPEED_UNKNOWN) hsudc 772 drivers/usb/gadget/udc/s3c-hsudc.c spin_lock_irqsave(&hsudc->lock, flags); hsudc 774 drivers/usb/gadget/udc/s3c-hsudc.c set_index(hsudc, hsep->bEndpointAddress); hsudc 776 drivers/usb/gadget/udc/s3c-hsudc.c writel(ecr, hsudc->regs + S3C_ECR); hsudc 783 drivers/usb/gadget/udc/s3c-hsudc.c __set_bit(ep_index(hsep), hsudc->regs + S3C_EIER); hsudc 785 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock_irqrestore(&hsudc->lock, flags); hsudc 799 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc = hsep->dev; hsudc 805 drivers/usb/gadget/udc/s3c-hsudc.c spin_lock_irqsave(&hsudc->lock, flags); hsudc 807 drivers/usb/gadget/udc/s3c-hsudc.c set_index(hsudc, hsep->bEndpointAddress); hsudc 808 drivers/usb/gadget/udc/s3c-hsudc.c __clear_bit(ep_index(hsep), hsudc->regs + S3C_EIER); hsudc 815 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock_irqrestore(&hsudc->lock, flags); hsudc 868 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc; hsudc 879 drivers/usb/gadget/udc/s3c-hsudc.c hsudc = hsep->dev; hsudc 880 drivers/usb/gadget/udc/s3c-hsudc.c if (!hsudc->driver || hsudc->gadget.speed == USB_SPEED_UNKNOWN) hsudc 883 drivers/usb/gadget/udc/s3c-hsudc.c spin_lock_irqsave(&hsudc->lock, flags); hsudc 884 drivers/usb/gadget/udc/s3c-hsudc.c set_index(hsudc, hsep->bEndpointAddress); hsudc 890 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = WAIT_FOR_SETUP; hsudc 892 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock_irqrestore(&hsudc->lock, flags); hsudc 899 drivers/usb/gadget/udc/s3c-hsudc.c csr = readl(hsudc->regs + offset); hsudc 904 drivers/usb/gadget/udc/s3c-hsudc.c csr = readl(hsudc->regs + offset); hsudc 914 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock_irqrestore(&hsudc->lock, flags); hsudc 928 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc = hsep->dev; hsudc 936 drivers/usb/gadget/udc/s3c-hsudc.c spin_lock_irqsave(&hsudc->lock, flags); hsudc 943 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock_irqrestore(&hsudc->lock, flags); hsudc 947 drivers/usb/gadget/udc/s3c-hsudc.c set_index(hsudc, hsep->bEndpointAddress); hsudc 950 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock_irqrestore(&hsudc->lock, flags); hsudc 973 drivers/usb/gadget/udc/s3c-hsudc.c static void s3c_hsudc_initep(struct s3c_hsudc *hsudc, hsudc 994 drivers/usb/gadget/udc/s3c-hsudc.c list_add_tail(&hsep->ep.ep_list, &hsudc->gadget.ep_list); hsudc 996 drivers/usb/gadget/udc/s3c-hsudc.c hsep->dev = hsudc; hsudc 1000 drivers/usb/gadget/udc/s3c-hsudc.c hsep->fifo = hsudc->regs + S3C_BR(epnum); hsudc 1020 drivers/usb/gadget/udc/s3c-hsudc.c set_index(hsudc, epnum); hsudc 1021 drivers/usb/gadget/udc/s3c-hsudc.c writel(hsep->ep.maxpacket, hsudc->regs + S3C_MPR); hsudc 1030 drivers/usb/gadget/udc/s3c-hsudc.c static void s3c_hsudc_setup_ep(struct s3c_hsudc *hsudc) hsudc 1034 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = WAIT_FOR_SETUP; hsudc 1035 drivers/usb/gadget/udc/s3c-hsudc.c INIT_LIST_HEAD(&hsudc->gadget.ep_list); hsudc 1036 drivers/usb/gadget/udc/s3c-hsudc.c for (epnum = 0; epnum < hsudc->pd->epnum; epnum++) hsudc 1037 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_initep(hsudc, &hsudc->ep[epnum], epnum); hsudc 1046 drivers/usb/gadget/udc/s3c-hsudc.c static void s3c_hsudc_reconfig(struct s3c_hsudc *hsudc) hsudc 1048 drivers/usb/gadget/udc/s3c-hsudc.c writel(0xAA, hsudc->regs + S3C_EDR); hsudc 1049 drivers/usb/gadget/udc/s3c-hsudc.c writel(1, hsudc->regs + S3C_EIER); hsudc 1050 drivers/usb/gadget/udc/s3c-hsudc.c writel(0, hsudc->regs + S3C_TR); hsudc 1052 drivers/usb/gadget/udc/s3c-hsudc.c S3C_SCR_RST_EN, hsudc->regs + S3C_SCR); hsudc 1053 drivers/usb/gadget/udc/s3c-hsudc.c writel(0, hsudc->regs + S3C_EP0CR); hsudc 1055 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_setup_ep(hsudc); hsudc 1068 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc = _dev; hsudc 1074 drivers/usb/gadget/udc/s3c-hsudc.c spin_lock(&hsudc->lock); hsudc 1076 drivers/usb/gadget/udc/s3c-hsudc.c sys_status = readl(hsudc->regs + S3C_SSR); hsudc 1077 drivers/usb/gadget/udc/s3c-hsudc.c ep_intr = readl(hsudc->regs + S3C_EIR) & 0x3FF; hsudc 1080 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock(&hsudc->lock); hsudc 1086 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_SSR_VBUSON, hsudc->regs + S3C_SSR); hsudc 1089 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_SSR_ERR, hsudc->regs + S3C_SSR); hsudc 1092 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_SSR_SDE, hsudc->regs + S3C_SSR); hsudc 1093 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.speed = (sys_status & S3C_SSR_HSP) ? hsudc 1098 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_SSR_SUSPEND, hsudc->regs + S3C_SSR); hsudc 1099 drivers/usb/gadget/udc/s3c-hsudc.c if (hsudc->gadget.speed != USB_SPEED_UNKNOWN hsudc 1100 drivers/usb/gadget/udc/s3c-hsudc.c && hsudc->driver && hsudc->driver->suspend) hsudc 1101 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->driver->suspend(&hsudc->gadget); hsudc 1105 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_SSR_RESUME, hsudc->regs + S3C_SSR); hsudc 1106 drivers/usb/gadget/udc/s3c-hsudc.c if (hsudc->gadget.speed != USB_SPEED_UNKNOWN hsudc 1107 drivers/usb/gadget/udc/s3c-hsudc.c && hsudc->driver && hsudc->driver->resume) hsudc 1108 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->driver->resume(&hsudc->gadget); hsudc 1112 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_SSR_RESET, hsudc->regs + S3C_SSR); hsudc 1113 drivers/usb/gadget/udc/s3c-hsudc.c for (ep_idx = 0; ep_idx < hsudc->pd->epnum; ep_idx++) { hsudc 1114 drivers/usb/gadget/udc/s3c-hsudc.c hsep = &hsudc->ep[ep_idx]; hsudc 1118 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_reconfig(hsudc); hsudc 1119 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->ep0state = WAIT_FOR_SETUP; hsudc 1124 drivers/usb/gadget/udc/s3c-hsudc.c writel(S3C_EIR_EP0, hsudc->regs + S3C_EIR); hsudc 1125 drivers/usb/gadget/udc/s3c-hsudc.c set_index(hsudc, 0); hsudc 1126 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_handle_ep0_intr(hsudc); hsudc 1133 drivers/usb/gadget/udc/s3c-hsudc.c hsep = &hsudc->ep[ep_idx]; hsudc 1134 drivers/usb/gadget/udc/s3c-hsudc.c set_index(hsudc, ep_idx); hsudc 1135 drivers/usb/gadget/udc/s3c-hsudc.c writel(1 << ep_idx, hsudc->regs + S3C_EIR); hsudc 1137 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_epin_intr(hsudc, ep_idx); hsudc 1139 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_epout_intr(hsudc, ep_idx); hsudc 1145 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock(&hsudc->lock); hsudc 1152 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc = to_hsudc(gadget); hsudc 1160 drivers/usb/gadget/udc/s3c-hsudc.c if (!hsudc) hsudc 1163 drivers/usb/gadget/udc/s3c-hsudc.c if (hsudc->driver) hsudc 1166 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->driver = driver; hsudc 1168 drivers/usb/gadget/udc/s3c-hsudc.c ret = regulator_bulk_enable(ARRAY_SIZE(hsudc->supplies), hsudc 1169 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->supplies); hsudc 1171 drivers/usb/gadget/udc/s3c-hsudc.c dev_err(hsudc->dev, "failed to enable supplies: %d\n", ret); hsudc 1176 drivers/usb/gadget/udc/s3c-hsudc.c if (!IS_ERR_OR_NULL(hsudc->transceiver)) { hsudc 1177 drivers/usb/gadget/udc/s3c-hsudc.c ret = otg_set_peripheral(hsudc->transceiver->otg, hsudc 1178 drivers/usb/gadget/udc/s3c-hsudc.c &hsudc->gadget); hsudc 1180 drivers/usb/gadget/udc/s3c-hsudc.c dev_err(hsudc->dev, "%s: can't bind to transceiver\n", hsudc 1181 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.name); hsudc 1186 drivers/usb/gadget/udc/s3c-hsudc.c enable_irq(hsudc->irq); hsudc 1187 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_reconfig(hsudc); hsudc 1189 drivers/usb/gadget/udc/s3c-hsudc.c pm_runtime_get_sync(hsudc->dev); hsudc 1192 drivers/usb/gadget/udc/s3c-hsudc.c if (hsudc->pd->gpio_init) hsudc 1193 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->pd->gpio_init(); hsudc 1197 drivers/usb/gadget/udc/s3c-hsudc.c regulator_bulk_disable(ARRAY_SIZE(hsudc->supplies), hsudc->supplies); hsudc 1199 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->driver = NULL; hsudc 1205 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc = to_hsudc(gadget); hsudc 1208 drivers/usb/gadget/udc/s3c-hsudc.c if (!hsudc) hsudc 1211 drivers/usb/gadget/udc/s3c-hsudc.c spin_lock_irqsave(&hsudc->lock, flags); hsudc 1212 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.speed = USB_SPEED_UNKNOWN; hsudc 1215 drivers/usb/gadget/udc/s3c-hsudc.c pm_runtime_put(hsudc->dev); hsudc 1217 drivers/usb/gadget/udc/s3c-hsudc.c if (hsudc->pd->gpio_uninit) hsudc 1218 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->pd->gpio_uninit(); hsudc 1219 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_stop_activity(hsudc); hsudc 1220 drivers/usb/gadget/udc/s3c-hsudc.c spin_unlock_irqrestore(&hsudc->lock, flags); hsudc 1222 drivers/usb/gadget/udc/s3c-hsudc.c if (!IS_ERR_OR_NULL(hsudc->transceiver)) hsudc 1223 drivers/usb/gadget/udc/s3c-hsudc.c (void) otg_set_peripheral(hsudc->transceiver->otg, NULL); hsudc 1225 drivers/usb/gadget/udc/s3c-hsudc.c disable_irq(hsudc->irq); hsudc 1227 drivers/usb/gadget/udc/s3c-hsudc.c regulator_bulk_disable(ARRAY_SIZE(hsudc->supplies), hsudc->supplies); hsudc 1228 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->driver = NULL; hsudc 1233 drivers/usb/gadget/udc/s3c-hsudc.c static inline u32 s3c_hsudc_read_frameno(struct s3c_hsudc *hsudc) hsudc 1235 drivers/usb/gadget/udc/s3c-hsudc.c return readl(hsudc->regs + S3C_FNR) & 0x3FF; hsudc 1245 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc = to_hsudc(gadget); hsudc 1247 drivers/usb/gadget/udc/s3c-hsudc.c if (!hsudc) hsudc 1250 drivers/usb/gadget/udc/s3c-hsudc.c if (!IS_ERR_OR_NULL(hsudc->transceiver)) hsudc 1251 drivers/usb/gadget/udc/s3c-hsudc.c return usb_phy_set_power(hsudc->transceiver, mA); hsudc 1267 drivers/usb/gadget/udc/s3c-hsudc.c struct s3c_hsudc *hsudc; hsudc 1271 drivers/usb/gadget/udc/s3c-hsudc.c hsudc = devm_kzalloc(&pdev->dev, sizeof(struct s3c_hsudc) + hsudc 1274 drivers/usb/gadget/udc/s3c-hsudc.c if (!hsudc) hsudc 1278 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->dev = dev; hsudc 1279 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->pd = dev_get_platdata(&pdev->dev); hsudc 1281 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->transceiver = usb_get_phy(USB_PHY_TYPE_USB2); hsudc 1283 drivers/usb/gadget/udc/s3c-hsudc.c for (i = 0; i < ARRAY_SIZE(hsudc->supplies); i++) hsudc 1284 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->supplies[i].supply = s3c_hsudc_supply_names[i]; hsudc 1286 drivers/usb/gadget/udc/s3c-hsudc.c ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(hsudc->supplies), hsudc 1287 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->supplies); hsudc 1295 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->regs = devm_ioremap_resource(&pdev->dev, res); hsudc 1296 drivers/usb/gadget/udc/s3c-hsudc.c if (IS_ERR(hsudc->regs)) { hsudc 1297 drivers/usb/gadget/udc/s3c-hsudc.c ret = PTR_ERR(hsudc->regs); hsudc 1301 drivers/usb/gadget/udc/s3c-hsudc.c spin_lock_init(&hsudc->lock); hsudc 1303 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.max_speed = USB_SPEED_HIGH; hsudc 1304 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.ops = &s3c_hsudc_gadget_ops; hsudc 1305 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.name = dev_name(dev); hsudc 1306 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.ep0 = &hsudc->ep[0].ep; hsudc 1307 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.is_otg = 0; hsudc 1308 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.is_a_peripheral = 0; hsudc 1309 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->gadget.speed = USB_SPEED_UNKNOWN; hsudc 1311 drivers/usb/gadget/udc/s3c-hsudc.c s3c_hsudc_setup_ep(hsudc); hsudc 1316 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->irq = ret; hsudc 1318 drivers/usb/gadget/udc/s3c-hsudc.c ret = devm_request_irq(&pdev->dev, hsudc->irq, s3c_hsudc_irq, 0, hsudc 1319 drivers/usb/gadget/udc/s3c-hsudc.c driver_name, hsudc); hsudc 1325 drivers/usb/gadget/udc/s3c-hsudc.c hsudc->uclk = devm_clk_get(&pdev->dev, "usb-device"); hsudc 1326 drivers/usb/gadget/udc/s3c-hsudc.c if (IS_ERR(hsudc->uclk)) { hsudc 1328 drivers/usb/gadget/udc/s3c-hsudc.c ret = PTR_ERR(hsudc->uclk); hsudc 1331 drivers/usb/gadget/udc/s3c-hsudc.c clk_enable(hsudc->uclk); hsudc 1335 drivers/usb/gadget/udc/s3c-hsudc.c disable_irq(hsudc->irq); hsudc 1338 drivers/usb/gadget/udc/s3c-hsudc.c ret = usb_add_gadget_udc(&pdev->dev, &hsudc->gadget); hsudc 1346 drivers/usb/gadget/udc/s3c-hsudc.c clk_disable(hsudc->uclk); hsudc 1348 drivers/usb/gadget/udc/s3c-hsudc.c if (!IS_ERR_OR_NULL(hsudc->transceiver)) hsudc 1349 drivers/usb/gadget/udc/s3c-hsudc.c usb_put_phy(hsudc->transceiver);