On Mon, 26 Mar 2007, Greg KH wrote:

> It is fine with me for you to do this, and you can send it to Linus if
> you want to, with:
>       Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
> added to all of these.
> Thanks for doing this.

To complement this, I have the following patch queued in my tree (already 
in -mm for some time), which moves all hid-related USB code from 
drivers/usb/input to drivers/hid/usbhid, as discussed before. Does the 
some thing apply please?

The only clash we have here is the usbkbd.c and usbmouse.c - my patches 
move them into hid-specific directory, as they implement the 'boot' 
version of the HID standard. What do you think?

Thanks.

 drivers/hid/Kconfig                           |    2 +
 drivers/hid/Makefile                          |    4 +
 drivers/hid/usbhid/Kconfig                    |  149 +++++++++++++++++++++++++
 drivers/hid/usbhid/Makefile                   |   35 ++++++
 drivers/{usb/input => hid/usbhid}/hid-core.c  |    0 
 drivers/{usb/input => hid/usbhid}/hid-ff.c    |    0 
 drivers/{usb/input => hid/usbhid}/hid-lgff.c  |    0 
 drivers/{usb/input => hid/usbhid}/hid-pidff.c |    0 
 drivers/{usb/input => hid/usbhid}/hid-plff.c  |    0 
 drivers/{usb/input => hid/usbhid}/hid-tmff.c  |    0 
 drivers/{usb/input => hid/usbhid}/hid-zpff.c  |    0 
 drivers/{usb/input => hid/usbhid}/hiddev.c    |    0 
 drivers/{usb/input => hid/usbhid}/usbhid.h    |    0 
 drivers/{usb/input => hid/usbhid}/usbkbd.c    |    0 
 drivers/{usb/input => hid/usbhid}/usbmouse.c  |    0 
 drivers/usb/Makefile                          |    3 -
 drivers/usb/input/Kconfig                     |  145 ------------------------
 drivers/usb/input/Makefile                    |   28 -----
 18 files changed, 190 insertions(+), 176 deletions(-)

diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
index 850788f..8fbe9fd 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
@@ -36,5 +36,7 @@ config HID_DEBUG
 
        If unsure, say N
 
+source "drivers/hid/usbhid/Kconfig"
+
 endmenu
 
diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile
index 52e97d8..68d1376 100644
--- a/drivers/hid/Makefile
+++ b/drivers/hid/Makefile
@@ -6,3 +6,7 @@ hid-objs                        := hid-core.o hid-input.o
 obj-$(CONFIG_HID)              += hid.o
 hid-$(CONFIG_HID_DEBUG)                += hid-debug.o
 
