xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/5] xen: audit usages of module.h ; remove unnecessary instances
       [not found] <1455481970-15239-1-git-send-email-paul.gortmaker@windriver.com>
@ 2016-02-14 20:32 ` Paul Gortmaker
  2016-02-15 11:44   ` Stefano Stabellini
  2016-02-14 20:32 ` [PATCH 2/5] drivers/xen: make [xen-]ballon explicitly non-modular Paul Gortmaker
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 10+ messages in thread
From: Paul Gortmaker @ 2016-02-14 20:32 UTC (permalink / raw)
  To: linux-kernel
  Cc: Russell King, Stefano Stabellini, Paul Gortmaker, David Vrabel,
	xen-devel, Boris Ostrovsky, linux-arm-kernel

Code that uses no modular facilities whatsoever should not be
sourcing module.h at all, since that header drags in a bunch
of other headers with it.

Similarly, code that is not explicitly using modular facilities
like module_init() but only is declaring module_param setup
variables should be using moduleparam.h and not the larger
module.h file for that.

In making this change, we also uncover an implicit use of BUG()
in inline fcns within arch/arm/include/asm/xen/hypercall.h so
we explicitly source <linux/bug.h> for that file now.

Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xenproject.org
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 arch/arm/include/asm/xen/hypercall.h  | 2 ++
 drivers/xen/events/events_2l.c        | 1 -
 drivers/xen/events/events_base.c      | 2 +-
 drivers/xen/events/events_fifo.c      | 1 -
 drivers/xen/features.c                | 2 +-
 drivers/xen/grant-table.c             | 1 -
 drivers/xen/xen-pciback/conf_space.c  | 2 +-
 drivers/xen/xen-pciback/pciback_ops.c | 2 +-
 drivers/xen/xen-pciback/xenbus.c      | 2 +-
 drivers/xen/xen-selfballoon.c         | 1 -
 drivers/xen/xenbus/xenbus_xs.c        | 1 -
 drivers/xen/xenfs/xensyms.c           | 1 -
 12 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/arch/arm/include/asm/xen/hypercall.h b/arch/arm/include/asm/xen/hypercall.h
index d769972db8cb..b6b962d70db9 100644
--- a/arch/arm/include/asm/xen/hypercall.h
+++ b/arch/arm/include/asm/xen/hypercall.h
@@ -33,6 +33,8 @@
 #ifndef _ASM_ARM_XEN_HYPERCALL_H
 #define _ASM_ARM_XEN_HYPERCALL_H
 
+#include <linux/bug.h>
+
 #include <xen/interface/xen.h>
 #include <xen/interface/sched.h>
 #include <xen/interface/platform.h>
diff --git a/drivers/xen/events/events_2l.c b/drivers/xen/events/events_2l.c
index 7dd46312c180..51b488f5bfe9 100644
--- a/drivers/xen/events/events_2l.c
+++ b/drivers/xen/events/events_2l.c
@@ -9,7 +9,6 @@
 #include <linux/linkage.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
-#include <linux/module.h>
 
 #include <asm/sync_bitops.h>
 #include <asm/xen/hypercall.h>
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index 524c22146429..488017a0806a 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -26,7 +26,7 @@
 #include <linux/linkage.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
-#include <linux/module.h>
+#include <linux/moduleparam.h>
 #include <linux/string.h>
 #include <linux/bootmem.h>
 #include <linux/slab.h>
diff --git a/drivers/xen/events/events_fifo.c b/drivers/xen/events/events_fifo.c
index eff2b88003d9..9289a17712e2 100644
--- a/drivers/xen/events/events_fifo.c
+++ b/drivers/xen/events/events_fifo.c
@@ -36,7 +36,6 @@
 #include <linux/linkage.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
-#include <linux/module.h>
 #include <linux/smp.h>
 #include <linux/percpu.h>
 #include <linux/cpu.h>
diff --git a/drivers/xen/features.c b/drivers/xen/features.c
index 99eda169c779..d7d34fdfc993 100644
--- a/drivers/xen/features.c
+++ b/drivers/xen/features.c
@@ -7,7 +7,7 @@
  */
 #include <linux/types.h>
 #include <linux/cache.h>
-#include <linux/module.h>
+#include <linux/export.h>
 
 #include <asm/xen/hypercall.h>
 
diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
index effbaf91791f..bb36b1e1dbcc 100644
--- a/drivers/xen/grant-table.c
+++ b/drivers/xen/grant-table.c
@@ -33,7 +33,6 @@
 
 #define pr_fmt(fmt) "xen:" KBUILD_MODNAME ": " fmt
 
-#include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
 #include <linux/slab.h>
diff --git a/drivers/xen/xen-pciback/conf_space.c b/drivers/xen/xen-pciback/conf_space.c
index 9c234209d8b5..8e67336f8ddd 100644
--- a/drivers/xen/xen-pciback/conf_space.c
+++ b/drivers/xen/xen-pciback/conf_space.c
@@ -10,7 +10,7 @@
  */
 
 #include <linux/kernel.h>
-#include <linux/module.h>
+#include <linux/moduleparam.h>
 #include <linux/pci.h>
 #include "pciback.h"
 #include "conf_space.h"
diff --git a/drivers/xen/xen-pciback/pciback_ops.c b/drivers/xen/xen-pciback/pciback_ops.c
index 73dafdc494aa..5ad01f9c24fc 100644
--- a/drivers/xen/xen-pciback/pciback_ops.c
+++ b/drivers/xen/xen-pciback/pciback_ops.c
@@ -6,7 +6,7 @@
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
-#include <linux/module.h>
+#include <linux/moduleparam.h>
 #include <linux/wait.h>
 #include <linux/bitops.h>
 #include <xen/events.h>
diff --git a/drivers/xen/xen-pciback/xenbus.c b/drivers/xen/xen-pciback/xenbus.c
index 4843741e703a..c252eb3f0176 100644
--- a/drivers/xen/xen-pciback/xenbus.c
+++ b/drivers/xen/xen-pciback/xenbus.c
@@ -6,7 +6,7 @@
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
-#include <linux/module.h>
+#include <linux/moduleparam.h>
 #include <linux/init.h>
 #include <linux/list.h>
 #include <linux/vmalloc.h>
diff --git a/drivers/xen/xen-selfballoon.c b/drivers/xen/xen-selfballoon.c
index 3b2bffde534f..53a085fca00c 100644
--- a/drivers/xen/xen-selfballoon.c
+++ b/drivers/xen/xen-selfballoon.c
@@ -71,7 +71,6 @@
 #include <linux/swap.h>
 #include <linux/mm.h>
 #include <linux/mman.h>
-#include <linux/module.h>
 #include <linux/workqueue.h>
 #include <linux/device.h>
 #include <xen/balloon.h>
diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
index ba804f3d8278..374b12af8812 100644
--- a/drivers/xen/xenbus/xenbus_xs.c
+++ b/drivers/xen/xenbus/xenbus_xs.c
@@ -44,7 +44,6 @@
 #include <linux/fcntl.h>
 #include <linux/kthread.h>
 #include <linux/rwsem.h>
-#include <linux/module.h>
 #include <linux/mutex.h>
 #include <asm/xen/hypervisor.h>
 #include <xen/xenbus.h>
diff --git a/drivers/xen/xenfs/xensyms.c b/drivers/xen/xenfs/xensyms.c
index a03f261b12d8..c6e2b4a542ea 100644
--- a/drivers/xen/xenfs/xensyms.c
+++ b/drivers/xen/xenfs/xensyms.c
@@ -1,4 +1,3 @@
-#include <linux/module.h>
 #include <linux/init.h>
 #include <linux/seq_file.h>
 #include <linux/fs.h>
-- 
2.6.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/5] drivers/xen: make [xen-]ballon explicitly non-modular
       [not found] <1455481970-15239-1-git-send-email-paul.gortmaker@windriver.com>
  2016-02-14 20:32 ` [PATCH 1/5] xen: audit usages of module.h ; remove unnecessary instances Paul Gortmaker
