HID: fix default building of HID-quirk drivers
Jiri Kosina [Wed, 15 Oct 2008 23:18:54 +0000 (01:18 +0200)]
Commit 9be7bbd54df3c9c393ccd19acc49f90c517d1291
(HID: build drivers for all quirky devices by default)
made a wrong assumption about select/depends interaction in Kconfig,
resulting in possibility of link failure with certain configuration
options.

Fix this by explicitly having all the quirk-drivers depend on
USB_HID, default to y and make the possibility to alter the
settings dependent on EBMEDDED.

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>

drivers/hid/Kconfig

index da64108..d044df5 100644 (file)
@@ -17,25 +17,6 @@ config HID
        tristate "Generic HID support"
        depends on INPUT
        default y
-        select HID_A4TECH if !EMBEDDED
-        select HID_APPLE if !EMBEDDED
-        select HID_BELKIN if !EMBEDDED
-        select HID_BRIGHT if !EMBEDDED
-        select HID_CHERRY if !EMBEDDED
-        select HID_CHICONY if !EMBEDDED
-        select HID_CYPRESS if !EMBEDDED
-        select HID_DELL if !EMBEDDED
-        select HID_EZKEY if !EMBEDDED
-        select HID_GYRATION if !EMBEDDED
-        select HID_LOGITECH if !EMBEDDED
-        select HID_MICROSOFT if !EMBEDDED
-        select HID_MONTEREY if !EMBEDDED
-        select HID_PANTHERLORD if !EMBEDDED
-        select HID_PETALYNX if !EMBEDDED
-        select HID_SAMSUNG if !EMBEDDED
-        select HID_SONY if !EMBEDDED
-        select HID_SUNPLUS if !EMBEDDED
-
        ---help---
          A human interface device (HID) is a type of computer device that
          interacts directly with and takes input from humans. The term "HID"
@@ -102,16 +83,16 @@ config HID_COMPAT
        If unsure, say Y.
 
 config HID_A4TECH
-       tristate "A4 tech"
-       default m
+       tristate "A4 tech" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for A4 tech X5 and WOP-35 / Trust 450L mice.
 
 config HID_APPLE
-       tristate "Apple"
-       default m
+       tristate "Apple" if EMBEDDED
        depends on (USB_HID || BT_HIDP)
+       default y
        ---help---
        Support for some Apple devices which less or more break
        HID specification.
@@ -123,65 +104,65 @@ config HID_APPLE
        If unsure, say M.
 
 config HID_BELKIN
-       tristate "Belkin"
-       default m
+       tristate "Belkin" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Belkin Flip KVM and Wireless keyboard.
 
 config HID_BRIGHT
-       tristate "Bright"
-       default m
+       tristate "Bright" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Bright ABNT-2 keyboard.
 
 config HID_CHERRY
-       tristate "Cherry"
-       default m
+       tristate "Cherry" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Cherry Cymotion.
 
 config HID_CHICONY
-       tristate "Chicony"
-       default m
+       tristate "Chicony" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Chicony Tactical pad.
 
 config HID_CYPRESS
-       tristate "Cypress"
-       default m
+       tristate "Cypress" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Cypress mouse and barcodes.
 
 config HID_DELL
-       tristate "Dell"
-       default m
+       tristate "Dell" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Dell W7658.
 
 config HID_EZKEY
-       tristate "Ezkey"
-       default m
+       tristate "Ezkey" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Ezkey mouse and barcodes.
 
 config HID_GYRATION
-       tristate "Gyration"
-       default m
+       tristate "Gyration" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Gyration remote.
 
 config HID_LOGITECH
-       tristate "Logitech"
-       default m
+       tristate "Logitech" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for some Logitech devices which breaks less or more
        HID specification.
@@ -211,24 +192,24 @@ config LOGIRUMBLEPAD2_FF
          Rumblepad 2 devices.
 
 config HID_MICROSOFT
-       tristate "Microsoft"
-       default m
+       tristate "Microsoft" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for some Microsoft devices which breaks less or more
        HID specification.
 
 config HID_MONTEREY
-       tristate "Monterey"
-       default m
+       tristate "Monterey" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Monterey Genius KB29E.
 
 config HID_PANTHERLORD
-       tristate "Pantherlord devices support"
-       default m
+       tristate "Pantherlord devices support" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for PantherLord/GreenAsia based device support.
 
@@ -242,30 +223,30 @@ config PANTHERLORD_FF
          or adapter and want to enable force feedback support for it.
 
 config HID_PETALYNX
-       tristate "Petalynx"
-       default m
+       tristate "Petalynx" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Petalynx Maxter remote.
 
 config HID_SAMSUNG
-       tristate "Samsung"
-       default m
+       tristate "Samsung" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Samsung IR remote.
 
 config HID_SONY
-       tristate "Sony"
-       default m
+       tristate "Sony" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Sony PS3 controller.
 
 config HID_SUNPLUS
-       tristate "Sunplus"
-       default m
+       tristate "Sunplus" if EMBEDDED
        depends on USB_HID
+       default y
        ---help---
        Support for Sunplus WDesktop input device.