Re: [Xen-devel] [PATCH v2 5/5] drivers/xen: make platform-pci.c explicitly non-modular

2016-02-22 Thread Stefano Stabellini
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 
> Cc: Boris Ostrovsky 
> Cc: David Vrabel 
> Cc: Stefano Stabellini 
> Cc: xen-de...@lists.xenproject.org
> Signed-off-by: Paul Gortmaker 

Reviewed-by: Stefano Stabellini 


>  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..cf980c8c 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: ssm...@xensource.com and stefano.stabell...@eu.citrix.com
> + *
>   * Copyright (c) 2005, Intel Corporation.
>   * Copyright (c) 2007, XenSource Inc.
>   * Copyright (c) 2010, Citrix
> @@ -24,7 +27,7 @@
>  
>  #include 
>  #include 
> -#include 
> +#include 
>  #include 
>  
>  #include 
> @@ -36,10 +39,6 @@
>  
>  #define DRV_NAME"xen-platform-pci"
>  
> -MODULE_AUTHOR("ssm...@xensource.com and stefano.stabell...@eu.citrix.com");
> -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(_driver);
>  }
> -
> -module_init(platform_pci_module_init);
> +device_initcall(platform_pci_init);
> -- 
> 2.6.1
> 

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


[Xen-devel] [PATCH v2 5/5] drivers/xen: make platform-pci.c explicitly non-modular

2016-02-21 Thread Paul Gortmaker
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 
Cc: Boris Ostrovsky 
Cc: David Vrabel 
Cc: Stefano Stabellini 
Cc: xen-de...@lists.xenproject.org
Signed-off-by: Paul Gortmaker 
---
 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..cf980c8c 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: ssm...@xensource.com and stefano.stabell...@eu.citrix.com
+ *
  * Copyright (c) 2005, Intel Corporation.
  * Copyright (c) 2007, XenSource Inc.
  * Copyright (c) 2010, Citrix
@@ -24,7 +27,7 @@
 
 #include 
 #include 
-#include 
+#include 
 #include 
 
 #include 
@@ -36,10 +39,6 @@
 
 #define DRV_NAME"xen-platform-pci"
 
-MODULE_AUTHOR("ssm...@xensource.com and stefano.stabell...@eu.citrix.com");
-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(_driver);
 }
-
-module_init(platform_pci_module_init);
+device_initcall(platform_pci_init);
-- 
2.6.1


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel