# PPS support configuration
 #
 
-menu "PPS support"
-
-config PPS
+menuconfig PPS
        tristate "PPS support"
        ---help---
          PPS (Pulse Per Second) is a special pulse provided by some GPS
 
          To compile this driver as a module, choose M here: the module
          will be called pps_core.ko.
-if PPS
 
 config PPS_DEBUG
        bool "PPS debugging messages"
+       depends on PPS
        help
          Say Y here if you want the PPS support to produce a bunch of debug
          messages to the system log.  Select this if you are having a
 
 config NTP_PPS
        bool "PPS kernel consumer support"
-       depends on !NO_HZ_COMMON
+       depends on PPS && !NO_HZ_COMMON
        help
          This option adds support for direct in-kernel time
          synchronization using an external PPS signal.
 
          It doesn't work on tickless systems at the moment.
 
-endif
-
 source drivers/pps/clients/Kconfig
 
 source drivers/pps/generators/Kconfig
-
-endmenu
 
 # PPS clients configuration
 #
 
-if PPS
-
 comment "PPS clients support"
+       depends on PPS
 
 config PPS_CLIENT_KTIMER
        tristate "Kernel timer client (Testing client, use for debug)"
+       depends on PPS
        help
          If you say yes here you get support for a PPS debugging client
          which uses a kernel timer to generate the PPS signal.
          GPIO. To be useful you must also register a platform device
          specifying the GPIO pin and other options, usually in your board
          setup.
-
-endif
 
 #
 
 comment "PPS generators support"
+       depends on PPS
 
 config PPS_GENERATOR_PARPORT
        tristate "Parallel port PPS signal generator"
-       depends on PARPORT && BROKEN
+       depends on PPS && PARPORT && BROKEN
        help
          If you say yes here you get support for a PPS signal generator which
          utilizes STROBE pin of a parallel port to send PPS signals. It uses