@ 2016-02-14 20:32 ` Paul Gortmaker
  2016-02-14 20:32 ` [PATCH 3/5] drivers/xen: make xenbus_dev_[front/back]end " Paul Gortmaker
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Paul Gortmaker @ 2016-02-14 20:32 UTC (permalink / raw)
  To: linux-kernel; +Cc: Paul Gortmaker, Boris Ostrovsky, xen-devel, David Vrabel

The Makefile / Kconfig currently controlling compilation here is:

obj-y   += grant-table.o features.o balloon.o manage.o preempt.o time.o
[...]
obj-$(CONFIG_XEN_BALLOON)               += xen-balloon.o

...with:

drivers/xen/Kconfig:config XEN_BALLOON
drivers/xen/Kconfig:    bool "Xen memory balloon driver"

...meaning that they currently are not being built as modules 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.

In doing so we uncover two implict includes that were obtained
by module.h having such a wide include scope itself:

In file included from drivers/xen/xen-balloon.c:41:0:
include/xen/balloon.h:26:51: warning: ‘struct page’ declared inside parameter list [enabled by default]
 int alloc_xenballooned_pages(int nr_pages, struct page **pages);
                                                   ^
include/xen/balloon.h: In function ‘register_xen_selfballooning’:
include/xen/balloon.h:35:10: error: ‘ENOSYS’ undeclared (first use in this function)
  return -ENOSYS;
          ^

This is fixed by adding mm-types.h and errno.h to the list.

We also delete the MODULE_LICENSE tags since all that information
is already contained at the top of the file in the comments.

Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/xen/balloon.c     |  4 ----
 drivers/xen/xen-balloon.c | 14 +++-----------
 2 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 7c8a2cf16f58..9781e0dd59d6 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -42,7 +42,6 @@
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <linux/errno.h>
-#include <linux/module.h>
 #include <linux/mm.h>
 #include <linux/bootmem.h>
 #include <linux/pagemap.h>
@@ -760,7 +759,4 @@ static int __init balloon_init(void)
 
 	return 0;
 }
-
 subsys_initcall(balloon_init);
-
-MODULE_LICENSE("GPL");
diff --git a/drivers/xen/xen-balloon.c b/drivers/xen/xen-balloon.c
index 39e7ef8d3957..79865b8901ba 100644
--- a/drivers/xen/xen-balloon.c
+++ b/drivers/xen/xen-balloon.c
@@ -33,7 +33,9 @@
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
 #include <linux/kernel.h>
-#include <linux/module.h>
+#include <linux/errno.h>
+#include <linux/mm_types.h>
+#include <linux/init.h>
 #include <linux/capability.h>
 
 #include <xen/xen.h>
@@ -109,14 +111,6 @@ static int __init balloon_init(void)
 }
 subsys_initcall(balloon_init);
 
-static void balloon_exit(void)
-{
-    /* XXX - release balloon here */
-    return;
-}
-
-module_exit(balloon_exit);
-
 #define BALLOON_SHOW(name, format, args...)				\
 	static ssize_t show_##name(struct device *dev,			\
 				   struct device_attribute *attr,	\
