From 7766cafea0eca6a7cc0ffc947bc95be19295575f Mon Sep 17 00:00:00 2001 From: Al Cooper Date: Fri, 15 Jan 2021 16:31:42 -0500 Subject: [PATCH] usb: bdc: Remove the BDC PCI driver The BDC PCI driver was only used for design verification with an PCI/FPGA board. The board no longer exists and is not in use anywhere. All instances of this core now exist as a memory mapped device on the platform bus. NOTE: This only removes the PCI driver and does not remove the platform driver. Acked-by: Florian Fainelli Signed-off-by: Al Cooper Link: https://lore.kernel.org/r/20210115213142.35003-1-alcooperx@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/usb/gadget/udc/bdc/Kconfig | 11 --- drivers/usb/gadget/udc/bdc/Makefile | 2 - drivers/usb/gadget/udc/bdc/bdc_pci.c | 128 ----------------------------------- 3 files changed, 141 deletions(-) delete mode 100644 drivers/usb/gadget/udc/bdc/bdc_pci.c diff --git a/drivers/usb/gadget/udc/bdc/Kconfig b/drivers/usb/gadget/udc/bdc/Kconfig index 3e88c76..8bedb7f 100644 --- a/drivers/usb/gadget/udc/bdc/Kconfig +++ b/drivers/usb/gadget/udc/bdc/Kconfig @@ -11,14 +11,3 @@ config USB_BDC_UDC Say "y" here to link the driver statically, or "m" to build a dynamically linked module called "bdc". - -if USB_BDC_UDC - -comment "Platform Support" -config USB_BDC_PCI - tristate "BDC support for PCIe based platforms" - depends on USB_PCI - default USB_BDC_UDC - help - Enable support for platforms which have BDC connected through PCIe, such as Lego3 FPGA platform. -endif diff --git a/drivers/usb/gadget/udc/bdc/Makefile b/drivers/usb/gadget/udc/bdc/Makefile index 52cb5ea..1b21c95 100644 --- a/drivers/usb/gadget/udc/bdc/Makefile +++ b/drivers/usb/gadget/udc/bdc/Makefile @@ -5,5 +5,3 @@ bdc-y := bdc_core.o bdc_cmd.o bdc_ep.o bdc_udc.o ifneq ($(CONFIG_USB_GADGET_VERBOSE),) bdc-y += bdc_dbg.o endif - -obj-$(CONFIG_USB_BDC_PCI) += bdc_pci.o diff --git a/drivers/usb/gadget/udc/bdc/bdc_pci.c b/drivers/usb/gadget/udc/bdc/bdc_pci.c deleted file mode 100644 index 6dbc489..0000000 --- a/drivers/usb/gadget/udc/bdc/bdc_pci.c +++ /dev/null @@ -1,128 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * bdc_pci.c - BRCM BDC USB3.0 device controller PCI interface file. - * - * Copyright (C) 2014 Broadcom Corporation - * - * Author: Ashwini Pahuja - * - * Based on drivers under drivers/usb/ - */ - -#include -#include -#include -#include -#include -#include - -#include "bdc.h" - -#define BDC_PCI_PID 0x1570 - -struct bdc_pci { - struct device *dev; - struct platform_device *bdc; -}; - -static int bdc_setup_msi(struct pci_dev *pci) -{ - int ret; - - ret = pci_enable_msi(pci); - if (ret) { - pr_err("failed to allocate MSI entry\n"); - return ret; - } - - return ret; -} - -static int bdc_pci_probe(struct pci_dev *pci, const struct pci_device_id *id) -{ - struct resource res[2]; - struct platform_device *bdc; - struct bdc_pci *glue; - int ret = -ENOMEM; - - glue = devm_kzalloc(&pci->dev, sizeof(*glue), GFP_KERNEL); - if (!glue) - return -ENOMEM; - - glue->dev = &pci->dev; - ret = pci_enable_device(pci); - if (ret) { - dev_err(&pci->dev, "failed to enable pci device\n"); - return -ENODEV; - } - pci_set_master(pci); - - bdc = platform_device_alloc(BRCM_BDC_NAME, PLATFORM_DEVID_AUTO); - if (!bdc) - return -ENOMEM; - - memset(res, 0x00, sizeof(struct resource) * ARRAY_SIZE(res)); - bdc_setup_msi(pci); - - res[0].start = pci_resource_start(pci, 0); - res[0].end = pci_resource_end(pci, 0); - res[0].name = BRCM_BDC_NAME; - res[0].flags = IORESOURCE_MEM; - - res[1].start = pci->irq; - res[1].name = BRCM_BDC_NAME; - res[1].flags = IORESOURCE_IRQ; - - ret = platform_device_add_resources(bdc, res, ARRAY_SIZE(res)); - if (ret) { - dev_err(&pci->dev, - "couldn't add resources to bdc device\n"); - platform_device_put(bdc); - return ret; - } - - pci_set_drvdata(pci, glue); - - dma_set_coherent_mask(&bdc->dev, pci->dev.coherent_dma_mask); - - bdc->dev.dma_mask = pci->dev.dma_mask; - bdc->dev.dma_parms = pci->dev.dma_parms; - bdc->dev.parent = &pci->dev; - glue->bdc = bdc; - - ret = platform_device_add(bdc); - if (ret) { - dev_err(&pci->dev, "failed to register bdc device\n"); - platform_device_put(bdc); - return ret; - } - - return 0; -} - -static void bdc_pci_remove(struct pci_dev *pci) -{ - struct bdc_pci *glue = pci_get_drvdata(pci); - - platform_device_unregister(glue->bdc); - pci_disable_msi(pci); -} - -static struct pci_device_id bdc_pci_id_table[] = { - { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, BDC_PCI_PID), }, - {} /* Terminating Entry */ -}; - -MODULE_DEVICE_TABLE(pci, bdc_pci_id_table); - -static struct pci_driver bdc_pci_driver = { - .name = "bdc-pci", - .id_table = bdc_pci_id_table, - .probe = bdc_pci_probe, - .remove = bdc_pci_remove, -}; - -MODULE_AUTHOR("Ashwini Pahuja "); -MODULE_LICENSE("GPL"); -MODULE_DESCRIPTION("BRCM BDC USB3 PCI Glue layer"); -module_pci_driver(bdc_pci_driver); -- 2.7.4