usb: dwc3: initialize platform data at pci glue layer
This patch initializes platform data at pci glue layer, and SoCs x86-based platform vendor is able to define their flags in platform data at bus glue layer. Then do some independent behaviors at dwc3 core level. Signed-off-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
Родитель
946bd579a6
Коммит
8f317b4714
|
@ -25,6 +25,8 @@
|
||||||
#include <linux/usb/otg.h>
|
#include <linux/usb/otg.h>
|
||||||
#include <linux/usb/usb_phy_generic.h>
|
#include <linux/usb/usb_phy_generic.h>
|
||||||
|
|
||||||
|
#include "platform_data.h"
|
||||||
|
|
||||||
/* FIXME define these in <linux/pci_ids.h> */
|
/* FIXME define these in <linux/pci_ids.h> */
|
||||||
#define PCI_VENDOR_ID_SYNOPSYS 0x16c3
|
#define PCI_VENDOR_ID_SYNOPSYS 0x16c3
|
||||||
#define PCI_DEVICE_ID_SYNOPSYS_HAPSUSB3 0xabcd
|
#define PCI_DEVICE_ID_SYNOPSYS_HAPSUSB3 0xabcd
|
||||||
|
@ -102,6 +104,9 @@ static int dwc3_pci_probe(struct pci_dev *pci,
|
||||||
struct dwc3_pci *glue;
|
struct dwc3_pci *glue;
|
||||||
int ret;
|
int ret;
|
||||||
struct device *dev = &pci->dev;
|
struct device *dev = &pci->dev;
|
||||||
|
struct dwc3_platform_data dwc3_pdata;
|
||||||
|
|
||||||
|
memset(&dwc3_pdata, 0x00, sizeof(dwc3_pdata));
|
||||||
|
|
||||||
glue = devm_kzalloc(dev, sizeof(*glue), GFP_KERNEL);
|
glue = devm_kzalloc(dev, sizeof(*glue), GFP_KERNEL);
|
||||||
if (!glue)
|
if (!glue)
|
||||||
|
@ -148,6 +153,10 @@ static int dwc3_pci_probe(struct pci_dev *pci,
|
||||||
|
|
||||||
pci_set_drvdata(pci, glue);
|
pci_set_drvdata(pci, glue);
|
||||||
|
|
||||||
|
ret = platform_device_add_data(dwc3, &dwc3_pdata, sizeof(dwc3_pdata));
|
||||||
|
if (ret)
|
||||||
|
goto err3;
|
||||||
|
|
||||||
dma_set_coherent_mask(&dwc3->dev, dev->coherent_dma_mask);
|
dma_set_coherent_mask(&dwc3->dev, dev->coherent_dma_mask);
|
||||||
|
|
||||||
dwc3->dev.dma_mask = dev->dma_mask;
|
dwc3->dev.dma_mask = dev->dma_mask;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче