linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] staging: comedi: split bus support into separate modules
@ 2014-10-31 17:47 Ian Abbott
  2014-10-31 17:47 ` [PATCH 1/5] staging: comedi: comedidev.h: remove dummy PCI support functions Ian Abbott
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Ian Abbott @ 2014-10-31 17:47 UTC (permalink / raw)
  To: driverdev-devel
  Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

The Comedi core module doesn't need support for PCI, USB or PCMCIA.
Only the low-level Comedi drivers need it.  Split the support for these
bus types out of the core "comedi" module and into new modules,
"comedi_pci", "comedi_usb", and "comedi_pcmcia".

1) staging: comedi: comedidev.h: remove dummy PCI support functions
2) staging: comedi: comedidev.h: remove some #ifdefs
3) staging: comedi: split out PCMCIA support into new module
4) staging: comedi: split out USB support into new module
5) staging: comedi: split out PCI support into new module

 drivers/staging/comedi/Kconfig         | 15 +++++++++++---
 drivers/staging/comedi/Makefile        |  7 ++++---
 drivers/staging/comedi/comedi_pci.c    | 16 ++++++++++++++
 drivers/staging/comedi/comedi_pcmcia.c | 16 ++++++++++++++
 drivers/staging/comedi/comedi_usb.c    | 16 ++++++++++++++
 drivers/staging/comedi/comedidev.h     | 38 ----------------------------------
 6 files changed, 64 insertions(+), 44 deletions(-)

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

* [PATCH 1/5] staging: comedi: comedidev.h: remove dummy PCI support functions
  2014-10-31 17:47 [PATCH 0/5] staging: comedi: split bus support into separate modules Ian Abbott
@ 2014-10-31 17:47 ` Ian Abbott
  2014-10-31 17:47 ` [PATCH 2/5] staging: comedi: comedidev.h: remove some #ifdefs Ian Abbott
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: Ian Abbott @ 2014-10-31 17:47 UTC (permalink / raw)
  To: driverdev-devel
  Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Some low-level Comedi driver modules used to handle PCI devices and ISA
devices in the same module with some conditional compilation.  To reduce
the amount of conditional compilation, some dummy inline versions of
`comedi_to_pci_dev()`, `comedi_pci_enable()`, `comedi_pci_disable()`,
and `comedi_pci_detach()` are defined in "comedidev.h" if
`CONFIG_COMEDI_PCI_DRIVERS` is undefined.  Since those Comedi low-level
driver modules have since had PCI support split out into separate
modules, there is no need to keep the dummy inline functions around any
more, so remove them.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
 drivers/staging/comedi/comedidev.h | 26 --------------------------
 1 file changed, 26 deletions(-)

diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h
index d18f702..5788b38 100644
--- a/drivers/staging/comedi/comedidev.h
+++ b/drivers/staging/comedi/comedidev.h
@@ -607,32 +607,6 @@ void comedi_pci_driver_unregister(struct comedi_driver *, struct pci_driver *);
 	module_driver(__comedi_driver, comedi_pci_driver_register, \
 			comedi_pci_driver_unregister, &(__pci_driver))
 
-#else
-
-/*
- * Some of the comedi mixed ISA/PCI drivers call the PCI specific
- * functions. Provide some dummy functions if CONFIG_COMEDI_PCI_DRIVERS
- * is not enabled.
- */
-
-static inline struct pci_dev *comedi_to_pci_dev(struct comedi_device *dev)
-{
-	return NULL;
-}
-
-static inline int comedi_pci_enable(struct comedi_device *dev)
-{
-	return -ENOSYS;
-}
-
-static inline void comedi_pci_disable(struct comedi_device *dev)
-{
-}
-
-static inline void comedi_pci_detach(struct comedi_device *dev)
-{
-}
-
 #endif /* CONFIG_COMEDI_PCI_DRIVERS */
 
 #ifdef CONFIG_COMEDI_PCMCIA_DRIVERS
-- 
2.1.1


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

* [PATCH 2/5] staging: comedi: comedidev.h: remove some #ifdefs
  2014-10-31 17:47 [PATCH 0/5] staging: comedi: split bus support into separate modules Ian Abbott
  2014-10-31 17:47 ` [PATCH 1/5] staging: comedi: comedidev.h: remove dummy PCI support functions Ian Abbott
