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


Groups > linux.kernel > #1480062

[PATCH] fmc: don't include moduleparam.h in include/linux header files.

From Paul Gortmaker <paul.gortmaker@windriver.com>
Newsgroups linux.kernel
Subject [PATCH] fmc: don't include moduleparam.h in include/linux header files.
Date 2016-09-09 16:30 +0200
Message-ID <sfuYy-40N-47@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


We try to keep cross linkages between include/linux files to
a minimum wherever possible.  To that end, we avoid having the
include/linux headers sourcing module.h or moduleparam.h (which
sources module.h).

Here we see moduleparam.h was included in one for the following:

  /* These are the generic parameters, that drivers may instantiate */
  #define FMC_PARAM_BUSID(_d) \
      module_param_array_named(busid, _d.busid_val, int, &_d.busid_n, 0444)
  #define FMC_PARAM_GATEWARE(_d) \
      module_param_array_named(gateware, _d.gw_val, charp, &_d.gw_n, 0444)

However, since they are #define, it is the driver's responsibility to
include moduleparam.h should it decide to make use of any of these.

So move the include to the one and only driver to use these macros and
ensure we keep setting the proper example in include/linux headers.

Cc: Alessandro Rubini <rubini@gnudd.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/fmc/fmc-trivial.c | 1 +
 include/linux/fmc.h       | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/fmc/fmc-trivial.c b/drivers/fmc/fmc-trivial.c
index 6c590f54c79d..44d93dd88a5f 100644
--- a/drivers/fmc/fmc-trivial.c
+++ b/drivers/fmc/fmc-trivial.c
@@ -13,6 +13,7 @@
 
 /* A trivial fmc driver that can load a gateware file and reports interrupts */
 #include <linux/module.h>
+#include <linux/moduleparam.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/gpio.h>
diff --git a/include/linux/fmc.h b/include/linux/fmc.h
index a5f0aa5c2a8d..2aeea0a747a4 100644
--- a/include/linux/fmc.h
+++ b/include/linux/fmc.h
@@ -10,7 +10,6 @@
 #ifndef __LINUX_FMC_H__
 #define __LINUX_FMC_H__
 #include <linux/types.h>
-#include <linux/moduleparam.h>
 #include <linux/device.h>
 #include <linux/list.h>
 #include <linux/interrupt.h>
-- 
2.8.4

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


Thread

[PATCH] fmc: don't include moduleparam.h in include/linux header files. Paul Gortmaker <paul.gortmaker@windriver.com> - 2016-09-09 16:30 +0200
  Re: [PATCH] fmc: don't include moduleparam.h in include/linux header  files. Alessandro Rubini <rubini@gnudd.com> - 2016-09-09 17:10 +0200

csiph-web