#
# Character device configuration
#
mainmenu_option next_comment
comment 'Character devices'

bool 'Virtual terminal' CONFIG_VT
if [ "$CONFIG_VT" = "y" ]; then
   bool '  Support for console on virtual terminal' CONFIG_VT_CONSOLE
fi
tristate 'Standard/generic (8250/16550 and compatible UARTs) serial support' CONFIG_SERIAL
if [ "$CONFIG_SERIAL" = "y" ]; then
   bool '  Support for console on serial port' CONFIG_SERIAL_CONSOLE
   if [ "$CONFIG_ARCH_ACORN" = "y" ]; then
      tristate '   Atomwide serial port support' CONFIG_ATOMWIDE_SERIAL
      tristate '   Dual serial port support' CONFIG_DUALSP_SERIAL
   fi
fi
if [ "$CONFIG_ACPI" = "y" -a "$CONFIG_IA64" = "y" ]; then
   bool '  Support for serial ports defined by ACPI tables' CONFIG_SERIAL_ACPI
fi
dep_mbool 'Extended dumb serial driver options' CONFIG_SERIAL_EXTENDED $CONFIG_SERIAL
if [ "$CONFIG_SERIAL_EXTENDED" = "y" ]; then
   bool '  Support more than 4 serial ports' CONFIG_SERIAL_MANY_PORTS
   bool '  Support for sharing serial interrupts' CONFIG_SERIAL_SHARE_IRQ
   bool '  Autodetect IRQ on standard ports (unsafe)' CONFIG_SERIAL_DETECT_IRQ
   bool '  Support special multiport boards' CONFIG_SERIAL_MULTIPORT
   bool '  Support the Bell Technologies HUB6 card' CONFIG_HUB6
fi
bool 'Non-standard serial port support' CONFIG_SERIAL_NONSTANDARD
if [ "$CONFIG_SERIAL_NONSTANDARD" = "y" ]; then
   tristate '  Computone IntelliPort Plus serial support' CONFIG_COMPUTONE
   tristate '  Comtrol Rocketport support' CONFIG_ROCKETPORT
   tristate '  Cyclades async mux support' CONFIG_CYCLADES
   if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_CYCLADES" != "n" ]; then
      bool '    Cyclades-Z interrupt mode operation (EXPERIMENTAL)' CONFIG_CYZ_INTR
   fi
   tristate '  Digiboard Intelligent Async Support' CONFIG_DIGIEPCA
   if [ "$CONFIG_DIGIEPCA" = "n" ]; then
      tristate '  Digiboard PC/Xx Support' CONFIG_DIGI
   fi
   tristate '  Hayes ESP serial port support' CONFIG_ESPSERIAL
   tristate '  Moxa Intellio support' CONFIG_MOXA_INTELLIO
   tristate '  Moxa SmartIO support' CONFIG_MOXA_SMARTIO
   if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
      dep_tristate '  Multi-Tech multiport card support (EXPERIMENTAL)' CONFIG_ISI m
   fi
   tristate '  Microgate SyncLink card support' CONFIG_SYNCLINK
   tristate '  HDLC line discipline support' CONFIG_N_HDLC
   tristate '  SDL RISCom/8 card support' CONFIG_RISCOM8
   tristate '  Specialix IO8+ card support' CONFIG_SPECIALIX
   if [ "$CONFIG_SPECIALIX" != "n" ]; then
      bool '  Specialix DTR/RTS pin is RTS' CONFIG_SPECIALIX_RTSCTS
   fi 
   tristate '  Specialix SX (and SI) card support' CONFIG_SX
   tristate '  Specialix RIO system support' CONFIG_RIO
   if [ "$CONFIG_RIO" != "n" ]; then
     bool '    Support really old RIO/PCI cards' CONFIG_RIO_OLDPCI
   fi
   bool '  Stallion multiport serial support' CONFIG_STALDRV
   if [ "$CONFIG_STALDRV" = "y" ]; then
     tristate '    Stallion EasyIO or EC8/32 support' CONFIG_STALLION
     tristate '    Stallion EC8/64, ONboard, Brumby support' CONFIG_ISTALLION
   fi
   if [ "$CONFIG_MIPS" = "y" ]; then
     bool '  TMPTX3912/PR31700 serial port support' CONFIG_SERIAL_TX3912
     dep_bool '     Console on TMPTX3912/PR31700 serial port' CONFIG_SERIAL_TX3912_CONSOLE $CONFIG_SERIAL_TX3912
     bool '  Enable Au1000 UART Support' CONFIG_AU1000_UART
     if [ "$CONFIG_AU1000_UART" = "y" ]; then
         bool '        Enable Au1000 serial console' CONFIG_AU1000_SERIAL_CONSOLE
     fi
   fi