@ 2014-10-31 17:47 ` Ian Abbott
  2014-10-31 17:47 ` [PATCH 3/5] staging: comedi: split out PCMCIA support into new module Ian Abbott
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: Ian Abbott @ 2014-10-31 17:47 UTC (permalink / raw)
  To: driverdev-devel
  Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Some declarations and macro definitions in "comedidev.h" are protected
by various `#ifdef`s for kernel configuration options, but the header
file compiles fine without the `#ifdef`s regardless of whether those
config option macros are defined or not.  Remove the `#ifdef`s and
compile the affected code unconditionally.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
 drivers/staging/comedi/comedidev.h | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h
index 5788b38..a39db7c 100644
--- a/drivers/staging/comedi/comedidev.h
+++ b/drivers/staging/comedi/comedidev.h
@@ -562,8 +562,6 @@ void comedi_driver_unregister(struct comedi_driver *);
 	module_driver(__comedi_driver, comedi_driver_register, \
 			comedi_driver_unregister)
 
-#ifdef CONFIG_COMEDI_PCI_DRIVERS
-
 /* comedi_pci.c - comedi PCI driver specific functions */
 
 /*
@@ -607,10 +605,6 @@ void comedi_pci_driver_unregister(struct comedi_driver *, struct pci_driver *);
 	module_driver(__comedi_driver, comedi_pci_driver_register, \
 			comedi_pci_driver_unregister, &(__pci_driver))
 
-#endif /* CONFIG_COMEDI_PCI_DRIVERS */
-
-#ifdef CONFIG_COMEDI_PCMCIA_DRIVERS
-
 /* comedi_pcmcia.c - comedi PCMCIA driver specific functions */
 
 struct pcmcia_driver;