@@ -250,5 +244,3 @@ static int register_balloon(struct device *dev)
 
 	return 0;
 }
-
-MODULE_LICENSE("GPL");
-- 
2.6.1


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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/5] drivers/xen: make xenbus_dev_[front/back]end explicitly non-modular
       [not found] <1455481970-15239-1-git-send-email-paul.gortmaker@windriver.com>
  2016-02-14 20:32 ` [PATCH 1/5] xen: audit usages of module.h ; remove unnecessary instances Paul Gortmaker
  2016-02-14 20:32 ` [PATCH 2/5] drivers/xen: make [xen-]ballon explicitly non-modular Paul Gortmaker
@ 2016-02-14 20:32 ` Paul Gortmaker
  2016-02-14 20:32 ` [PATCH 4/5] drivers/xen: make sys-hypervisor.c " Paul Gortmaker
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Paul Gortmaker @ 2016-02-14 20:32 UTC (permalink / raw)
  To: linux-kernel; +Cc: Paul Gortmaker, Boris Ostrovsky, xen-devel, David Vrabel

The Makefile / Kconfig currently controlling compilation here is:

obj-y   += xenbus_dev_frontend.o
[...]
obj-$(CONFIG_XEN_BACKEND) += xenbus_dev_backend.o

...with:

drivers/xen/Kconfig:config XEN_BACKEND
drivers/xen/Kconfig:    bool "Backend driver support"

...meaning that they currently are not being built as modules 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.

We also delete the MODULE_LICENSE tag since all that information
is already contained at the top of the file in the comments.

Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/xen/xenbus/xenbus_dev_backend.c  | 13 ++-----------
 drivers/xen/xenbus/xenbus_dev_frontend.c | 13 ++-----------
 2 files changed, 4 insertions(+), 22 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_dev_backend.c b/drivers/xen/xenbus/xenbus_dev_backend.c
index ee6d9efd7b76..4a41ac9af966 100644
--- a/drivers/xen/xenbus/xenbus_dev_backend.c
+++ b/drivers/xen/xenbus/xenbus_dev_backend.c
@@ -5,7 +5,7 @@
 #include <linux/mm.h>
 #include <linux/fs.h>
 #include <linux/miscdevice.h>
-#include <linux/module.h>
+#include <linux/init.h>
 #include <linux/capability.h>
 
 #include <xen/xen.h>
@@ -18,8 +18,6 @@
 
 #include "xenbus_comms.h"
 
-MODULE_LICENSE("GPL");
-
 static int xenbus_backend_open(struct inode *inode, struct file *filp)
 {
 	if (!capable(CAP_SYS_ADMIN))
@@ -132,11 +130,4 @@ static int __init xenbus_backend_init(void)
 		pr_err("Could not register xenbus backend device\n");
 	return err;
 }
-
-static void __exit xenbus_backend_exit(void)
-{
-	misc_deregister(&xenbus_backend_dev);
-}
-
-module_init(xenbus_backend_init);
-module_exit(xenbus_backend_exit);
+device_initcall(xenbus_backend_init);
diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c b/drivers/xen/xenbus/xenbus_dev_frontend.c
index 9433e46518c8..8c0a359ab4a8 100644
--- a/drivers/xen/xenbus/xenbus_dev_frontend.c
+++ b/drivers/xen/xenbus/xenbus_dev_frontend.c
@@ -55,7 +55,7 @@
 #include <linux/string.h>
 #include <linux/slab.h>
 #include <linux/miscdevice.h>
-#include <linux/module.h>
+#include <linux/init.h>
 
 #include "xenbus_comms.h"
 
@@ -63,8 +63,6 @@
 #include <xen/xen.h>
 #include <asm/xen/hypervisor.h>
 