fi
if [ "$CONFIG_IT8712" = "y" ]; then
   bool 'Enable Qtronix 990P Keyboard Support' CONFIG_QTRONIX_KEYBOARD
   if [ "$CONFIG_QTRONIX_KEYBOARD" = "y" ]; then
     define_bool CONFIG_IT8172_CIR y
   else
     bool '    Enable PS2 Keyboard Support' CONFIG_PC_KEYB
   fi
   bool 'Enable Smart Card Reader 0 Support ' CONFIG_IT8172_SCR0
   bool 'Enable Smart Card Reader 1 Support ' CONFIG_IT8172_SCR1
fi
if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_ZORRO" = "y" ]; then
   tristate 'Commodore A2232 serial support (EXPERIMENTAL)' CONFIG_A2232
fi
if [ "$CONFIG_FOOTBRIDGE" = "y" ]; then
   bool 'DC21285 serial port support' CONFIG_SERIAL_21285
   if [ "$CONFIG_SERIAL_21285" = "y" ]; then
      if [ "$CONFIG_OBSOLETE" = "y" ]; then
         bool '  Use /dev/ttyS0 device (OBSOLETE)' CONFIG_SERIAL_21285_OLD
      fi
      bool '  Console on DC21285 serial port' CONFIG_SERIAL_21285_CONSOLE
   fi
fi
bool 'Unix98 PTY support' CONFIG_UNIX98_PTYS
if [ "$CONFIG_UNIX98_PTYS" = "y" ]; then
   int 'Maximum number of Unix98 PTYs in use (0-2048)' CONFIG_UNIX98_PTY_COUNT 256
fi
if [ "$CONFIG_PARPORT" != "n" ]; then
   dep_tristate 'Parallel printer support' CONFIG_PRINTER $CONFIG_PARPORT
   if [ "$CONFIG_PRINTER" != "n" ]; then
      bool '  Support for console on line printer' CONFIG_LP_CONSOLE
   fi
   dep_tristate 'Support for user-space parallel port device drivers' CONFIG_PPDEV $CONFIG_PARPORT
fi

source drivers/i2c/Config.in

mainmenu_option next_comment
comment 'Mice'
tristate 'Bus Mouse Support' CONFIG_BUSMOUSE
if [ "$CONFIG_BUSMOUSE" != "n" ]; then
   dep_tristate '  ATIXL busmouse support' CONFIG_ATIXL_BUSMOUSE $CONFIG_BUSMOUSE
   dep_tristate '  Logitech busmouse support' CONFIG_LOGIBUSMOUSE $CONFIG_BUSMOUSE
   dep_tristate '  Microsoft busmouse support' CONFIG_MS_BUSMOUSE $CONFIG_BUSMOUSE
   if [ "$CONFIG_ADB" = "y" -a "$CONFIG_ADB_KEYBOARD" = "y" ]; then
      dep_tristate '  Apple Desktop Bus mouse support (old driver)' CONFIG_ADBMOUSE $CONFIG_BUSMOUSE
   fi
fi

tristate 'Mouse Support (not serial and bus mice)' CONFIG_MOUSE
if [ "$CONFIG_MOUSE" != "n" ]; then
   bool '  PS/2 mouse (aka "auxiliary device") support' CONFIG_PSMOUSE
   tristate '  C&T 82C710 mouse port support (as on TI Travelmate)' CONFIG_82C710_MOUSE
   tristate '  PC110 digitizer pad support' CONFIG_PC110_PAD
fi
endmenu

tristate 'QIC-02 tape support' CONFIG_QIC02_TAPE
if [ "$CONFIG_QIC02_TAPE" != "n" ]; then
   bool '  Do you want runtime configuration for QIC-02' CONFIG_QIC02_DYNCONF
   if [ "$CONFIG_QIC02_DYNCONF" != "y" ]; then
      comment '  Edit configuration parameters in ./include/linux/tpqic02.h!'
   else
      comment '  Setting runtime QIC-02 configuration is done with qic02conf'
      comment '  from the tpqic02-support package.  It is available at'
      comment '  metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/'
   fi
fi