@@ -644,10 +638,6 @@ void comedi_pcmcia_driver_unregister(struct comedi_driver *,
 	module_driver(__comedi_driver, comedi_pcmcia_driver_register, \
 			comedi_pcmcia_driver_unregister, &(__pcmcia_driver))
 
-#endif /* CONFIG_COMEDI_PCMCIA_DRIVERS */
-
-#ifdef CONFIG_COMEDI_USB_DRIVERS
-
 /* comedi_usb.c - comedi USB driver specific functions */
 
 struct usb_driver;
@@ -677,6 +667,4 @@ void comedi_usb_driver_unregister(struct comedi_driver *, struct usb_driver *);
 	module_driver(__comedi_driver, comedi_usb_driver_register, \
 			comedi_usb_driver_unregister, &(__usb_driver))
 
-#endif /* CONFIG_COMEDI_USB_DRIVERS */
-
 #endif /* _COMEDIDEV_H */
-- 
2.1.1


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

* [PATCH 3/5] staging: comedi: split out PCMCIA support into new module
  2014-10-31 17:47 [PATCH 0/5] staging: comedi: split bus support into separate modules Ian Abbott
  2014-10-31 17:47 ` [PATCH 1/5] staging: comedi: comedidev.h: remove dummy PCI support functions Ian Abbott
  2014-10-31 17:47 ` [PATCH 2/5] staging: comedi: comedidev.h: remove some #ifdefs Ian Abbott
@ 2014-10-31 17:47 ` Ian Abbott
  2014-10-31 17:47 ` [PATCH 4/5] staging: comedi: split out USB " Ian Abbott
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: Ian Abbott @ 2014-10-31 17:47 UTC (permalink / raw)
  To: driverdev-devel
  Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Setting the `CONFIG_COMEDI_PCMCIA_DRIVERS` kernel configuration option
makes the main "comedi" module depend on the "pcmcia" module, but many
machines don't have PCMCIA slots and only a few low-level Comedi drivers
need PCMCIA support.  The Comedi PCMCIA support functions are all in
"comedi_pcmcia.c".  Turn it into a separate module so we don't have to
pull in the other PCMCIA support modules unnecessarily.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
 drivers/staging/comedi/Kconfig         |  5 ++++-
 drivers/staging/comedi/Makefile        |  3 ++-
 drivers/staging/comedi/comedi_pcmcia.c | 16 ++++++++++++++++
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
index d4214c0..2fa5a90 100644
--- a/drivers/staging/comedi/Kconfig
+++ b/drivers/staging/comedi/Kconfig
@@ -1076,11 +1076,14 @@ config COMEDI_NI_TIOCMD
 endif # COMEDI_PCI_DRIVERS
 
 menuconfig COMEDI_PCMCIA_DRIVERS
-	bool "Comedi PCMCIA drivers"
+	tristate "Comedi PCMCIA drivers"
 	depends on PCMCIA
 	---help---
 	  Enable support for comedi PCMCIA drivers.
 
+	  To compile this support as a module, choose M here: the module will
+	  be called comedi_pcmcia.
+
 if COMEDI_PCMCIA_DRIVERS
 
 config COMEDI_CB_DAS16_CS
diff --git a/drivers/staging/comedi/Makefile b/drivers/staging/comedi/Makefile
index fae2d90..cfb121a 100644
--- a/drivers/staging/comedi/Makefile
+++ b/drivers/staging/comedi/Makefile
@@ -3,11 +3,12 @@ ccflags-$(CONFIG_COMEDI_DEBUG)		:= -DDEBUG
 comedi-y				:= comedi_fops.o range.o drivers.o \
 					   comedi_buf.o
 comedi-$(CONFIG_COMEDI_PCI_DRIVERS)	+= comedi_pci.o
-comedi-$(CONFIG_COMEDI_PCMCIA_DRIVERS)	+= comedi_pcmcia.o
 comedi-$(CONFIG_COMEDI_USB_DRIVERS)	+= comedi_usb.o
 comedi-$(CONFIG_PROC_FS)		+= proc.o
 comedi-$(CONFIG_COMPAT)			+= comedi_compat32.o
 
+obj-$(CONFIG_COMEDI_PCMCIA_DRIVERS)	+= comedi_pcmcia.o
+
 obj-$(CONFIG_COMEDI)			+= comedi.o
 
 obj-$(CONFIG_COMEDI)			+= kcomedilib/
diff --git a/drivers/staging/comedi/comedi_pcmcia.c b/drivers/staging/comedi/comedi_pcmcia.c
index 9d49d5d..0529bae 100644
--- a/drivers/staging/comedi/comedi_pcmcia.c
+++ b/drivers/staging/comedi/comedi_pcmcia.c
@@ -16,6 +16,7 @@
  * GNU General Public License for more details.
  */
 
+#include <linux/module.h>
 #include <linux/kernel.h>
 
 #include <pcmcia/cistpl.h>
@@ -154,3 +155,18 @@ void comedi_pcmcia_driver_unregister(struct comedi_driver *comedi_driver,
 	comedi_driver_unregister(comedi_driver);
 }
 EXPORT_SYMBOL_GPL(comedi_pcmcia_driver_unregister);
+
+static int __init comedi_pcmcia_init(void)
+{
+	return 0;
+}
+module_init(comedi_pcmcia_init);
+
+static void __exit comedi_pcmcia_exit(void)
+{
+}
+module_exit(comedi_pcmcia_exit);
+
+MODULE_AUTHOR("http://www.comedi.org");
+MODULE_DESCRIPTION("Comedi PCMCIA interface module");
+MODULE_LICENSE("GPL");
-- 
2.1.1


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

* [PATCH 4/5] staging: comedi: split out USB support into new module
  2014-10-31 17:47 [PATCH 0/5] staging: comedi: split bus support into separate modules Ian Abbott
                   ` (2 preceding siblings ...)
  2014-10-31 17:47 ` [PATCH 3/5] staging: comedi: split out PCMCIA support into new module Ian Abbott
@ 2014-10-31 17:47 ` Ian Abbott
  2014-10-31 17:47 ` [PATCH 5/5] staging: comedi: split out PCI " Ian Abbott
  2014-10-31 18:19 ` [PATCH 0/5] staging: comedi: split bus support into separate modules Hartley Sweeten
  5 siblings, 0 replies; 13+ messages in thread
From: Ian Abbott @ 2014-10-31 17:47 UTC (permalink / raw)
  To: driverdev-devel
  Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Setting the `CONFIG_COMEDI_USB_DRIVERS` kernel configuration option
makes the main "comedi" module depend on the "usbcore" module.  But
perhaps the machine has no USB controllers (or they have been disabled),
in which case the "usbcore" module may have been pulled in
unnecessarily.  Only a few low-level Comedi drivers require USB support.
The Comedi USB support functions are all in "comedi_usb.c".  Turn it
into a separate module so we don't have to pull in the "usbcore" and
"usb_common" modules unnecessarily.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
 drivers/staging/comedi/Kconfig      |  5 ++++-
 drivers/staging/comedi/Makefile     |  2 +-
 drivers/staging/comedi/comedi_usb.c | 16 ++++++++++++++++
 3 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
index 2fa5a90..a38680d 100644
--- a/drivers/staging/comedi/Kconfig
+++ b/drivers/staging/comedi/Kconfig
@@ -1155,11 +1155,14 @@ config COMEDI_QUATECH_DAQP_CS
 endif # COMEDI_PCMCIA_DRIVERS
 
 menuconfig COMEDI_USB_DRIVERS
-	bool "Comedi USB drivers"
+	tristate "Comedi USB drivers"
 	depends on USB
 	---help---
 	  Enable support for comedi USB drivers.
 
+	  To compile this support as a module, choose M here: the module will
+	  be called comedi_usb.
+
 if COMEDI_USB_DRIVERS
 
 config COMEDI_DT9812
diff --git a/drivers/staging/comedi/Makefile b/drivers/staging/comedi/Makefile
index cfb121a..e28eaeb 100644
--- a/drivers/staging/comedi/Makefile
+++ b/drivers/staging/comedi/Makefile
@@ -3,11 +3,11 @@ ccflags-$(CONFIG_COMEDI_DEBUG)		:= -DDEBUG
 comedi-y				:= comedi_fops.o range.o drivers.o \
 					   comedi_buf.o
 comedi-$(CONFIG_COMEDI_PCI_DRIVERS)	+= comedi_pci.o
-comedi-$(CONFIG_COMEDI_USB_DRIVERS)	+= comedi_usb.o
 comedi-$(CONFIG_PROC_FS)		+= proc.o
 comedi-$(CONFIG_COMPAT)			+= comedi_compat32.o
 
 obj-$(CONFIG_COMEDI_PCMCIA_DRIVERS)	+= comedi_pcmcia.o
+obj-$(CONFIG_COMEDI_USB_DRIVERS)	+= comedi_usb.o
 
 obj-$(CONFIG_COMEDI)			+= comedi.o
 
diff --git a/drivers/staging/comedi/comedi_usb.c b/drivers/staging/comedi/comedi_usb.c
index 13f18be..0b862a6 100644
--- a/drivers/staging/comedi/comedi_usb.c
+++ b/drivers/staging/comedi/comedi_usb.c
@@ -16,6 +16,7 @@
  * GNU General Public License for more details.
  */
 
+#include <linux/module.h>
 #include <linux/usb.h>
 
 #include "comedidev.h"
@@ -114,3 +115,18 @@ void comedi_usb_driver_unregister(struct comedi_driver *comedi_driver,
 	comedi_driver_unregister(comedi_driver);
 }
 EXPORT_SYMBOL_GPL(comedi_usb_driver_unregister);
+
+static int __init comedi_usb_init(void)
+{
+	return 0;
+}
+module_init(comedi_usb_init);
+
+static void __exit comedi_usb_exit(void)
+{
+}
+module_exit(comedi_usb_exit);
+
+MODULE_AUTHOR("http://www.comedi.org");
+MODULE_DESCRIPTION("Comedi USB interface module");
+MODULE_LICENSE("GPL");
-- 
2.1.1


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

* [PATCH 5/5] staging: comedi: split out PCI support into new module
  2014-10-31 17:47 [PATCH 0/5] staging: comedi: split bus support into separate modules Ian Abbott
                   ` (3 preceding siblings ...)
  2014-10-31 17:47 ` [PATCH 4/5] staging: comedi: split out USB " Ian Abbott
@ 2014-10-31 17:47 ` Ian Abbott
  2014-10-31 18:19 ` [PATCH 0/5] staging: comedi: split bus support into separate modules Hartley Sweeten
  5 siblings, 0 replies; 13+ messages in thread
From: Ian Abbott @ 2014-10-31 17:47 UTC (permalink / raw)
  To: driverdev-devel
  Cc: Greg Kroah-Hartman, Ian Abbott, H Hartley Sweeten, linux-kernel

Setting the `CONFIG_COMEDI_PCI_DRIVERS` kernel configuration option
makes the main "comedi" module depend on the PCI support in the kernel.
That's not that big a deal since PCI support in the kernel is either
built into the kernel or is absent, and is not in a separate module.
Still, not all low-level Comedi drivers need PCI support, so we could
save a bit of space by not including it.  The Comedi PCI support
functions are all in "comedi_pci.c".  Turn it into a separate module so
the support code doesn't have to be loaded unnecessarily.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
---
 drivers/staging/comedi/Kconfig      |  5 ++++-
 drivers/staging/comedi/Makefile     |  2 +-
 drivers/staging/comedi/comedi_pci.c | 16 ++++++++++++++++
 3 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
index a38680d..2249b97 100644
--- a/drivers/staging/comedi/Kconfig
+++ b/drivers/staging/comedi/Kconfig
@@ -563,11 +563,14 @@ config COMEDI_S526
 endif # COMEDI_ISA_DRIVERS
 
 menuconfig COMEDI_PCI_DRIVERS
-	bool "Comedi PCI drivers"
+	tristate "Comedi PCI drivers"
 	depends on PCI
 	---help---
 	  Enable support for comedi PCI drivers.
 
+	  To compile this support as a module, choose M here: the module will
+	  be called comedi_pci.
+
 if COMEDI_PCI_DRIVERS
 
 config COMEDI_8255_PCI
diff --git a/drivers/staging/comedi/Makefile b/drivers/staging/comedi/Makefile
index e28eaeb..7f9dfb3 100644
--- a/drivers/staging/comedi/Makefile
+++ b/drivers/staging/comedi/Makefile
@@ -2,10 +2,10 @@ ccflags-$(CONFIG_COMEDI_DEBUG)		:= -DDEBUG
 
 comedi-y				:= comedi_fops.o range.o drivers.o \
 					   comedi_buf.o
-comedi-$(CONFIG_COMEDI_PCI_DRIVERS)	+= comedi_pci.o
 comedi-$(CONFIG_PROC_FS)		+= proc.o
 comedi-$(CONFIG_COMPAT)			+= comedi_compat32.o
 
+obj-$(CONFIG_COMEDI_PCI_DRIVERS)	+= comedi_pci.o
 obj-$(CONFIG_COMEDI_PCMCIA_DRIVERS)	+= comedi_pcmcia.o
 obj-$(CONFIG_COMEDI_USB_DRIVERS)	+= comedi_usb.o
 
diff --git a/drivers/staging/comedi/comedi_pci.c b/drivers/staging/comedi/comedi_pci.c
index aa0795a..6ba59c9 100644
--- a/drivers/staging/comedi/comedi_pci.c
+++ b/drivers/staging/comedi/comedi_pci.c
@@ -16,6 +16,7 @@
  * GNU General Public License for more details.
  */
 
+#include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/interrupt.h>
 
@@ -168,3 +169,18 @@ void comedi_pci_driver_unregister(struct comedi_driver *comedi_driver,
 	comedi_driver_unregister(comedi_driver);
 }
 EXPORT_SYMBOL_GPL(comedi_pci_driver_unregister);
+
+static int __init comedi_pci_init(void)
+{
+	return 0;
+}
+module_init(comedi_pci_init);
+
+static void __exit comedi_pci_exit(void)
+{
+}
+module_exit(comedi_pci_exit);
+
+MODULE_AUTHOR("http://www.comedi.org");
+MODULE_DESCRIPTION("Comedi PCI interface module");
+MODULE_LICENSE("GPL");
-- 
2.1.1


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

* RE: [PATCH 0/5] staging: comedi: split bus support into separate modules
  2014-10-31 17:47 [PATCH 0/5] staging: comedi: split bus support into separate modules Ian Abbott
                   ` (4 preceding siblings ...)
  2014-10-31 17:47 ` [PATCH 5/5] staging: comedi: split out PCI " Ian Abbott
@ 2014-10-31 18:19 ` Hartley Sweeten
  2014-10-31 22:08   ` Ian Abbott
  5 siblings, 1 reply; 13+ messages in thread
From: Hartley Sweeten @ 2014-10-31 18:19 UTC (permalink / raw)
  To: Ian Abbott, driverdev-devel; +Cc: Greg Kroah-Hartman, linux-kernel

On Friday, October 31, 2014 10:48 AM, Ian Abbott wrote:
> The Comedi core module doesn't need support for PCI, USB or PCMCIA.
> Only the low-level Comedi drivers need it.  Split the support for these
> bus types out of the core "comedi" module and into new modules,
> "comedi_pci", "comedi_usb", and "comedi_pcmcia".
>
> 1) staging: comedi: comedidev.h: remove dummy PCI support functions
> 2) staging: comedi: comedidev.h: remove some #ifdefs
> 3) staging: comedi: split out PCMCIA support into new module
> 4) staging: comedi: split out USB support into new module
> 5) staging: comedi: split out PCI support into new module

Ian,

Is this really necessary?

The pci, usb, and pcmcia support is already conditionally compiled in.
The support does get added to the main comedi module instead of
as separate modules but that shouldn't be a problem.

Regards,
Hartley


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

* Re: [PATCH 0/5] staging: comedi: split bus support into separate modules
  2014-10-31 18:19 ` [PATCH 0/5] staging: comedi: split bus support into separate modules Hartley Sweeten
@ 2014-10-31 22:08   ` Ian Abbott
  2014-10-31 22:18     ` Hartley Sweeten
  0 siblings, 1 reply; 13+ messages in thread
From: Ian Abbott @ 2014-10-31 22:08 UTC (permalink / raw)
  To: Hartley Sweeten, driverdev-devel; +Cc: Greg Kroah-Hartman, linux-kernel

On 31/10/14 18:19, Hartley Sweeten wrote:
> On Friday, October 31, 2014 10:48 AM, Ian Abbott wrote:
>> The Comedi core module doesn't need support for PCI, USB or PCMCIA.
>> Only the low-level Comedi drivers need it.  Split the support for these
>> bus types out of the core "comedi" module and into new modules,
>> "comedi_pci", "comedi_usb", and "comedi_pcmcia".
>>
>> 1) staging: comedi: comedidev.h: remove dummy PCI support functions
>> 2) staging: comedi: comedidev.h: remove some #ifdefs
>> 3) staging: comedi: split out PCMCIA support into new module
>> 4) staging: comedi: split out USB support into new module
>> 5) staging: comedi: split out PCI support into new module
>
> Ian,
>
> Is this really necessary?
>
> The pci, usb, and pcmcia support is already conditionally compiled in.
> The support does get added to the main comedi module instead of
> as separate modules but that shouldn't be a problem.

