Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1333558

[PATCH 2/5] drivers/xen: make [xen-]ballon explicitly non-modular

From Paul Gortmaker <paul.gortmaker@windriver.com>
Newsgroups linux.kernel
Subject [PATCH 2/5] drivers/xen: make [xen-]ballon explicitly non-modular
Date 2016-02-14 21:40 +0100
Message-ID <r2bCy-7Mr-23@gated-at.bofh.it> (permalink)
References <r2bCy-7Mr-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/5] xen: avoid module usage in non-modular code Paul Gortmaker <paul.gortmaker@windriver.com> - 2016-02-14 21:40 +0100
  [PATCH 2/5] drivers/xen: make [xen-]ballon explicitly non-modular Paul Gortmaker <paul.gortmaker@windriver.com> - 2016-02-14 21:40 +0100
    Re: [PATCH 2/5] drivers/xen: make [xen-]ballon explicitly  non-modular Stefano Stabellini <stefano.stabellini@eu.citrix.com> - 2016-02-15 13:00 +0100
  [PATCH 4/5] drivers/xen: make sys-hypervisor.c explicitly non-modular Paul Gortmaker <paul.gortmaker@windriver.com> - 2016-02-14 21:40 +0100
    Re: [PATCH 4/5] drivers/xen: make sys-hypervisor.c explicitly  non-modular Stefano Stabellini <stefano.stabellini@eu.citrix.com> - 2016-02-15 13:00 +0100
  [PATCH 3/5] drivers/xen: make xenbus_dev_[front/back]end explicitly non-modular Paul Gortmaker <paul.gortmaker@windriver.com> - 2016-02-14 21:40 +0100
    Re: [Xen-devel] [PATCH 3/5] drivers/xen: make xenbus_dev_[front/back]end  explicitly non-modular Stefano Stabellini <stefano.stabellini@eu.citrix.com> - 2016-02-15 13:00 +0100
  [PATCH 1/5] xen: audit usages of module.h ; remove unnecessary instances Paul Gortmaker <paul.gortmaker@windriver.com> - 2016-02-14 21:40 +0100
    Re: [PATCH 1/5] xen: audit usages of module.h ; remove unnecessary  instances Stefano Stabellini <stefano.stabellini@eu.citrix.com> - 2016-02-15 12:50 +0100

csiph-web