-MODULE_LICENSE("GPL");
-
 /*
  * An element of a list of outstanding transactions, for which we're
  * still waiting a reply.
@@ -624,11 +622,4 @@ static int __init xenbus_init(void)
 		pr_err("Could not register xenbus frontend device\n");
 	return err;
 }
-
-static void __exit xenbus_exit(void)
-{
-	misc_deregister(&xenbus_dev);
-}
-
-module_init(xenbus_init);
-module_exit(xenbus_exit);
+device_initcall(xenbus_init);
-- 
2.6.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/5] drivers/xen: make sys-hypervisor.c explicitly non-modular
       [not found] <1455481970-15239-1-git-send-email-paul.gortmaker@windriver.com>
                   ` (2 preceding siblings ...)
  2016-02-14 20:32 ` [PATCH 3/5] drivers/xen: make xenbus_dev_[front/back]end " Paul Gortmaker
@ 2016-02-14 20:32 ` Paul Gortmaker
  2016-02-15 11:54   ` Stefano Stabellini
  2016-02-14 20:32 ` [PATCH 5/5] drivers/xen: make platform-pci.c " Paul Gortmaker
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 10+ messages in thread
From: Paul Gortmaker @ 2016-02-14 20:32 UTC (permalink / raw)
  To: linux-kernel; +Cc: Paul Gortmaker, Boris Ostrovsky, xen-devel, David Vrabel

The Kconfig currently controlling compilation of this code is:

config XEN_SYS_HYPERVISOR
       bool "Create xen entries under /sys/hypervisor"

...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.  However
one could argue that fs_initcall() might make more sense here.

This change means that the one line function xen_properties_destroy()
has only one user left, and since that is inside an #ifdef, we just
manually inline it there vs. adding more ifdeffery around the function
to avoid compile warnings about "defined but not used".

Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/xen/sys-hypervisor.c | 31 ++++---------------------------
 1 file changed, 4 insertions(+), 27 deletions(-)

diff --git a/drivers/xen/sys-hypervisor.c b/drivers/xen/sys-hypervisor.c
index b5a7342e0ba5..ea6e98d60af0 100644
--- a/drivers/xen/sys-hypervisor.c
+++ b/drivers/xen/sys-hypervisor.c
@@ -9,7 +9,7 @@
 
 #include <linux/slab.h>
 #include <linux/kernel.h>
-#include <linux/module.h>
+#include <linux/init.h>
 #include <linux/kobject.h>
 #include <linux/err.h>
 
@@ -366,11 +366,6 @@ static int __init xen_properties_init(void)
 	return sysfs_create_group(hypervisor_kobj, &xen_properties_group);
 }
 
-static void xen_properties_destroy(void)
-{
-	sysfs_remove_group(hypervisor_kobj, &xen_properties_group);
-}
-
 #ifdef CONFIG_XEN_HAVE_VPMU
 struct pmu_mode {
 	const char *name;
@@ -484,11 +479,6 @@ static int __init xen_pmu_init(void)
 {
 	return sysfs_create_group(hypervisor_kobj, &xen_pmu_group);
 }
-
-static void xen_pmu_destroy(void)
-{
-	sysfs_remove_group(hypervisor_kobj, &xen_pmu_group);
-}
 #endif
 
 static int __init hyper_sysfs_init(void)
@@ -517,7 +507,8 @@ static int __init hyper_sysfs_init(void)
 	if (xen_initial_domain()) {
 		ret = xen_pmu_init();
 		if (ret) {
-			xen_properties_destroy();
+			sysfs_remove_group(hypervisor_kobj,
+					   &xen_properties_group);
 			goto prop_out;
 		}
 	}
@@ -535,21 +526,7 @@ version_out:
 out:
 	return ret;
 }
-
-static void __exit hyper_sysfs_exit(void)
-{
-#ifdef CONFIG_XEN_HAVE_VPMU
-	xen_pmu_destroy();
-#endif
-	xen_properties_destroy();
-	xen_compilation_destroy();
-	xen_sysfs_uuid_destroy();
-	xen_sysfs_version_destroy();
-	xen_sysfs_type_destroy();
-
-}
-module_init(hyper_sysfs_init);
-module_exit(hyper_sysfs_exit);
+device_initcall(hyper_sysfs_init);
 
 static ssize_t hyp_sysfs_show(struct kobject *kobj,
 			      struct attribute *attr,
-- 
2.6.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/5] drivers/xen: make platform-pci.c explicitly non-modular
       [not found] <1455481970-15239-1-git-send-email-paul.gortmaker@windriver.com>
                   ` (3 preceding siblings ...)
  2016-02-14 20:32 ` [PATCH 4/5] drivers/xen: make sys-hypervisor.c " Paul Gortmaker
@ 2016-02-14 20:32 ` Paul Gortmaker
       [not found] ` <1455481970-15239-3-git-send-email-paul.gortmaker@windriver.com>
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Paul Gortmaker @ 2016-02-14 20:32 UTC (permalink / raw)
  To: linux-kernel; +Cc: Paul Gortmaker, Boris Ostrovsky, xen-devel, David Vrabel

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.

Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/xen/platform-pci.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/drivers/xen/platform-pci.c b/drivers/xen/platform-pci.c
index 3454973dc3bb..302232518c98 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@xensource.com and stefano.stabellini@eu.citrix.com
+ *
  * 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@xensource.com and stefano.stabellini@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;
@@ -181,8 +180,6 @@ 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,
@@ -192,9 +189,8 @@ static struct pci_driver platform_driver = {
 #endif
 };
 
-static int __init platform_pci_module_init(void)
+static int __init platform_pci_xen_init(void)
 {
 	return pci_register_driver(&platform_driver);
 }
-
-module_init(platform_pci_module_init);
+device_initcall(platform_pci_xen_init);
-- 
2.6.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/5] xen: audit usages of module.h ; remove unnecessary instances
  2016-02-14 20:32 ` [PATCH 1/5] xen: audit usages of module.h ; remove unnecessary instances Paul Gortmaker
@ 2016-02-15 11:44   ` Stefano Stabellini
  0 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-02-15 11:44 UTC (permalink / raw)
  To: Paul Gortmaker
  Cc: Russell King, Stefano Stabellini, linux-kernel, David Vrabel,
	xen-devel, Boris Ostrovsky, linux-arm-kernel

On Sun, 14 Feb 2016, Paul Gortmaker wrote:
> Code that uses no modular facilities whatsoever should not be
> sourcing module.h at all, since that header drags in a bunch
> of other headers with it.
> 
> Similarly, code that is not explicitly using modular facilities
> like module_init() but only is declaring module_param setup
> variables should be using moduleparam.h and not the larger
> module.h file for that.
> 
> In making this change, we also uncover an implicit use of BUG()
> in inline fcns within arch/arm/include/asm/xen/hypercall.h so
> we explicitly source <linux/bug.h> for that file now.
> 
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Cc: David Vrabel <david.vrabel@citrix.com>
> Cc: xen-devel@lists.xenproject.org
> Cc: linux-arm-kernel@lists.infradead.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


>  arch/arm/include/asm/xen/hypercall.h  | 2 ++
>  drivers/xen/events/events_2l.c        | 1 -
>  drivers/xen/events/events_base.c      | 2 +-
>  drivers/xen/events/events_fifo.c      | 1 -
>  drivers/xen/features.c                | 2 +-
>  drivers/xen/grant-table.c             | 1 -
>  drivers/xen/xen-pciback/conf_space.c  | 2 +-
>  drivers/xen/xen-pciback/pciback_ops.c | 2 +-
>  drivers/xen/xen-pciback/xenbus.c      | 2 +-
>  drivers/xen/xen-selfballoon.c         | 1 -
>  drivers/xen/xenbus/xenbus_xs.c        | 1 -
>  drivers/xen/xenfs/xensyms.c           | 1 -
>  12 files changed, 7 insertions(+), 11 deletions(-)
> 
> diff --git a/arch/arm/include/asm/xen/hypercall.h b/arch/arm/include/asm/xen/hypercall.h
> index d769972db8cb..b6b962d70db9 100644
> --- a/arch/arm/include/asm/xen/hypercall.h
> +++ b/arch/arm/include/asm/xen/hypercall.h
> @@ -33,6 +33,8 @@
>  #ifndef _ASM_ARM_XEN_HYPERCALL_H
>  #define _ASM_ARM_XEN_HYPERCALL_H
>  
> +#include <linux/bug.h>
> +
>  #include <xen/interface/xen.h>
>  #include <xen/interface/sched.h>
>  #include <xen/interface/platform.h>
> diff --git a/drivers/xen/events/events_2l.c b/drivers/xen/events/events_2l.c
> index 7dd46312c180..51b488f5bfe9 100644
> --- a/drivers/xen/events/events_2l.c
> +++ b/drivers/xen/events/events_2l.c
> @@ -9,7 +9,6 @@
>  #include <linux/linkage.h>
>  #include <linux/interrupt.h>
>  #include <linux/irq.h>
> -#include <linux/module.h>
>  
>  #include <asm/sync_bitops.h>
>  #include <asm/xen/hypercall.h>
> diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
> index 524c22146429..488017a0806a 100644
> --- a/drivers/xen/events/events_base.c
> +++ b/drivers/xen/events/events_base.c
> @@ -26,7 +26,7 @@
>  #include <linux/linkage.h>
>  #include <linux/interrupt.h>
>  #include <linux/irq.h>
> -#include <linux/module.h>
> +#include <linux/moduleparam.h>
>  #include <linux/string.h>
>  #include <linux/bootmem.h>
>  #include <linux/slab.h>
> diff --git a/drivers/xen/events/events_fifo.c b/drivers/xen/events/events_fifo.c
> index eff2b88003d9..9289a17712e2 100644
> --- a/drivers/xen/events/events_fifo.c
> +++ b/drivers/xen/events/events_fifo.c
> @@ -36,7 +36,6 @@
>  #include <linux/linkage.h>
>  #include <linux/interrupt.h>
>  #include <linux/irq.h>
> -#include <linux/module.h>
>  #include <linux/smp.h>
>  #include <linux/percpu.h>
>  #include <linux/cpu.h>
> diff --git a/drivers/xen/features.c b/drivers/xen/features.c
> index 99eda169c779..d7d34fdfc993 100644
> --- a/drivers/xen/features.c
> +++ b/drivers/xen/features.c
> @@ -7,7 +7,7 @@
>   */
>  #include <linux/types.h>
>  #include <linux/cache.h>
> -#include <linux/module.h>
> +#include <linux/export.h>
>  
>  #include <asm/xen/hypercall.h>
>  
> diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
> index effbaf91791f..bb36b1e1dbcc 100644
> --- a/drivers/xen/grant-table.c
> +++ b/drivers/xen/grant-table.c
> @@ -33,7 +33,6 @@
>  
>  #define pr_fmt(fmt) "xen:" KBUILD_MODNAME ": " fmt
>  
> -#include <linux/module.h>
>  #include <linux/sched.h>
>  #include <linux/mm.h>
>  #include <linux/slab.h>
> diff --git a/drivers/xen/xen-pciback/conf_space.c b/drivers/xen/xen-pciback/conf_space.c
> index 9c234209d8b5..8e67336f8ddd 100644
> --- a/drivers/xen/xen-pciback/conf_space.c
> +++ b/drivers/xen/xen-pciback/conf_space.c
> @@ -10,7 +10,7 @@
>   */
>  
>  #include <linux/kernel.h>
> -#include <linux/module.h>
> +#include <linux/moduleparam.h>
>  #include <linux/pci.h>
>  #include "pciback.h"
>  #include "conf_space.h"
> diff --git a/drivers/xen/xen-pciback/pciback_ops.c b/drivers/xen/xen-pciback/pciback_ops.c
> index 73dafdc494aa..5ad01f9c24fc 100644
> --- a/drivers/xen/xen-pciback/pciback_ops.c
> +++ b/drivers/xen/xen-pciback/pciback_ops.c
> @@ -6,7 +6,7 @@
>  
>  #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
>  
> -#include <linux/module.h>
> +#include <linux/moduleparam.h>
>  #include <linux/wait.h>
>  #include <linux/bitops.h>
>  #include <xen/events.h>
> diff --git a/drivers/xen/xen-pciback/xenbus.c b/drivers/xen/xen-pciback/xenbus.c
> index 4843741e703a..c252eb3f0176 100644
> --- a/drivers/xen/xen-pciback/xenbus.c
> +++ b/drivers/xen/xen-pciback/xenbus.c
> @@ -6,7 +6,7 @@
>  
>  #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
>  
> -#include <linux/module.h>
> +#include <linux/moduleparam.h>
>  #include <linux/init.h>
>  #include <linux/list.h>
>  #include <linux/vmalloc.h>
> diff --git a/drivers/xen/xen-selfballoon.c b/drivers/xen/xen-selfballoon.c
> index 3b2bffde534f..53a085fca00c 100644
> --- a/drivers/xen/xen-selfballoon.c
> +++ b/drivers/xen/xen-selfballoon.c
> @@ -71,7 +71,6 @@
>  #include <linux/swap.h>
>  #include <linux/mm.h>
>  #include <linux/mman.h>
> -#include <linux/module.h>
>  #include <linux/workqueue.h>
>  #include <linux/device.h>
>  #include <xen/balloon.h>
> diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
> index ba804f3d8278..374b12af8812 100644
> --- a/drivers/xen/xenbus/xenbus_xs.c
> +++ b/drivers/xen/xenbus/xenbus_xs.c
> @@ -44,7 +44,6 @@
>  #include <linux/fcntl.h>
>  #include <linux/kthread.h>
>  #include <linux/rwsem.h>
> -#include <linux/module.h>
>  #include <linux/mutex.h>
>  #include <asm/xen/hypervisor.h>
>  #include <xen/xenbus.h>
> diff --git a/drivers/xen/xenfs/xensyms.c b/drivers/xen/xenfs/xensyms.c
> index a03f261b12d8..c6e2b4a542ea 100644
> --- a/drivers/xen/xenfs/xensyms.c
> +++ b/drivers/xen/xenfs/xensyms.c
> @@ -1,4 +1,3 @@
> -#include <linux/module.h>
>  #include <linux/init.h>
>  #include <linux/seq_file.h>
>  #include <linux/fs.h>
> -- 
> 2.6.1
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/5] drivers/xen: make [xen-]ballon explicitly non-modular
       [not found] ` <1455481970-15239-3-git-send-email-paul.gortmaker@windriver.com>
@ 2016-02-15 11:49   ` Stefano Stabellini
  0 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-02-15 11:49 UTC (permalink / raw)
  To: Paul Gortmaker; +Cc: xen-devel, Boris Ostrovsky, David Vrabel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3462 bytes --]