Well a lot of potentially unused module space could get pulled in if 
using a stock distro kernel. For example, the USB dependencies amount to 
over 200k. Not so bad for the others, especially PCI where the code is 
built in anyway.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-

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

* RE: [PATCH 0/5] staging: comedi: split bus support into separate modules
  2014-10-31 22:08   ` Ian Abbott
@ 2014-10-31 22:18     ` Hartley Sweeten
  2014-10-31 22:53       ` Ian Abbott
  0 siblings, 1 reply; 13+ messages in thread
From: Hartley Sweeten @ 2014-10-31 22:18 UTC (permalink / raw)
  To: Ian Abbott, driverdev-devel; +Cc: Greg Kroah-Hartman, linux-kernel

On Friday, October 31, 2014 3:09 PM, Ian Abbott wrote:
> On 31/10/14 18:19, Hartley Sweeten wrote:
>> On Friday, October 31, 2014 10:48 AM, Ian Abbott wrote:
>>> The Comedi core module doesn't need support for PCI, USB or PCMCIA.
>>> Only the low-level Comedi drivers need it.  Split the support for these
>>> bus types out of the core "comedi" module and into new modules,
>>> "comedi_pci", "comedi_usb", and "comedi_pcmcia".
>>>
>>> 1) staging: comedi: comedidev.h: remove dummy PCI support functions
>>> 2) staging: comedi: comedidev.h: remove some #ifdefs
>>> 3) staging: comedi: split out PCMCIA support into new module
>>> 4) staging: comedi: split out USB support into new module
>>> 5) staging: comedi: split out PCI support into new module
>>
>> Ian,
>>
>> Is this really necessary?
>>
>> The pci, usb, and pcmcia support is already conditionally compiled in.
>> The support does get added to the main comedi module instead of
>> as separate modules but that shouldn't be a problem.
>
> Well a lot of potentially unused module space could get pulled in if 
> using a stock distro kernel. For example, the USB dependencies amount to 
> over 200k. Not so bad for the others, especially PCI where the code is 
> built in anyway.

But its only pulled in if the user selected the usb, pci, and/or pcmcia
comedi drivers. And if they selected any of those options they will
need the that code anyway.

Splitting the bus specific code out of the comdi core module doesn't
lower the total module space used it just spreads it from one to possibly
four modules. And it increases the module dependancies for all the
usb, pci, and pcmcia comedi drivers.

To be clear, I'm not against this series I just want to make sure it's worth
applying.

Regards,
Hartley



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

* Re: [PATCH 0/5] staging: comedi: split bus support into separate modules
  2014-10-31 22:18     ` Hartley Sweeten
