select PCIE_DW
 
 config PCI_DRA7XX
-       bool
+       tristate
 
 config PCI_DRA7XX_HOST
-       bool "TI DRA7xx PCIe controller Host Mode"
+       tristate "TI DRA7xx PCIe controller Host Mode"
        depends on SOC_DRA7XX || COMPILE_TEST
        depends on PCI_MSI_IRQ_DOMAIN
        depends on OF && HAS_IOMEM && TI_PIPE3
          This uses the DesignWare core.
 
 config PCI_DRA7XX_EP
-       bool "TI DRA7xx PCIe controller Endpoint Mode"
+       tristate "TI DRA7xx PCIe controller Endpoint Mode"
        depends on SOC_DRA7XX || COMPILE_TEST
        depends on PCI_ENDPOINT
        depends on OF && HAS_IOMEM && TI_PIPE3
 
 #include <linux/irqdomain.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
+#include <linux/module.h>
 #include <linux/of_device.h>
 #include <linux/of_gpio.h>
 #include <linux/of_pci.h>
        },
        {},
 };
+MODULE_DEVICE_TABLE(of, of_dra7xx_pcie_match);
 
 /*
  * dra7xx_pcie_unaligned_memaccess: workaround for AM572x/AM571x Errata i870
        },
        .shutdown = dra7xx_pcie_shutdown,
 };
-builtin_platform_driver(dra7xx_pcie_driver);
+module_platform_driver(dra7xx_pcie_driver);
+
+MODULE_AUTHOR("Kishon Vijay Abraham I <kishon@ti.com>");
+MODULE_DESCRIPTION("PCIe controller driver for TI DRA7xx SoCs");
+MODULE_LICENSE("GPL v2");