Re: [PATCH v2 5/5] drivers/xen: make platform-pci.c explicitly non-modular
From: Stefano Stabellini
Date: Mon Feb 22 2016 - 06:29:07 EST
On Sun, 21 Feb 2016, Paul Gortmaker wrote:
> The Kconfig currently controlling compilation of this code is:
>
> arch/x86/xen/Kconfig:config XEN_PVHVM
> arch/x86/xen/Kconfig: def_bool y
>
> ...meaning that it currently is not being built as a module by anyone.
>
> Lets remove the modular code that is essentially orphaned, so that
> when reading the driver there is no doubt it is builtin-only.
>
> Since module_init translates to device_initcall in the non-modular
> case, the init ordering remains unchanged with this commit.
>
> Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
>
> We also delete the MODULE_LICENSE tag etc. since all that information
> was (or is now) contained at the top of the file in the comments.
>
> In removing "module" from the init fcn name, we observe a namespace
> collision with the probe function, so we use "probe" in the name of
> the probe function, and "init" in the registration fcn, as per
> standard convention, as suggested by Stefano.
>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
> Cc: David Vrabel <david.vrabel@xxxxxxxxxx>
> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Reviewed-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> drivers/xen/platform-pci.c | 22 +++++++++-------------
> 1 file changed, 9 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/xen/platform-pci.c b/drivers/xen/platform-pci.c
> index 3454973dc3bb..cf9666680c8c 100644
> --- a/drivers/xen/platform-pci.c
> +++ b/drivers/xen/platform-pci.c
> @@ -2,6 +2,9 @@
> * platform-pci.c
> *
> * Xen platform PCI device driver
> + *
> + * Authors: ssmith@xxxxxxxxxxxxx and stefano.stabellini@xxxxxxxxxxxxx
> + *
> * Copyright (c) 2005, Intel Corporation.
> * Copyright (c) 2007, XenSource Inc.
> * Copyright (c) 2010, Citrix
> @@ -24,7 +27,7 @@
>
> #include <linux/interrupt.h>
> #include <linux/io.h>
> -#include <linux/module.h>
> +#include <linux/init.h>
> #include <linux/pci.h>
>
> #include <xen/platform_pci.h>
> @@ -36,10 +39,6 @@
>
> #define DRV_NAME "xen-platform-pci"
>
> -MODULE_AUTHOR("ssmith@xxxxxxxxxxxxx and stefano.stabellini@xxxxxxxxxxxxx");
> -MODULE_DESCRIPTION("Xen platform PCI device");
> -MODULE_LICENSE("GPL");
> -
> static unsigned long platform_mmio;
> static unsigned long platform_mmio_alloc;
> static unsigned long platform_mmiolen;
> @@ -101,8 +100,8 @@ static int platform_pci_resume(struct pci_dev *pdev)
> return 0;
> }
>
> -static int platform_pci_init(struct pci_dev *pdev,
> - const struct pci_device_id *ent)
> +static int platform_pci_probe(struct pci_dev *pdev,
> + const struct pci_device_id *ent)
> {
> int i, ret;
> long ioaddr;
> @@ -181,20 +180,17 @@ static struct pci_device_id platform_pci_tbl[] = {
> {0,}
> };
>
> -MODULE_DEVICE_TABLE(pci, platform_pci_tbl);
> -
> static struct pci_driver platform_driver = {
> .name = DRV_NAME,
> - .probe = platform_pci_init,
> + .probe = platform_pci_probe,
> .id_table = platform_pci_tbl,
> #ifdef CONFIG_PM
> .resume_early = platform_pci_resume,
> #endif
> };
>
> -static int __init platform_pci_module_init(void)
> +static int __init platform_pci_init(void)
> {
> return pci_register_driver(&platform_driver);
> }
> -
> -module_init(platform_pci_module_init);
> +device_initcall(platform_pci_init);
> --
> 2.6.1
>