@ 2014-10-31 22:53       ` Ian Abbott
  2014-10-31 23:00         ` Ian Abbott
  0 siblings, 1 reply; 13+ messages in thread
From: Ian Abbott @ 2014-10-31 22:53 UTC (permalink / raw)
  To: Hartley Sweeten, driverdev-devel; +Cc: Greg Kroah-Hartman, linux-kernel

On 31/10/14 22:18, Hartley Sweeten wrote:
> On Friday, October 31, 2014 3:09 PM, Ian Abbott wrote:
>> On 31/10/14 18:19, Hartley Sweeten wrote:
>>> On Friday, October 31, 2014 10:48 AM, Ian Abbott wrote:
>>>> The Comedi core module doesn't need support for PCI, USB or PCMCIA.
>>>> Only the low-level Comedi drivers need it.  Split the support for these
>>>> bus types out of the core "comedi" module and into new modules,
>>>> "comedi_pci", "comedi_usb", and "comedi_pcmcia".
>>>>
>>>> 1) staging: comedi: comedidev.h: remove dummy PCI support functions
>>>> 2) staging: comedi: comedidev.h: remove some #ifdefs
>>>> 3) staging: comedi: split out PCMCIA support into new module
>>>> 4) staging: comedi: split out USB support into new module
>>>> 5) staging: comedi: split out PCI support into new module
>>>
>>> Ian,
>>>
>>> Is this really necessary?
>>>
>>> The pci, usb, and pcmcia support is already conditionally compiled in.
>>> The support does get added to the main comedi module instead of
>>> as separate modules but that shouldn't be a problem.
>>
>> Well a lot of potentially unused module space could get pulled in if
>> using a stock distro kernel. For example, the USB dependencies amount to
>> over 200k. Not so bad for the others, especially PCI where the code is
>> built in anyway.
>
> But its only pulled in if the user selected the usb, pci, and/or pcmcia
> comedi drivers. And if they selected any of those options they will
> need the that code anyway.

