File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed
drivers/pci/controller/dwc Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -121,7 +121,7 @@ config PCI_IMX6_EP
121121 DesignWare core functions to implement the driver.
122122
123123config PCI_LAYERSCAPE
124- bool "Freescale Layerscape PCIe controller (host mode)"
124+ tristate "Freescale Layerscape PCIe controller (host mode)"
125125 depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
126126 depends on PCI_MSI
127127 select PCIE_DW_HOST
Original file line number Diff line number Diff line change 1313#include <linux/interrupt.h>
1414#include <linux/init.h>
1515#include <linux/iopoll.h>
16+ #include <linux/module.h>
1617#include <linux/of_pci.h>
1718#include <linux/of_platform.h>
1819#include <linux/of_address.h>
@@ -403,13 +404,26 @@ static const struct dev_pm_ops ls_pcie_pm_ops = {
403404 NOIRQ_SYSTEM_SLEEP_PM_OPS (ls_pcie_suspend_noirq , ls_pcie_resume_noirq )
404405};
405406
407+ static void ls_pcie_remove (struct platform_device * pdev )
408+ {
409+ struct ls_pcie * pcie = platform_get_drvdata (pdev );
410+
411+ dw_pcie_host_deinit (& pcie -> pci -> pp );
412+ }
413+
406414static struct platform_driver ls_pcie_driver = {
407415 .probe = ls_pcie_probe ,
416+ .remove = ls_pcie_remove ,
408417 .driver = {
409418 .name = "layerscape-pcie" ,
410419 .of_match_table = ls_pcie_of_match ,
411420 .suppress_bind_attrs = true,
412421 .pm = & ls_pcie_pm_ops ,
413422 },
414423};
415- builtin_platform_driver (ls_pcie_driver );
424+ module_platform_driver (ls_pcie_driver );
425+
426+ MODULE_AUTHOR ("Minghuan Lian <Minghuan.Lian@freescale.com>" );
427+ MODULE_DESCRIPTION ("Layerscape PCIe host controller driver" );
428+ MODULE_LICENSE ("GPL" );
429+ MODULE_DEVICE_TABLE (of , ls_pcie_of_match );
You can’t perform that action at this time.
0 commit comments