On Sun, 14 Feb 2016, Paul Gortmaker wrote:
> The Makefile / Kconfig currently controlling compilation here is:
>
> obj-y   += grant-table.o features.o balloon.o manage.o preempt.o time.o
> [...]
> obj-$(CONFIG_XEN_BALLOON)               += xen-balloon.o
>
> ...with:
>
> drivers/xen/Kconfig:config XEN_BALLOON
> drivers/xen/Kconfig:    bool "Xen memory balloon driver"
>
> ...meaning that they currently are not being built as modules 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.
>
> In doing so we uncover two implict includes that were obtained
> by module.h having such a wide include scope itself:
>
> In file included from drivers/xen/xen-balloon.c:41:0:
> include/xen/balloon.h:26:51: warning: ‘struct page’ declared inside parameter list [enabled by default]
>  int alloc_xenballooned_pages(int nr_pages, struct page **pages);
>                                                    ^
> include/xen/balloon.h: In function ‘register_xen_selfballooning’:
> include/xen/balloon.h:35:10: error: ‘ENOSYS’ undeclared (first use in this function)
>   return -ENOSYS;
>           ^
>
> This is fixed by adding mm-types.h and errno.h to the list.
>
> We also delete the MODULE_LICENSE tags since all that information
> is already contained at the top of the file in the comments.
>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Cc: David Vrabel <david.vrabel@citrix.com>
> Cc: xen-devel@lists.xenproject.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