Yes, if the user configured and compiled the kernel his or herself.  I 
was more concerned with using distro kernel binaries.

> Splitting the bus specific code out of the comdi core module doesn't
> lower the total module space used it just spreads it from one to possibly
> four modules. And it increases the module dependancies for all the
> usb, pci, and pcmcia comedi drivers.

Yes, you might have to load one more module to load the modules for a 
particular card, but modprobe can take care of that. It's only a pain if 
you're loading the modules individually.  On the other hand, to load the 
"comedi_test.ko" module using insmod on a desktop PC on Debian for 
example (assuming the USB modules are already loaded), you'd first have 
to load the "pcmcia_core" and "pcmcia" modules before the "comedi" and 
"comedi_test" modules. But with the PCMCIA support separated out, you'd 
just have to load the "comedi" and "comedi_test" modules.

> To be clear, I'm not against this series I just want to make sure it's worth
> applying.

I like the idea of the core comedi module being separated from all the 
various buses. And other buses can be added easily without pulling extra 
dependencies into the core (e.g. for platform or spi devices).

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-

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

* Re: [PATCH 0/5] staging: comedi: split bus support into separate modules
  2014-10-31 22:53       ` Ian Abbott
@ 2014-10-31 23:00         ` Ian Abbott
  2014-11-05 22:50           ` Greg Kroah-Hartman
  0 siblings, 1 reply; 13+ messages in thread
From: Ian Abbott @ 2014-10-31 23:00 UTC (permalink / raw)
  To: Hartley Sweeten, driverdev-devel; +Cc: Greg Kroah-Hartman, linux-kernel

On 31/10/14 22:53, Ian Abbott wrote:
> I like the idea of the core comedi module being separated from all the
> various buses. And other buses can be added easily without pulling extra
> dependencies into the core (e.g. for platform or spi devices).

And if this get's accepted, I'd like to complete the separation by 
moving the PCI, USB and PCMCIA stuf out of the "comedidev.h" header into 
their own headers, which obviously means small edits to most of the 
low-level drivers to #include different headers. (But then, 
"comedi_pci.h" could #include <linux/pci.h> for example.)

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk> )=-
-=(                          Web: http://www.mev.co.uk/  )=-

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

* Re: [PATCH 0/5] staging: comedi: split bus support into separate modules
  2014-10-31 23:00         ` Ian Abbott
