[PATCH v9 3/6] pci:host: Add Altera PCIe host controller driver

Arnd Bergmann arnd at arndb.de
Wed Oct 14 02:09:16 PDT 2015


On Wednesday 14 October 2015 16:32:25 Ley Foon Tan wrote:
> On Wed, Oct 14, 2015 at 4:20 PM, Arnd Bergmann <arnd at arndb.de> wrote:
> > On Wednesday 14 October 2015 10:41:29 Ley Foon Tan wrote:
> >> +static int altera_pcie_remove(struct platform_device *pdev)
> >> +{
> >> +     struct altera_pcie *pcie = platform_get_drvdata(pdev);
> >> +
> >> +     altera_pcie_free_irq_domain(pcie);
> >> +     platform_set_drvdata(pdev, NULL);
> >> +     return 0;
> >> +}
> >
> > I just noticed this. Does it actually work to unload the module
> > and tear down all the pci_dev structures in a safe way?
> Good catch. It only can be compiled as builtin-moduley now, so we can
> remove this _remove callback function.

I think we should change both: make it possible to load the
driver dynamically, and remove the altera_pcie_remove function.

You can prevent the module from being unloaded if you also remove
the module_platform_driver() directive and add a module_init()
without a matching module_exit().

Please also add a '.suppress_bind_attrs = true,' flag in the driver
struct to prevent manual unbinding.

	Arnd



More information about the linux-arm-kernel mailing list