>  drivers/xen/balloon.c     |  4 ----
>  drivers/xen/xen-balloon.c | 14 +++-----------
>  2 files changed, 3 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
> index 7c8a2cf16f58..9781e0dd59d6 100644
> --- a/drivers/xen/balloon.c
> +++ b/drivers/xen/balloon.c
> @@ -42,7 +42,6 @@
>  #include <linux/kernel.h>
>  #include <linux/sched.h>
>  #include <linux/errno.h>
> -#include <linux/module.h>
>  #include <linux/mm.h>
>  #include <linux/bootmem.h>
>  #include <linux/pagemap.h>
> @@ -760,7 +759,4 @@ static int __init balloon_init(void)
>
>  	return 0;
>  }
> -
>  subsys_initcall(balloon_init);
> -
> -MODULE_LICENSE("GPL");
> diff --git a/drivers/xen/xen-balloon.c b/drivers/xen/xen-balloon.c
> index 39e7ef8d3957..79865b8901ba 100644
> --- a/drivers/xen/xen-balloon.c
> +++ b/drivers/xen/xen-balloon.c
> @@ -33,7 +33,9 @@
>  #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
>
>  #include <linux/kernel.h>
> -#include <linux/module.h>
> +#include <linux/errno.h>
> +#include <linux/mm_types.h>
> +#include <linux/init.h>
>  #include <linux/capability.h>
>
>  #include <xen/xen.h>
> @@ -109,14 +111,6 @@ static int __init balloon_init(void)
>  }
>  subsys_initcall(balloon_init);
>
> -static void balloon_exit(void)
> -{
> -    /* XXX - release balloon here */
> -    return;
> -}
> -
> -module_exit(balloon_exit);
> -
>  #define BALLOON_SHOW(name, format, args...)				\
>  	static ssize_t show_##name(struct device *dev,			\
>  				   struct device_attribute *attr,	\
> @@ -250,5 +244,3 @@ static int register_balloon(struct device *dev)
>
>  	return 0;
>  }
> -
> -MODULE_LICENSE("GPL");
> --
> 2.6.1
> 

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 3/5] drivers/xen: make xenbus_dev_[front/back]end explicitly non-modular
       [not found] ` <1455481970-15239-4-git-send-email-paul.gortmaker@windriver.com>
@ 2016-02-15 11:53   ` Stefano Stabellini
  0 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-02-15 11:53 UTC (permalink / raw)
  To: Paul Gortmaker; +Cc: xen-devel, Boris Ostrovsky, linux-kernel, David Vrabel