@ 2014-11-05 22:50           ` Greg Kroah-Hartman
  2014-11-05 23:13             ` Hartley Sweeten
  0 siblings, 1 reply; 13+ messages in thread
From: Greg Kroah-Hartman @ 2014-11-05 22:50 UTC (permalink / raw)
  To: Ian Abbott; +Cc: Hartley Sweeten, driverdev-devel, linux-kernel

On Fri, Oct 31, 2014 at 11:00:54PM +0000, Ian Abbott wrote:
> On 31/10/14 22:53, Ian Abbott wrote:
> >I like the idea of the core comedi module being separated from all the
> >various buses. And other buses can be added easily without pulling extra
> >dependencies into the core (e.g. for platform or spi devices).
> 
> And if this get's accepted, I'd like to complete the separation by moving
> the PCI, USB and PCMCIA stuf out of the "comedidev.h" header into their own
> headers, which obviously means small edits to most of the low-level drivers
> to #include different headers. (But then, "comedi_pci.h" could #include
> <linux/pci.h> for example.)

Hartley, any objection to me applying this series?

greg k-h

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

* RE: [PATCH 0/5] staging: comedi: split bus support into separate modules
  2014-11-05 22:50           ` Greg Kroah-Hartman
@ 2014-11-05 23:13             ` Hartley Sweeten
  0 siblings, 0 replies; 13+ messages in thread