+obj-$(CONFIG_USB_HID)          += usbhid/
+obj-$(CONFIG_USB_MOUSE)                += usbhid/
+obj-$(CONFIG_USB_KBD)          += usbhid/
+
diff --git a/drivers/hid/usbhid/Kconfig b/drivers/hid/usbhid/Kconfig
new file mode 100644
index 0000000..7c87bdc
--- /dev/null
+++ b/drivers/hid/usbhid/Kconfig
@@ -0,0 +1,149 @@
+comment "USB Input Devices"
+       depends on USB
+
+config USB_HID
+       tristate "USB Human Interface Device (full HID) support"
+       default y
+       depends on USB && INPUT
+       select HID
+       ---help---
+         Say Y here if you want full HID support to connect USB keyboards,
+         mice, joysticks, graphic tablets, or any other HID based devices
+         to your computer via USB, as well as Uninterruptible Power Supply
+         (UPS) and monitor control devices.
+
+         You can't use this driver and the HIDBP (Boot Protocol) keyboard
+         and mouse drivers at the same time. More information is available:
+         <file:Documentation/input/input.txt>.
+
+         If unsure, say Y.
+
+         To compile this driver as a module, choose M here: the
+         module will be called usbhid.
+
+comment "Input core support is needed for USB HID input layer or HIDBP support"
+       depends on USB_HID && INPUT=n
+
+config USB_HIDINPUT_POWERBOOK
+       bool "Enable support for iBook/PowerBook special keys"
+       default n
+       depends on USB_HID
+       help
+         Say Y here if you want support for the special keys (Fn, Numlock) on
+         Apple iBooks and PowerBooks.
+
+         If unsure, say N.
+
+config HID_FF
+       bool "Force feedback support (EXPERIMENTAL)"
+       depends on USB_HID && EXPERIMENTAL
+       help
+         Say Y here is you want force feedback support for a few HID devices.
+         See below for a list of supported devices.
+
+         See <file:Documentation/input/ff.txt> for a description of the force
+         feedback API.
+
+         If unsure, say N.
+
+config HID_PID
+       bool "PID device support"
+       depends on HID_FF
+       help
+         Say Y here if you have a PID-compliant device and wish to enable force
+         feedback for it. Microsoft Sidewinder Force Feedback 2 is one of such
+         devices.
+
+config LOGITECH_FF
+       bool "Logitech devices support"
+       depends on HID_FF
+       select INPUT_FF_MEMLESS if USB_HID
+       help
+         Say Y here if you have one of these devices:
+         - Logitech WingMan Cordless RumblePad
+         - Logitech WingMan Cordless RumblePad 2
+         - Logitech WingMan Force 3D
+         - Logitech Formula Force EX
+         - Logitech MOMO Force wheel
+
+         and if you want to enable force feedback for them.
+         Note: if you say N here, this device will still be supported, but 
without
+         force feedback.
+
+config PANTHERLORD_FF
+       bool "PantherLord USB/PS2 2in1 Adapter support"
+       depends on HID_FF
+       select INPUT_FF_MEMLESS if USB_HID
+       help
+         Say Y here if you have a PantherLord USB/PS2 2in1 Adapter and want
+         to enable force feedback support for it.
+
+config THRUSTMASTER_FF
+       bool "ThrustMaster FireStorm Dual Power 2 support (EXPERIMENTAL)"
+       depends on HID_FF && EXPERIMENTAL
+       select INPUT_FF_MEMLESS if USB_HID
+       help
+         Say Y here if you have a THRUSTMASTER FireStore Dual Power 2,
+         and want to enable force feedback support for it.
+         Note: if you say N here, this device will still be supported, but 
without
+         force feedback.
+
+config ZEROPLUS_FF
+       bool "Zeroplus based game controller support"
+       depends on HID_FF
+       select INPUT_FF_MEMLESS if USB_HID
+       help
+         Say Y here if you have a Zeroplus based game controller and want to
+         enable force feedback for it.
+
+config USB_HIDDEV
+       bool "/dev/hiddev raw HID device support"
+       depends on USB_HID
+       help
+         Say Y here if you want to support HID devices (from the USB
+         specification standpoint) that aren't strictly user interface
+         devices, like monitor controls and Uninterruptable Power Supplies.
+
+         This module supports these devices separately using a separate
+         event interface on /dev/usb/hiddevX (char 180:96 to 180:111).
+
+         If unsure, say Y.
+
+menu "USB HID Boot Protocol drivers"
+       depends on USB!=n && USB_HID!=y
+
+config USB_KBD
+       tristate "USB HIDBP Keyboard (simple Boot) support"
+       depends on USB && INPUT
+       ---help---
+         Say Y here only if you are absolutely sure that you don't want
+         to use the generic HID driver for your USB keyboard and prefer
+         to use the keyboard in its limited Boot Protocol mode instead.
+
+         This is almost certainly not what you want.  This is mostly
+         useful for embedded applications or simple keyboards.
+
+         To compile this driver as a module, choose M here: the
+         module will be called usbkbd.
+
+         If even remotely unsure, say N.
+
+config USB_MOUSE
+       tristate "USB HIDBP Mouse (simple Boot) support"
+       depends on USB && INPUT
+       ---help---
+         Say Y here only if you are absolutely sure that you don't want
+         to use the generic HID driver for your USB mouse and prefer
+         to use the mouse in its limited Boot Protocol mode instead.
+
+         This is almost certainly not what you want.  This is mostly
+         useful for embedded applications or simple mice.
+
+         To compile this driver as a module, choose M here: the
+         module will be called usbmouse.
+
+         If even remotely unsure, say N.
+
+endmenu
+
+
diff --git a/drivers/hid/usbhid/Makefile b/drivers/hid/usbhid/Makefile
new file mode 100644
index 0000000..de9bc1f
--- /dev/null
+++ b/drivers/hid/usbhid/Makefile
@@ -0,0 +1,35 @@
+#
+# Makefile for the USB input drivers
+#
+
+# Multipart objects.
+usbhid-objs    := hid-core.o
+
+# Optional parts of multipart objects.
+
+ifeq ($(CONFIG_USB_HIDDEV),y)
+       usbhid-objs     += hiddev.o
+endif
+ifeq ($(CONFIG_HID_PID),y)
+       usbhid-objs     += hid-pidff.o
+endif
+ifeq ($(CONFIG_LOGITECH_FF),y)
+       usbhid-objs     += hid-lgff.o
+endif
+ifeq ($(CONFIG_PANTHERLORD_FF),y)
+       usbhid-objs     += hid-plff.o
+endif
+ifeq ($(CONFIG_THRUSTMASTER_FF),y)
+       usbhid-objs     += hid-tmff.o
+endif
+ifeq ($(CONFIG_ZEROPLUS_FF),y)
+       usbhid-objs     += hid-zpff.o
+endif
+ifeq ($(CONFIG_HID_FF),y)
+       usbhid-objs     += hid-ff.o
+endif
+
+obj-$(CONFIG_USB_HID)          += usbhid.o
+obj-$(CONFIG_USB_KBD)          += usbkbd.o
+obj-$(CONFIG_USB_MOUSE)                += usbmouse.o
+
diff --git a/drivers/usb/input/hid-core.c b/drivers/hid/usbhid/hid-core.c
similarity index 100%
rename from drivers/usb/input/hid-core.c
rename to drivers/hid/usbhid/hid-core.c
diff --git a/drivers/usb/input/hid-ff.c b/drivers/hid/usbhid/hid-ff.c
similarity index 100%
rename from drivers/usb/input/hid-ff.c
rename to drivers/hid/usbhid/hid-ff.c
diff --git a/drivers/usb/input/hid-lgff.c b/drivers/hid/usbhid/hid-lgff.c
similarity index 100%
rename from drivers/usb/input/hid-lgff.c
rename to drivers/hid/usbhid/hid-lgff.c
diff --git a/drivers/usb/input/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c
similarity index 100%
rename from drivers/usb/input/hid-pidff.c
rename to drivers/hid/usbhid/hid-pidff.c
diff --git a/drivers/usb/input/hid-plff.c b/drivers/hid/usbhid/hid-plff.c
similarity index 100%
rename from drivers/usb/input/hid-plff.c
rename to drivers/hid/usbhid/hid-plff.c
diff --git a/drivers/usb/input/hid-tmff.c b/drivers/hid/usbhid/hid-tmff.c
similarity index 100%
rename from drivers/usb/input/hid-tmff.c
rename to drivers/hid/usbhid/hid-tmff.c
diff --git a/drivers/usb/input/hid-zpff.c b/drivers/hid/usbhid/hid-zpff.c
similarity index 100%
rename from drivers/usb/input/hid-zpff.c
rename to drivers/hid/usbhid/hid-zpff.c
diff --git a/drivers/usb/input/hiddev.c b/drivers/hid/usbhid/hiddev.c
similarity index 100%
rename from drivers/usb/input/hiddev.c
rename to drivers/hid/usbhid/hiddev.c
diff --git a/drivers/usb/input/usbhid.h b/drivers/hid/usbhid/usbhid.h
similarity index 100%
rename from drivers/usb/input/usbhid.h
rename to drivers/hid/usbhid/usbhid.h
diff --git a/drivers/usb/input/usbkbd.c b/drivers/hid/usbhid/usbkbd.c
similarity index 100%
rename from drivers/usb/input/usbkbd.c
rename to drivers/hid/usbhid/usbkbd.c
diff --git a/drivers/usb/input/usbmouse.c b/drivers/hid/usbhid/usbmouse.c
similarity index 100%
rename from drivers/usb/input/usbmouse.c
rename to drivers/hid/usbhid/usbmouse.c
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
index 8b7ff46..f972fcc 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -27,10 +27,7 @@ obj-$(CONFIG_USB)            += storage/
 obj-$(CONFIG_USB_ACECAD)       += input/
 obj-$(CONFIG_USB_AIPTEK)       += input/
 obj-$(CONFIG_USB_ATI_REMOTE)   += input/
