/Linux-v5.10/drivers/usb/core/ |
D | hcd.c | 38 #include <linux/usb/hcd.h> 51 * HCD-specific behaviors/bugs. 60 * tracking overhead. The HCD code should only block on spinlocks or on 65 * and includes mostly a "HCDI" (HCD Interface) along with some APIs used 428 * @hcd: the host controller for this root hub 439 rh_string(int id, struct usb_hcd const *hcd, u8 *data, unsigned len) in rh_string() argument 456 s = hcd->self.bus_name; in rh_string() 460 s = hcd->product_desc; in rh_string() 465 init_utsname()->release, hcd->driver->description); in rh_string() 478 static int rh_call_control (struct usb_hcd *hcd, struct urb *urb) in rh_call_control() argument [all …]
|
D | hcd-pci.c | 10 #include <linux/usb/hcd.h> 42 typedef void (*companion_fn)(struct pci_dev *pdev, struct usb_hcd *hcd, 46 static void for_each_companion(struct pci_dev *pdev, struct usb_hcd *hcd, in for_each_companion() argument 75 fn(pdev, hcd, companion, companion_hcd); in for_each_companion() 85 static void ehci_pre_add(struct pci_dev *pdev, struct usb_hcd *hcd, in ehci_pre_add() argument 102 static void ehci_post_add(struct pci_dev *pdev, struct usb_hcd *hcd, in ehci_post_add() argument 111 companion_hcd->self.hs_companion = &hcd->self; in ehci_post_add() 123 static void non_ehci_add(struct pci_dev *pdev, struct usb_hcd *hcd, in non_ehci_add() argument 129 hcd->self.hs_companion = &companion_hcd->self; in non_ehci_add() 134 static void ehci_remove(struct pci_dev *pdev, struct usb_hcd *hcd, in ehci_remove() argument [all …]
|
D | buffer.c | 3 * DMA memory management for framework level HCD code (hc_driver) 21 #include <linux/usb/hcd.h> 53 * @hcd: the bus whose buffer pools are to be initialized 64 int hcd_buffer_create(struct usb_hcd *hcd) in hcd_buffer_create() argument 69 if (hcd->localmem_pool || !hcd_uses_dma(hcd)) in hcd_buffer_create() 77 hcd->pool[i] = dma_pool_create(name, hcd->self.sysdev, in hcd_buffer_create() 79 if (!hcd->pool[i]) { in hcd_buffer_create() 80 hcd_buffer_destroy(hcd); in hcd_buffer_create() 90 * @hcd: the bus whose buffer pools are to be destroyed 95 void hcd_buffer_destroy(struct usb_hcd *hcd) in hcd_buffer_destroy() argument [all …]
|
/Linux-v5.10/drivers/usb/host/ |
D | ohci-da8xx.c | 3 * OHCI HCD (Host Controller Driver) for USB. 23 #include <linux/usb/hcd.h> 33 static int (*orig_ohci_hub_control)(struct usb_hcd *hcd, u16 typeReq, 35 static int (*orig_ohci_hub_status_data)(struct usb_hcd *hcd, char *buf); 38 struct usb_hcd *hcd; member 46 #define to_da8xx_ohci(hcd) (struct da8xx_ohci_hcd *)(hcd_to_ohci(hcd)->priv) argument 51 static int ohci_da8xx_enable(struct usb_hcd *hcd) in ohci_da8xx_enable() argument 53 struct da8xx_ohci_hcd *da8xx_ohci = to_da8xx_ohci(hcd); in ohci_da8xx_enable() 78 static void ohci_da8xx_disable(struct usb_hcd *hcd) in ohci_da8xx_disable() argument 80 struct da8xx_ohci_hcd *da8xx_ohci = to_da8xx_ohci(hcd); in ohci_da8xx_disable() [all …]
|
D | ohci-ps3.c | 12 static int ps3_ohci_hc_reset(struct usb_hcd *hcd) in ps3_ohci_hc_reset() argument 14 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ps3_ohci_hc_reset() 21 static int ps3_ohci_hc_start(struct usb_hcd *hcd) in ps3_ohci_hc_start() argument 24 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ps3_ohci_hc_start() 36 dev_err(hcd->self.controller, "can't start %s\n", in ps3_ohci_hc_start() 37 hcd->self.bus_name); in ps3_ohci_hc_start() 38 ohci_stop(hcd); in ps3_ohci_hc_start() 70 struct usb_hcd *hcd; in ps3_ohci_probe() local 122 hcd = usb_create_hcd(&ps3_ohci_hc_driver, &dev->core, dev_name(&dev->core)); in ps3_ohci_probe() 124 if (!hcd) { in ps3_ohci_probe() [all …]
|
D | xhci-plat.c | 30 static int xhci_plat_setup(struct usb_hcd *hcd); 31 static int xhci_plat_start(struct usb_hcd *hcd); 39 static void xhci_priv_plat_start(struct usb_hcd *hcd) in xhci_priv_plat_start() argument 41 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_plat_start() 44 priv->plat_start(hcd); in xhci_priv_plat_start() 47 static int xhci_priv_init_quirk(struct usb_hcd *hcd) in xhci_priv_init_quirk() argument 49 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_init_quirk() 54 return priv->init_quirk(hcd); in xhci_priv_init_quirk() 57 static int xhci_priv_suspend_quirk(struct usb_hcd *hcd) in xhci_priv_suspend_quirk() argument 59 struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); in xhci_priv_suspend_quirk() [all …]
|
D | max3421-hcd.c | 18 * For USB HCD implementation. 63 #include <linux/usb/hcd.h> 66 #include <linux/platform_data/max3421-hcd.h> 140 * SPI-thread without acquiring the HCD lock: 341 hcd_to_max3421(struct usb_hcd *hcd) in hcd_to_max3421() argument 343 return (struct max3421_hcd *) hcd->hcd_priv; in hcd_to_max3421() 353 spi_rd8(struct usb_hcd *hcd, unsigned int reg) in spi_rd8() argument 355 struct max3421_hcd *max3421_hcd = hcd_to_max3421(hcd); in spi_rd8() 356 struct spi_device *spi = to_spi_device(hcd->self.controller); in spi_rd8() 379 spi_wr8(struct usb_hcd *hcd, unsigned int reg, u8 val) in spi_wr8() argument [all …]
|
D | ehci-sh.c | 14 struct usb_hcd *hcd; member 17 static int ehci_sh_reset(struct usb_hcd *hcd) in ehci_sh_reset() argument 19 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_sh_reset() 21 ehci->caps = hcd->regs; in ehci_sh_reset() 23 return ehci_setup(hcd); in ehci_sh_reset() 78 struct usb_hcd *hcd; in ehci_hcd_sh_probe() local 90 /* initialize hcd */ in ehci_hcd_sh_probe() 91 hcd = usb_create_hcd(&ehci_sh_hc_driver, &pdev->dev, in ehci_hcd_sh_probe() 93 if (!hcd) { in ehci_hcd_sh_probe() 99 hcd->regs = devm_ioremap_resource(&pdev->dev, res); in ehci_hcd_sh_probe() [all …]
|
D | ehci-ps3.c | 40 static int ps3_ehci_hc_reset(struct usb_hcd *hcd) in ps3_ehci_hc_reset() argument 43 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ps3_ehci_hc_reset() 46 ehci->caps = hcd->regs; in ps3_ehci_hc_reset() 48 result = ehci_setup(hcd); in ps3_ehci_hc_reset() 87 struct usb_hcd *hcd; in ps3_ehci_probe() local 138 hcd = usb_create_hcd(&ps3_ehci_hc_driver, &dev->core, dev_name(&dev->core)); in ps3_ehci_probe() 140 if (!hcd) { in ps3_ehci_probe() 147 hcd->rsrc_start = dev->m_region->lpar_addr; in ps3_ehci_probe() 148 hcd->rsrc_len = dev->m_region->len; in ps3_ehci_probe() 150 if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) in ps3_ehci_probe() [all …]
|
D | ehci-fsl.c | 21 #include <linux/usb/hcd.h> 50 struct usb_hcd *hcd; in fsl_ehci_drv_probe() local 88 hcd = __usb_create_hcd(&fsl_ehci_hc_driver, pdev->dev.parent, in fsl_ehci_drv_probe() 90 if (!hcd) { in fsl_ehci_drv_probe() 96 hcd->regs = devm_ioremap_resource(&pdev->dev, res); in fsl_ehci_drv_probe() 97 if (IS_ERR(hcd->regs)) { in fsl_ehci_drv_probe() 98 retval = PTR_ERR(hcd->regs); in fsl_ehci_drv_probe() 102 hcd->rsrc_start = res->start; in fsl_ehci_drv_probe() 103 hcd->rsrc_len = resource_size(res); in fsl_ehci_drv_probe() 105 pdata->regs = hcd->regs; in fsl_ehci_drv_probe() [all …]
|
D | ohci-sm501.c | 3 * OHCI HCD (Host Controller Driver) for USB. 22 static int ohci_sm501_init(struct usb_hcd *hcd) in ohci_sm501_init() argument 24 return ohci_init(hcd_to_ohci(hcd)); in ohci_sm501_init() 27 static int ohci_sm501_start(struct usb_hcd *hcd) in ohci_sm501_start() argument 29 struct device *dev = hcd->self.controller; in ohci_sm501_start() 32 ret = ohci_run(hcd_to_ohci(hcd)); in ohci_sm501_start() 34 dev_err(dev, "can't start %s", hcd->self.bus_name); in ohci_sm501_start() 35 ohci_stop(hcd); in ohci_sm501_start() 94 struct usb_hcd *hcd = NULL; in ohci_hcd_sm501_drv_probe() local 121 hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev)); in ohci_hcd_sm501_drv_probe() [all …]
|
D | ehci-brcm.c | 12 #include <linux/usb/hcd.h> 48 * The fix is to Intercept the echi-hcd request to complete RESUME and 53 struct usb_hcd *hcd, in ehci_brcm_hub_control() argument 60 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_brcm_hub_control() 87 retval = ehci_hub_control(hcd, typeReq, wValue, wIndex, buf, wLength); in ehci_brcm_hub_control() 93 static int ehci_brcm_reset(struct usb_hcd *hcd) in ehci_brcm_reset() argument 95 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_brcm_reset() 100 ehci->caps = (void __iomem *)hcd->regs; in ehci_brcm_reset() 102 ehci->regs = (void __iomem *)(hcd->regs + len); in ehci_brcm_reset() 116 return ehci_setup(hcd); in ehci_brcm_reset() [all …]
|
D | ohci-tmio.c | 3 * OHCI HCD(Host Controller Driver) for USB. 69 #define hcd_to_tmio(hcd) ((struct tmio_hcd *)(hcd_to_ohci(hcd) + 1)) argument 75 struct usb_hcd *hcd = platform_get_drvdata(dev); in tmio_write_pm() local 76 struct tmio_hcd *tmio = hcd_to_tmio(hcd); in tmio_write_pm() 91 struct usb_hcd *hcd = platform_get_drvdata(dev); in tmio_stop_hc() local 92 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in tmio_stop_hc() 93 struct tmio_hcd *tmio = hcd_to_tmio(hcd); in tmio_stop_hc() 119 struct usb_hcd *hcd = platform_get_drvdata(dev); in tmio_start_hc() local 120 struct tmio_hcd *tmio = hcd_to_tmio(hcd); in tmio_start_hc() 121 unsigned long base = hcd->rsrc_start; in tmio_start_hc() [all …]
|
D | ohci-spear.c | 3 * OHCI HCD (Host Controller Driver) for USB. 20 #include <linux/usb/hcd.h> 31 #define to_spear_ohci(hcd) (struct spear_ohci *)(hcd_to_ohci(hcd)->priv) argument 38 struct usb_hcd *hcd = NULL; in spear_ohci_hcd_drv_probe() local 66 hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev)); in spear_ohci_hcd_drv_probe() 67 if (!hcd) { in spear_ohci_hcd_drv_probe() 73 hcd->regs = devm_ioremap_resource(&pdev->dev, res); in spear_ohci_hcd_drv_probe() 74 if (IS_ERR(hcd->regs)) { in spear_ohci_hcd_drv_probe() 75 retval = PTR_ERR(hcd->regs); in spear_ohci_hcd_drv_probe() 79 hcd->rsrc_start = pdev->resource[0].start; in spear_ohci_hcd_drv_probe() [all …]
|
D | ehci-spear.c | 3 * Driver for EHCI HCD on SPEAr SOC 21 #include <linux/usb/hcd.h> 33 #define to_spear_ehci(hcd) (struct spear_ehci *)(hcd_to_ehci(hcd)->priv) argument 39 struct usb_hcd *hcd = dev_get_drvdata(dev); in ehci_spear_drv_suspend() local 42 return ehci_suspend(hcd, do_wakeup); in ehci_spear_drv_suspend() 47 struct usb_hcd *hcd = dev_get_drvdata(dev); in ehci_spear_drv_resume() local 49 ehci_resume(hcd, false); in ehci_spear_drv_resume() 58 struct usb_hcd *hcd ; in spear_ehci_hcd_drv_probe() local 90 hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev)); in spear_ehci_hcd_drv_probe() 91 if (!hcd) { in spear_ehci_hcd_drv_probe() [all …]
|
D | Makefile | 9 fhci-y := fhci-hcd.o fhci-hub.o fhci-q.o 14 xhci-hcd-y := xhci.o xhci-mem.o xhci-ext-caps.o 15 xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o 16 xhci-hcd-y += xhci-trace.o 19 xhci-hcd-y += xhci-dbgcap.o xhci-dbgtty.o 23 xhci-hcd-y += xhci-mtk-sch.o 26 xhci-plat-hcd-y := xhci-plat.o 28 xhci-plat-hcd-y += xhci-mvebu.o 31 xhci-plat-hcd-y += xhci-rcar.o 35 xhci-hcd-y += xhci-debugfs.o [all …]
|
D | ohci-omap.c | 3 * OHCI HCD (Host Controller Driver) for USB. 30 #include <linux/usb/hcd.h> 166 struct usb_hcd *hcd = ohci_to_hcd(ohci); in start_hnp() local 167 const unsigned port = hcd->self.otg_port - 1; in start_hnp() 171 otg_start_hnp(hcd->usb_phy->otg); in start_hnp() 174 hcd->usb_phy->otg->state = OTG_STATE_A_SUSPEND; in start_hnp() 186 static int ohci_omap_reset(struct usb_hcd *hcd) in ohci_omap_reset() argument 188 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_omap_reset() 189 struct omap_usb_config *config = dev_get_platdata(hcd->self.controller); in ohci_omap_reset() 190 struct ohci_omap_priv *priv = hcd_to_ohci_omap_priv(hcd); in ohci_omap_reset() [all …]
|
D | ehci-xilinx-of.c | 3 * EHCI HCD (Host Controller Driver) for USB. 24 * @hcd: Pointer to the usb_hcd device to which the host controller bound 36 static int ehci_xilinx_port_handed_over(struct usb_hcd *hcd, int portnum) in ehci_xilinx_port_handed_over() argument 38 dev_warn(hcd->self.controller, "port %d cannot be enabled\n", portnum); in ehci_xilinx_port_handed_over() 39 if (hcd->has_tt) { in ehci_xilinx_port_handed_over() 40 dev_warn(hcd->self.controller, in ehci_xilinx_port_handed_over() 43 dev_warn(hcd->self.controller, in ehci_xilinx_port_handed_over() 46 dev_warn(hcd->self.controller, in ehci_xilinx_port_handed_over() 48 dev_warn(hcd->self.controller, in ehci_xilinx_port_handed_over() 51 dev_warn(hcd->self.controller, in ehci_xilinx_port_handed_over() [all …]
|
D | ohci-s3c2410.c | 3 * OHCI HCD (Host Controller Driver) for USB. 30 #include <linux/usb/hcd.h> 37 /* clock device associated with the hcd */ 55 static struct s3c2410_hcd_info *to_s3c2410_info(struct usb_hcd *hcd) in to_s3c2410_info() argument 57 return dev_get_platdata(hcd->self.controller); in to_s3c2410_info() 60 static void s3c2410_start_hc(struct platform_device *dev, struct usb_hcd *hcd) in s3c2410_start_hc() argument 72 info->hcd = hcd; in s3c2410_start_hc() 88 info->hcd = NULL; in s3c2410_stop_hc() 105 ohci_s3c2410_hub_status_data(struct usb_hcd *hcd, char *buf) in ohci_s3c2410_hub_status_data() argument 107 struct s3c2410_hcd_info *info = to_s3c2410_info(hcd); in ohci_s3c2410_hub_status_data() [all …]
|
D | ohci-exynos.c | 18 #include <linux/usb/hcd.h> 27 #define to_exynos_ohci(hcd) (struct exynos_ohci_hcd *)(hcd_to_ohci(hcd)->priv) argument 95 struct usb_hcd *hcd = dev_get_drvdata(dev); in exynos_ohci_phy_enable() local 96 struct exynos_ohci_hcd *exynos_ohci = to_exynos_ohci(hcd); in exynos_ohci_phy_enable() 113 struct usb_hcd *hcd = dev_get_drvdata(dev); in exynos_ohci_phy_disable() local 114 struct exynos_ohci_hcd *exynos_ohci = to_exynos_ohci(hcd); in exynos_ohci_phy_disable() 125 struct usb_hcd *hcd; in exynos_ohci_probe() local 139 hcd = usb_create_hcd(&exynos_ohci_hc_driver, in exynos_ohci_probe() 141 if (!hcd) { in exynos_ohci_probe() 142 dev_err(&pdev->dev, "Unable to create HCD\n"); in exynos_ohci_probe() [all …]
|
D | ohci-sa1111.c | 3 * OHCI HCD (Host Controller Driver) for USB. 44 static void dump_hci_status(struct usb_hcd *hcd, const char *label) 46 unsigned long status = readl_relaxed(hcd->regs + USB_STATUS); 57 static int ohci_sa1111_reset(struct usb_hcd *hcd) in ohci_sa1111_reset() argument 59 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_sa1111_reset() 65 static int ohci_sa1111_start(struct usb_hcd *hcd) in ohci_sa1111_start() argument 67 struct ohci_hcd *ohci = hcd_to_ohci(hcd); in ohci_sa1111_start() 73 ohci_stop(hcd); in ohci_sa1111_start() 177 * then invokes the start() method for the HCD associated with it. 181 struct usb_hcd *hcd; in ohci_hcd_sa1111_probe() local [all …]
|
D | ehci-pmcmsp.c | 70 static int ehci_msp_setup(struct usb_hcd *hcd) in ehci_msp_setup() argument 72 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_msp_setup() 78 ehci->caps = hcd->regs; in ehci_msp_setup() 79 hcd->has_tt = 1; in ehci_msp_setup() 81 retval = ehci_setup(hcd); in ehci_msp_setup() 153 * then invokes the start() method for the HCD associated with it 161 struct usb_hcd *hcd; in usb_hcd_msp_probe() local 165 hcd = usb_create_hcd(driver, &dev->dev, "pmcmsp"); in usb_hcd_msp_probe() 166 if (!hcd) in usb_hcd_msp_probe() 175 hcd->rsrc_start = res->start; in usb_hcd_msp_probe() [all …]
|
/Linux-v5.10/drivers/usb/isp1760/ |
D | isp1760-hcd.c | 21 #include <linux/usb/hcd.h> 32 #include "isp1760-hcd.h" 39 typedef void (packet_enqueue)(struct usb_hcd *hcd, struct isp1760_qh *qh, 42 static inline struct isp1760_hcd *hcd_to_priv(struct usb_hcd *hcd) in hcd_to_priv() argument 44 return *(struct isp1760_hcd **)hcd->hcd_priv; in hcd_to_priv() 126 /* the rest is HCD-private */ 337 static void alloc_mem(struct usb_hcd *hcd, struct isp1760_qtd *qtd) in alloc_mem() argument 339 struct isp1760_hcd *priv = hcd_to_priv(hcd); in alloc_mem() 357 static void free_mem(struct usb_hcd *hcd, struct isp1760_qtd *qtd) in free_mem() argument 359 struct isp1760_hcd *priv = hcd_to_priv(hcd); in free_mem() [all …]
|
/Linux-v5.10/drivers/staging/greybus/ |
D | usb.c | 12 #include <linux/usb/hcd.h> 38 static inline struct gb_usb_device *to_gb_usb_device(struct usb_hcd *hcd) in to_gb_usb_device() argument 40 return (struct gb_usb_device *)hcd->hcd_priv; in to_gb_usb_device() 48 static void hcd_stop(struct usb_hcd *hcd) in hcd_stop() argument 50 struct gb_usb_device *dev = to_gb_usb_device(hcd); in hcd_stop() 56 dev_err(&dev->gbphy_dev->dev, "HCD stop failed '%d'\n", ret); in hcd_stop() 59 static int hcd_start(struct usb_hcd *hcd) in hcd_start() argument 61 struct usb_bus *bus = hcd_to_bus(hcd); in hcd_start() 62 struct gb_usb_device *dev = to_gb_usb_device(hcd); in hcd_start() 68 dev_err(&dev->gbphy_dev->dev, "HCD start failed '%d'\n", ret); in hcd_start() [all …]
|
/Linux-v5.10/drivers/usb/chipidea/ |
D | host.c | 13 #include <linux/usb/hcd.h> 25 static int (*orig_bus_suspend)(struct usb_hcd *hcd); 32 static int ehci_ci_portpower(struct usb_hcd *hcd, int portnum, bool enable) in ehci_ci_portpower() argument 34 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_ci_portpower() 36 struct device *dev = hcd->self.controller; in ehci_ci_portpower() 71 static int ehci_ci_reset(struct usb_hcd *hcd) in ehci_ci_reset() argument 73 struct device *dev = hcd->self.controller; in ehci_ci_reset() 75 struct ehci_hcd *ehci = hcd_to_ehci(hcd); in ehci_ci_reset() 78 ret = ehci_setup(hcd); in ehci_ci_reset() 104 return usb_hcd_irq(ci->irq, ci->hcd); in host_irq() [all …]
|