From: Hartley Sweeten @ 2014-11-05 23:13 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Ian Abbott; +Cc: driverdev-devel, linux-kernel

On Wednesday, November 05, 2014 3:51 PM, Greg Kroah-Hartman wrote:
> On Fri, Oct 31, 2014 at 11:00:54PM +0000, Ian Abbott wrote:
>> On 31/10/14 22:53, Ian Abbott wrote:
>>> I like the idea of the core comedi module being separated from all the
>>> various buses. And other buses can be added easily without pulling extra
>>> dependencies into the core (e.g. for platform or spi devices).
>> 
>> And if this get's accepted, I'd like to complete the separation by moving
>> the PCI, USB and PCMCIA stuf out of the "comedidev.h" header into their own
>> headers, which obviously means small edits to most of the low-level drivers
>> to #include different headers. (But then, "comedi_pci.h" could #include
>> <linux/pci.h> for example.)
>
> Hartley, any objection to me applying this series?

No objections... Just questions... ;-)

Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>

Hartley

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

end of thread, other threads:[~2014-11-05 23:13 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-31 17:47 [PATCH 0/5] staging: comedi: split bus support into separate modules Ian Abbott
2014-10-31 17:47 ` [PATCH 1/5] staging: comedi: comedidev.h: remove dummy PCI support functions Ian Abbott
2014-10-31 17:47 ` [PATCH 2/5] staging: comedi: comedidev.h: remove some #ifdefs Ian Abbott
2014-10-31 17:47 ` [PATCH 3/5] staging: comedi: split out PCMCIA support into new module Ian Abbott
2014-10-31 17:47 ` [PATCH 4/5] staging: comedi: split out USB " Ian Abbott
2014-10-31 17:47 ` [PATCH 5/5] staging: comedi: split out PCI " Ian Abbott
2014-10-31 18:19 ` [PATCH 0/5] staging: comedi: split bus support into separate modules Hartley Sweeten
2014-10-31 22:08   ` Ian Abbott
2014-10-31 22:18     ` Hartley Sweeten
2014-10-31 22:53       ` Ian Abbott
2014-10-31 23:00         ` Ian Abbott
2014-11-05 22:50           ` Greg Kroah-Hartman
2014-11-05 23:13             ` Hartley Sweeten

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).