-obj-$(CONFIG_USB_HID)          += input/
-obj-$(CONFIG_USB_KBD)          += input/
 obj-$(CONFIG_USB_KBTAB)                += input/
-obj-$(CONFIG_USB_MOUSE)                += input/
 obj-$(CONFIG_USB_MTOUCH)       += input/
 obj-$(CONFIG_USB_POWERMATE)    += input/
 obj-$(CONFIG_USB_WACOM)                += input/
diff --git a/drivers/usb/input/Kconfig b/drivers/usb/input/Kconfig
index 69a9f3b..a792e42 100644
--- a/drivers/usb/input/Kconfig
+++ b/drivers/usb/input/Kconfig
@@ -4,151 +4,6 @@
 comment "USB Input Devices"
        depends on USB
 
-config USB_HID
-       tristate "USB Human Interface Device (full HID) support"
-       default y
-       depends on USB && INPUT
-       select HID
-       ---help---
-         Say Y here if you want full HID support to connect USB keyboards,
-         mice, joysticks, graphic tablets, or any other HID based devices
-         to your computer via USB, as well as Uninterruptible Power Supply
-         (UPS) and monitor control devices.
-
-         You can't use this driver and the HIDBP (Boot Protocol) keyboard
-         and mouse drivers at the same time. More information is available:
-         <file:Documentation/input/input.txt>.
-
-         If unsure, say Y.
-
-         To compile this driver as a module, choose M here: the
-         module will be called usbhid.
-
-comment "Input core support is needed for USB HID input layer or HIDBP support"
-       depends on USB_HID && INPUT=n
-
-config USB_HIDINPUT_POWERBOOK
-       bool "Enable support for iBook/PowerBook special keys"
-       default n
-       depends on USB_HID
-       help
-         Say Y here if you want support for the special keys (Fn, Numlock) on
-         Apple iBooks and PowerBooks.
-
-         If unsure, say N.
-
-config HID_FF
-       bool "Force feedback support (EXPERIMENTAL)"
-       depends on USB_HID && EXPERIMENTAL
-       help
-         Say Y here is you want force feedback support for a few HID devices.
-         See below for a list of supported devices.
-
-         See <file:Documentation/input/ff.txt> for a description of the force
-         feedback API.
-
-         If unsure, say N.
-
-config HID_PID
-       bool "PID device support"
-       depends on HID_FF
-       help
-         Say Y here if you have a PID-compliant device and wish to enable force
-         feedback for it. Microsoft Sidewinder Force Feedback 2 is one of such
-         devices.
-
-config LOGITECH_FF
-       bool "Logitech devices support"
-       depends on HID_FF
-       select INPUT_FF_MEMLESS if USB_HID
-       help
-         Say Y here if you have one of these devices:
-         - Logitech WingMan Cordless RumblePad
-         - Logitech WingMan Cordless RumblePad 2
-         - Logitech WingMan Force 3D
-         - Logitech Formula Force EX
-         - Logitech MOMO Force wheel
-
-         and if you want to enable force feedback for them.
-         Note: if you say N here, this device will still be supported, but 
without
-         force feedback.
-
-config PANTHERLORD_FF
-       bool "PantherLord USB/PS2 2in1 Adapter support"
-       depends on HID_FF
-       select INPUT_FF_MEMLESS if USB_HID
-       help
-         Say Y here if you have a PantherLord USB/PS2 2in1 Adapter and want
-         to enable force feedback support for it.
-
-config THRUSTMASTER_FF
-       bool "ThrustMaster FireStorm Dual Power 2 support (EXPERIMENTAL)"
-       depends on HID_FF && EXPERIMENTAL
-       select INPUT_FF_MEMLESS if USB_HID
-       help
-         Say Y here if you have a THRUSTMASTER FireStore Dual Power 2,
-         and want to enable force feedback support for it.
-         Note: if you say N here, this device will still be supported, but 
without
-         force feedback.
-
-config ZEROPLUS_FF
-       bool "Zeroplus based game controller support"
-       depends on HID_FF
-       select INPUT_FF_MEMLESS if USB_HID
-       help
-         Say Y here if you have a Zeroplus based game controller and want to
-         enable force feedback for it.
-
-config USB_HIDDEV
-       bool "/dev/hiddev raw HID device support"
-       depends on USB_HID
-       help
-         Say Y here if you want to support HID devices (from the USB
-         specification standpoint) that aren't strictly user interface
-         devices, like monitor controls and Uninterruptable Power Supplies.
-
-         This module supports these devices separately using a separate
-         event interface on /dev/usb/hiddevX (char 180:96 to 180:111).
-
-         If unsure, say Y.
-
-menu "USB HID Boot Protocol drivers"
-       depends on USB!=n && USB_HID!=y
-
-config USB_KBD
-       tristate "USB HIDBP Keyboard (simple Boot) support"
-       depends on USB && INPUT
-       ---help---
-         Say Y here only if you are absolutely sure that you don't want
-         to use the generic HID driver for your USB keyboard and prefer
-         to use the keyboard in its limited Boot Protocol mode instead.
-
-         This is almost certainly not what you want.  This is mostly
-         useful for embedded applications or simple keyboards.
-
-         To compile this driver as a module, choose M here: the
-         module will be called usbkbd.
-
-         If even remotely unsure, say N.
-
-config USB_MOUSE
-       tristate "USB HIDBP Mouse (simple Boot) support"
-       depends on USB && INPUT
-       ---help---
-         Say Y here only if you are absolutely sure that you don't want
-         to use the generic HID driver for your USB mouse and prefer
-         to use the mouse in its limited Boot Protocol mode instead.
-
-         This is almost certainly not what you want.  This is mostly
-         useful for embedded applications or simple mice.
-
-         To compile this driver as a module, choose M here: the
-         module will be called usbmouse.
-
-         If even remotely unsure, say N.
-
-endmenu
-
 config USB_AIPTEK
        tristate "Aiptek 6000U/8000U tablet support"
        depends on USB && INPUT