On Sun, 14 Feb 2016, Paul Gortmaker wrote:
> The Makefile / Kconfig currently controlling compilation here is:
> 
> obj-y   += xenbus_dev_frontend.o
> [...]
> obj-$(CONFIG_XEN_BACKEND) += xenbus_dev_backend.o
> 
> ...with:
> 
> drivers/xen/Kconfig:config XEN_BACKEND
> drivers/xen/Kconfig:    bool "Backend driver support"
> 
> ...meaning that they currently are not being built as modules 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.
> 
> We also delete the MODULE_LICENSE tag since all that information
> is already contained at the top of the file in the comments.
> 
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Cc: David Vrabel <david.vrabel@citrix.com>
> Cc: xen-devel@lists.xenproject.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


>  drivers/xen/xenbus/xenbus_dev_backend.c  | 13 ++-----------
>  drivers/xen/xenbus/xenbus_dev_frontend.c | 13 ++-----------
>  2 files changed, 4 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/xen/xenbus/xenbus_dev_backend.c b/drivers/xen/xenbus/xenbus_dev_backend.c
> index ee6d9efd7b76..4a41ac9af966 100644
> --- a/drivers/xen/xenbus/xenbus_dev_backend.c
> +++ b/drivers/xen/xenbus/xenbus_dev_backend.c
> @@ -5,7 +5,7 @@
>  #include <linux/mm.h>
>  #include <linux/fs.h>
>  #include <linux/miscdevice.h>
> -#include <linux/module.h>
> +#include <linux/init.h>
>  #include <linux/capability.h>
>  
>  #include <xen/xen.h>
> @@ -18,8 +18,6 @@
>  
>  #include "xenbus_comms.h"
>  
> -MODULE_LICENSE("GPL");
> -
>  static int xenbus_backend_open(struct inode *inode, struct file *filp)
>  {
>  	if (!capable(CAP_SYS_ADMIN))
> @@ -132,11 +130,4 @@ static int __init xenbus_backend_init(void)
>  		pr_err("Could not register xenbus backend device\n");
>  	return err;
>  }
> -
> -static void __exit xenbus_backend_exit(void)
> -{
> -	misc_deregister(&xenbus_backend_dev);
> -}
> -
> -module_init(xenbus_backend_init);
> -module_exit(xenbus_backend_exit);
> +device_initcall(xenbus_backend_init);
> diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c b/drivers/xen/xenbus/xenbus_dev_frontend.c
> index 9433e46518c8..8c0a359ab4a8 100644
> --- a/drivers/xen/xenbus/xenbus_dev_frontend.c
> +++ b/drivers/xen/xenbus/xenbus_dev_frontend.c
> @@ -55,7 +55,7 @@
>  #include <linux/string.h>
>  #include <linux/slab.h>
>  #include <linux/miscdevice.h>
> -#include <linux/module.h>
> +#include <linux/init.h>
>  
>  #include "xenbus_comms.h"
>  
> @@ -63,8 +63,6 @@
>  #include <xen/xen.h>
>  #include <asm/xen/hypervisor.h>
>  
> -MODULE_LICENSE("GPL");
> -
>  /*
>   * An element of a list of outstanding transactions, for which we're
>   * still waiting a reply.
> @@ -624,11 +622,4 @@ static int __init xenbus_init(void)
>  		pr_err("Could not register xenbus frontend device\n");
>  	return err;
>  }
> -
> -static void __exit xenbus_exit(void)
> -{
> -	misc_deregister(&xenbus_dev);
> -}
> -
> -module_init(xenbus_init);
> -module_exit(xenbus_exit);
> +device_initcall(xenbus_init);
> -- 
> 2.6.1
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 4/5] drivers/xen: make sys-hypervisor.c explicitly non-modular
  2016-02-14 20:32 ` [PATCH 4/5] drivers/xen: make sys-hypervisor.c " Paul Gortmaker
@ 2016-02-15 11:54   ` Stefano Stabellini
  0 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-02-15 11:54 UTC (permalink / raw)
  To: Paul Gortmaker; +Cc: xen-devel, Boris Ostrovsky, David Vrabel, linux-kernel

On Sun, 14 Feb 2016, Paul Gortmaker wrote:
> The Kconfig currently controlling compilation of this code is:
> 
> config XEN_SYS_HYPERVISOR
>        bool "Create xen entries under /sys/hypervisor"
> 
> ...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.  However
> one could argue that fs_initcall() might make more sense here.
> 
> This change means that the one line function xen_properties_destroy()
> has only one user left, and since that is inside an #ifdef, we just
> manually inline it there vs. adding more ifdeffery around the function
> to avoid compile warnings about "defined but not used".

Actually xen_sysfs_uuid_destroy, xen_compilation_destroy,
xen_sysfs_version_destroy, and xen_sysfs_type_destroy are also
one-liners with only one user left.


> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Cc: David Vrabel <david.vrabel@citrix.com>
> Cc: xen-devel@lists.xenproject.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---
>  drivers/xen/sys-hypervisor.c | 31 ++++---------------------------
>  1 file changed, 4 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/xen/sys-hypervisor.c b/drivers/xen/sys-hypervisor.c
> index b5a7342e0ba5..ea6e98d60af0 100644
> --- a/drivers/xen/sys-hypervisor.c
> +++ b/drivers/xen/sys-hypervisor.c
> @@ -9,7 +9,7 @@
>  
>  #include <linux/slab.h>
>  #include <linux/kernel.h>
> -#include <linux/module.h>
> +#include <linux/init.h>
>  #include <linux/kobject.h>
>  #include <linux/err.h>
>  
> @@ -366,11 +366,6 @@ static int __init xen_properties_init(void)
>  	return sysfs_create_group(hypervisor_kobj, &xen_properties_group);
>  }
>  
> -static void xen_properties_destroy(void)
> -{
> -	sysfs_remove_group(hypervisor_kobj, &xen_properties_group);
> -}
> -
>  #ifdef CONFIG_XEN_HAVE_VPMU
>  struct pmu_mode {
>  	const char *name;
> @@ -484,11 +479,6 @@ static int __init xen_pmu_init(void)
>  {
>  	return sysfs_create_group(hypervisor_kobj, &xen_pmu_group);
>  }
> -
> -static void xen_pmu_destroy(void)
> -{
> -	sysfs_remove_group(hypervisor_kobj, &xen_pmu_group);
> -}
>  #endif
>  
>  static int __init hyper_sysfs_init(void)
> @@ -517,7 +507,8 @@ static int __init hyper_sysfs_init(void)
>  	if (xen_initial_domain()) {
>  		ret = xen_pmu_init();
>  		if (ret) {
> -			xen_properties_destroy();
> +			sysfs_remove_group(hypervisor_kobj,
> +					   &xen_properties_group);
>  			goto prop_out;
>  		}
>  	}
> @@ -535,21 +526,7 @@ version_out:
>  out:
>  	return ret;
>  }
> -
> -static void __exit hyper_sysfs_exit(void)
> -{
> -#ifdef CONFIG_XEN_HAVE_VPMU
> -	xen_pmu_destroy();
> -#endif
> -	xen_properties_destroy();
> -	xen_compilation_destroy();
> -	xen_sysfs_uuid_destroy();
> -	xen_sysfs_version_destroy();
> -	xen_sysfs_type_destroy();
> -
> -}
> -module_init(hyper_sysfs_init);
> -module_exit(hyper_sysfs_exit);
> +device_initcall(hyper_sysfs_init);
>  
>  static ssize_t hyp_sysfs_show(struct kobject *kobj,
>  			      struct attribute *attr,
> -- 
> 2.6.1
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 5/5] drivers/xen: make platform-pci.c explicitly non-modular
       [not found] ` <1455481970-15239-6-git-send-email-paul.gortmaker@windriver.com>
@ 2016-02-15 11:55   ` Stefano Stabellini
  0 siblings, 0 replies; 10+ messages in thread
From: Stefano Stabellini @ 2016-02-15 11:55 UTC (permalink / raw)
  To: Paul Gortmaker; +Cc: xen-devel, Boris Ostrovsky, David Vrabel, linux-kernel

On Sun, 14 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.
> 
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Cc: David Vrabel <david.vrabel@citrix.com>
> Cc: xen-devel@lists.xenproject.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---
>  drivers/xen/platform-pci.c | 16 ++++++----------
>  1 file changed, 6 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/xen/platform-pci.c b/drivers/xen/platform-pci.c
> index 3454973dc3bb..302232518c98 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@xensource.com and stefano.stabellini@eu.citrix.com
> + *
>   * 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@xensource.com and stefano.stabellini@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;
> @@ -181,8 +180,6 @@ 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,
> @@ -192,9 +189,8 @@ static struct pci_driver platform_driver = {
>  #endif
>  };
>  
> -static int __init platform_pci_module_init(void)
> +static int __init platform_pci_xen_init(void)

Maybe platform_pci_register? Or rename platform_pci_init to
platform_pci_probe and this to platform_pci_init.


>  {
>  	return pci_register_driver(&platform_driver);
>  }
> -
> -module_init(platform_pci_module_init);
> +device_initcall(platform_pci_xen_init);
> -- 
> 2.6.1
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-02-15 11:57 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1455481970-15239-1-git-send-email-paul.gortmaker@windriver.com>
2016-02-14 20:32 ` [PATCH 1/5] xen: audit usages of module.h ; remove unnecessary instances Paul Gortmaker
2016-02-15 11:44   ` Stefano Stabellini
2016-02-14 20:32 ` [PATCH 2/5] drivers/xen: make [xen-]ballon explicitly non-modular Paul Gortmaker
2016-02-14 20:32 ` [PATCH 3/5] drivers/xen: make xenbus_dev_[front/back]end " Paul Gortmaker
2016-02-14 20:32 ` [PATCH 4/5] drivers/xen: make sys-hypervisor.c " Paul Gortmaker
2016-02-15 11:54   ` Stefano Stabellini
2016-02-14 20:32 ` [PATCH 5/5] drivers/xen: make platform-pci.c " Paul Gortmaker
     [not found] ` <1455481970-15239-3-git-send-email-paul.gortmaker@windriver.com>
2016-02-15 11:49   ` [PATCH 2/5] drivers/xen: make [xen-]ballon " Stefano Stabellini
     [not found] ` <1455481970-15239-4-git-send-email-paul.gortmaker@windriver.com>
2016-02-15 11:53   ` [PATCH 3/5] drivers/xen: make xenbus_dev_[front/back]end " Stefano Stabellini
     [not found] ` <1455481970-15239-6-git-send-email-paul.gortmaker@windriver.com>
2016-02-15 11:55   ` [PATCH 5/5] drivers/xen: make platform-pci.c " Stefano Stabellini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).