mainmenu_option next_comment
comment 'Watchdog Cards'
bool 'Watchdog Timer Support'	CONFIG_WATCHDOG
if [ "$CONFIG_WATCHDOG" != "n" ]; then
   bool '  Disable watchdog shutdown on close' CONFIG_WATCHDOG_NOWAYOUT
   tristate '  Software Watchdog' CONFIG_SOFT_WATCHDOG
   tristate '  WDT Watchdog timer' CONFIG_WDT
   tristate '  WDT PCI Watchdog timer' CONFIG_WDTPCI
   if [ "$CONFIG_WDT" != "n" ]; then
      bool '    WDT501 features' CONFIG_WDT_501
      if [ "$CONFIG_WDT_501" = "y" ]; then
         bool '      Fan Tachometer' CONFIG_WDT_501_FAN
      fi
   fi
   tristate '  Berkshire Products PC Watchdog' CONFIG_PCWATCHDOG
   tristate '  Acquire SBC Watchdog Timer' CONFIG_ACQUIRE_WDT
   tristate '  Advantech SBC Watchdog Timer' CONFIG_ADVANTECH_WDT
   if [ "$CONFIG_FOOTBRIDGE" = "y" ]; then
      tristate '  DC21285 watchdog' CONFIG_21285_WATCHDOG
      if [ "$CONFIG_ARCH_NETWINDER" = "y" ]; then
         tristate '  NetWinder WB83C977 watchdog' CONFIG_977_WATCHDOG
      fi
   fi
   tristate '  Eurotech CPU-1220/1410 Watchdog Timer' CONFIG_EUROTECH_WDT
   tristate '  IB700 SBC Watchdog Timer' CONFIG_IB700_WDT
   tristate '  Intel i810 TCO timer / Watchdog' CONFIG_I810_TCO
   tristate '  Mixcom Watchdog' CONFIG_MIXCOMWD 
   tristate '  SBC-60XX Watchdog Timer' CONFIG_60XX_WDT
   tristate '  W83877F (EMACS) Watchdog Timer' CONFIG_W83877F_WDT
   tristate '  ZF MachZ Watchdog' CONFIG_MACHZ_WDT
fi
endmenu

if [ "$CONFIG_ARCH_NETWINDER" = "y" ]; then
   tristate 'NetWinder thermometer support' CONFIG_DS1620
   tristate 'NetWinder Button' CONFIG_NWBUTTON
   if [ "$CONFIG_NWBUTTON" != "n" ]; then
      bool '  Reboot Using Button' CONFIG_NWBUTTON_REBOOT
   fi
   tristate 'NetWinder flash support' CONFIG_NWFLASH
fi

dep_tristate 'Intel i8x0 Random Number Generator support' CONFIG_INTEL_RNG $CONFIG_PCI
tristate '/dev/nvram support' CONFIG_NVRAM
tristate 'Enhanced Real Time Clock Support' CONFIG_RTC
if [ "$CONFIG_IA64" = "y" ]; then
   bool 'EFI Real Time Clock Services' CONFIG_EFI_RTC
fi
if [ "$CONFIG_OBSOLETE" = "y" -a "$CONFIG_ALPHA_BOOK1" = "y" ]; then
   bool 'Tadpole ANA H8 Support'  CONFIG_H8
fi

tristate 'Double Talk PC internal speech card support' CONFIG_DTLK
tristate 'Siemens R3964 line discipline' CONFIG_R3964
tristate 'Applicom intelligent fieldbus card support' CONFIG_APPLICOM
if [ "$CONFIG_EXPERIMENTAL" = "y" -a "$CONFIG_X86" = "y" ]; then
   dep_tristate 'Sony Vaio Programmable I/O Control Device support' CONFIG_SONYPI $CONFIG_PCI
fi

mainmenu_option next_comment
comment 'Ftape, the floppy tape device driver'
tristate 'Ftape (QIC-80/Travan) support' CONFIG_FTAPE
if [ "$CONFIG_FTAPE" != "n" ]; then
   source drivers/char/ftape/Config.in
fi
endmenu

dep_tristate '/dev/agpgart (AGP Support)' CONFIG_AGP $CONFIG_DRM_AGP
if [ "$CONFIG_AGP" != "n" ]; then
   bool '  Intel 440LX/BX/GX and I815/I820/I830M/I840/I845/I850/I860 support' CONFIG_AGP_INTEL
   bool '  Intel I810/I815/I830M (on-board) support' CONFIG_AGP_I810
   bool '  VIA chipset support' CONFIG_AGP_VIA
   bool '  AMD Irongate, 761, and 762 support' CONFIG_AGP_AMD
   bool '  Generic SiS support' CONFIG_AGP_SIS
   bool '  ALI chipset support' CONFIG_AGP_ALI
   bool '  Serverworks LE/HE support' CONFIG_AGP_SWORKS
fi

source drivers/char/drm/Config.in

if [ "$CONFIG_HOTPLUG" = "y" -a "$CONFIG_PCMCIA" != "n" ]; then
   source drivers/char/pcmcia/Config.in
fi

if [ "$CONFIG_X86" = "y" ]; then
   tristate 'ACP Modem (Mwave) support' CONFIG_MWAVE
fi

endmenu