diff --git a/drivers/usb/input/Makefile b/drivers/usb/input/Makefile
index a9d206c..9bf420e 100644
--- a/drivers/usb/input/Makefile
+++ b/drivers/usb/input/Makefile
@@ -4,40 +4,12 @@
 
 # Multipart objects.
 wacom-objs     := wacom_wac.o wacom_sys.o
-usbhid-objs    := hid-core.o
-
-# Optional parts of multipart objects.
-
-ifeq ($(CONFIG_USB_HIDDEV),y)
-       usbhid-objs     += hiddev.o
-endif
-ifeq ($(CONFIG_HID_PID),y)
-       usbhid-objs     += hid-pidff.o
-endif
-ifeq ($(CONFIG_LOGITECH_FF),y)
-       usbhid-objs     += hid-lgff.o
-endif
-ifeq ($(CONFIG_PANTHERLORD_FF),y)
-       usbhid-objs     += hid-plff.o
-endif
-ifeq ($(CONFIG_THRUSTMASTER_FF),y)
-       usbhid-objs     += hid-tmff.o
-endif
-ifeq ($(CONFIG_ZEROPLUS_FF),y)
-       usbhid-objs     += hid-zpff.o
-endif
-ifeq ($(CONFIG_HID_FF),y)
-       usbhid-objs     += hid-ff.o
-endif
 
 obj-$(CONFIG_USB_AIPTEK)       += aiptek.o
 obj-$(CONFIG_USB_ATI_REMOTE)   += ati_remote.o
 obj-$(CONFIG_USB_ATI_REMOTE2)  += ati_remote2.o
-obj-$(CONFIG_USB_HID)          += usbhid.o
-obj-$(CONFIG_USB_KBD)          += usbkbd.o
 obj-$(CONFIG_USB_KBTAB)                += kbtab.o
 obj-$(CONFIG_USB_KEYSPAN_REMOTE)       += keyspan_remote.o
-obj-$(CONFIG_USB_MOUSE)                += usbmouse.o
 obj-$(CONFIG_USB_MTOUCH)       += mtouchusb.o
 obj-$(CONFIG_USB_ITMTOUCH)     += itmtouch.o
 obj-$(CONFIG_USB_EGALAX)       += touchkitusb.o

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to