Commit f374b3d4 authored by Dave Jones's avatar Dave Jones

Move watchdog drivers to drivers/char/watchdog/

parent 14751427
...@@ -636,289 +636,7 @@ comment "from the tpqic02-support package. It is available at" ...@@ -636,289 +636,7 @@ comment "from the tpqic02-support package. It is available at"
comment "metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/" comment "metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/"
depends on QIC02_TAPE && QIC02_DYNCONF depends on QIC02_TAPE && QIC02_DYNCONF
source "drivers/char/watchdog/Kconfig"
menu "Watchdog Cards"
config WATCHDOG
bool "Watchdog Timer Support"
---help---
If you say Y here (and to one of the following options) and create a
character special file /dev/watchdog with major number 10 and minor
number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
subsequently opening the file and then failing to write to it for
longer than 1 minute will result in rebooting the machine. This
could be useful for a networked machine that needs to come back
online as fast as possible after a lock-up. There's both a watchdog
implementation entirely in software (which can sometimes fail to
reboot the machine) and a driver for hardware watchdog boards, which
are more robust and can also keep track of the temperature inside
your computer. For details, read <file:Documentation/watchdog.txt>
in the kernel source.
The watchdog is usually used together with the watchdog daemon
which is available from
<ftp://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon can
also monitor NFS connections and can reboot the machine when the process
table is full.
If unsure, say N.
config WATCHDOG_NOWAYOUT
bool "Disable watchdog shutdown on close"
depends on WATCHDOG
help
The default watchdog behaviour (which you get if you say N here) is
to stop the timer if the process managing it closes the file
/dev/watchdog. It's always remotely possible that this process might
get killed. If you say Y here, the watchdog cannot be stopped once
it has been started.
config SOFT_WATCHDOG
tristate "Software watchdog"
depends on WATCHDOG
help
A software monitoring watchdog. This will fail to reboot your system
from some situations that the hardware watchdog will recover
from. Equally it's a lot cheaper to install.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. The module will be called
softdog.o.
config WDT
tristate "WDT Watchdog timer"
depends on WATCHDOG
---help---
If you have a WDT500P or WDT501P watchdog board, say Y here,
otherwise N. It is not possible to probe for this board, which means
that you have to inform the kernel about the IO port and IRQ using
the "wdt=" kernel option (try "man bootparam" or see the
documentation of your boot loader (lilo or loadlin) about how to
pass options to the kernel at boot time).
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called wdt.o.
config WDTPCI
tristate "WDT PCI Watchdog timer"
depends on WATCHDOG
---help---
If you have a PCI WDT500/501 watchdog board, say Y here, otherwise
N. It is not possible to probe for this board, which means that you
have to inform the kernel about the IO port and IRQ using the "wdt="
kernel option (try "man bootparam" or see the documentation of your
boot loader (lilo or loadlin) about how to pass options to the
kernel at boot time).
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called wdt_pci.o.
config WDT_501
bool "WDT501 features"
depends on WDT
help
Saying Y here and creating a character special file /dev/temperature
with major number 10 and minor number 131 ("man mknod") will give
you a thermometer inside your computer: reading from
/dev/temperature yields one byte, the temperature in degrees
Fahrenheit. This works only if you have a WDT501P watchdog board
installed.
config WDT_501_FAN
bool "Fan Tachometer"
depends on WDT_501
help
Enable the Fan Tachometer on the WDT501. Only do this if you have a
fan tachometer actually set up.
config PCWATCHDOG
tristate "Berkshire Products PC Watchdog"
depends on WATCHDOG
---help---
This is the driver for the Berkshire Products PC Watchdog card.
This card simply watches your kernel to make sure it doesn't freeze,
and if it does, it reboots your computer after a certain amount of
time. This driver is like the WDT501 driver but for different
hardware. Please read <file:Documentation/pcwd-watchdog.txt>. The PC
watchdog cards can be ordered from <http://www.berkprod.com/>.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called pcwd.o. If you want to compile it as a module,
say M here and read <file:Documentation/modules.txt>.
Most people will say N.
config ACQUIRE_WDT
tristate "Acquire SBC Watchdog Timer"
depends on WATCHDOG
---help---
This is the driver for the hardware watchdog on the PSC-6x86 Single
Board Computer produced by Acquire Inc (and others). This watchdog
simply watches your kernel to make sure it doesn't freeze, and if
it does, it reboots your computer after a certain amount of time.
This driver is like the WDT501 driver but for different hardware.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called pscwdt.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>. Most
people will say N.
config ADVANTECH_WDT
tristate "Advantech SBC Watchdog Timer"
depends on WATCHDOG
help
If you are configuring a Linux kernel for the Advantech single-board
computer, say `Y' here to support its built-in watchdog timer
feature. See the help for CONFIG_WATCHDOG for discussion.
config 21285_WATCHDOG
tristate "DC21285 watchdog"
depends on WATCHDOG && FOOTBRIDGE
help
The Intel Footbridge chip contains a builtin watchdog circuit. Say Y
here if you wish to use this. Alternatively say M to compile the
driver as a module, which will be called wdt285.o.
This driver does not work on all machines. In particular, early CATS
boards have hardware problems that will cause the machine to simply
lock up if the watchdog fires.
"If in doubt, leave it out" - say N.
config 977_WATCHDOG
tristate "NetWinder WB83C977 watchdog"
depends on WATCHDOG && FOOTBRIDGE && ARCH_NETWINDER
help
Say Y here to include support for the WB977 watchdog included in
NetWinder machines. Alternatively say M to compile the driver as
a module, which will be called wdt977.o.
Not sure? It's safe to say N.
config EUROTECH_WDT
tristate "Eurotech CPU-1220/1410 Watchdog Timer"
depends on WATCHDOG
help
Enable support for the watchdog timer on the Eurotech CPU-1220 and
CPU-1410 cards. These are PC/104 SBCs. Spec sheets and product
information are at <http://www.eurotech.it/>.
config IB700_WDT
tristate "IB700 SBC Watchdog Timer"
depends on WATCHDOG
---help---
This is the driver for the hardware watchdog on the IB700 Single
Board Computer produced by TMC Technology (www.tmc-uk.com). This watchdog
simply watches your kernel to make sure it doesn't freeze, and if
it does, it reboots your computer after a certain amount of time.
This driver is like the WDT501 driver but for slightly different hardware.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called ib700wdt.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt. Most people
will say N.
config I810_TCO
tristate "Intel i810 TCO timer / Watchdog"
depends on WATCHDOG
---help---
Hardware driver for the TCO timer built into the Intel i810 and i815
chipset family. The TCO (Total Cost of Ownership) timer is a
watchdog timer that will reboot the machine after its second
expiration. The expiration time can be configured by commandline
argument "i810_margin=<n>" where <n> is the counter initial value.
It is decremented every 0.6 secs, the default is 50 which gives a
timeout of 30 seconds and one minute until reset.
On some motherboards the driver may fail to reset the chipset's
NO_REBOOT flag which prevents the watchdog from rebooting the
machine. If this is the case you will get a kernel message like
"i810tco init: failed to reset NO_REBOOT flag".
If you want to compile this as a module, say M and read
<file:Documentation/modules.txt>. The module will be called
i810-tco.o.
config MIXCOMWD
tristate "Mixcom Watchdog"
depends on WATCHDOG
---help---
This is a driver for the Mixcom hardware watchdog cards. This
watchdog simply watches your kernel to make sure it doesn't freeze,
and if it does, it reboots your computer after a certain amount of
time.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called mixcomwd.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>. Most
people will say N.
config SCx200_WDT
tristate "NatSemi SCx200 Watchdog"
depends on WATCHDOG
help
Enable the built-in watchdog timer support on the National
Semiconductor SCx200 processors.
If compiled as a module, it will be called scx200_watchdog.o.
config 60XX_WDT
tristate "SBC-60XX Watchdog Timer"
depends on WATCHDOG
help
This driver can be used with the watchdog timer found on some
single board computers, namely the 6010 PII based computer.
It may well work with other cards. It reads port 0x443 to enable
and re-set the watchdog timer, and reads port 0x45 to disable
the watchdog. If you have a card that behave in similar ways,
you can probably make this driver work with your card as well.
You can compile this driver directly into the kernel, or use
it as a module. The module will be called sbc60xxwdt.o.
config W83877F_WDT
tristate "W83877F (EMACS) Watchdog Timer"
depends on WATCHDOG
---help---
This is the driver for the hardware watchdog on the W83877F chipset
as used in EMACS PC-104 motherboards (and likely others). This
watchdog simply watches your kernel to make sure it doesn't freeze,
and if it does, it reboots your computer after a certain amount of
time.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called mixcomwd.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>. Most
people will say N.
config MACHZ_WDT
tristate "ZF MachZ Watchdog"
depends on WATCHDOG
---help---
If you are using a ZF Micro MachZ processor, say Y here, otherwise
N. This is the driver for the watchdog timer builtin on that
processor using ZF-Logic interface. This watchdog simply watches
your kernel to make sure it doesn't freeze, and if it does, it
reboots your computer after a certain amount of time.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called machzwd.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
endmenu
config DS1620 config DS1620
tristate "NetWinder thermometer support" tristate "NetWinder thermometer support"
......
...@@ -77,32 +77,13 @@ obj-$(CONFIG_NWBUTTON) += nwbutton.o ...@@ -77,32 +77,13 @@ obj-$(CONFIG_NWBUTTON) += nwbutton.o
obj-$(CONFIG_NWFLASH) += nwflash.o obj-$(CONFIG_NWFLASH) += nwflash.o
obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o
# Only one watchdog can succeed. We probe the hardware watchdog obj-$(CONFIG_WATCHDOGS) += watchdog/
# drivers first, then the softdog driver. This means if your hardware
# watchdog dies or is 'borrowed' for some reason the software watchdog
# still gives you some cover.
obj-$(CONFIG_PCWATCHDOG) += pcwd.o
obj-$(CONFIG_ACQUIRE_WDT) += acquirewdt.o
obj-$(CONFIG_ADVANTECH_WDT) += advantechwdt.o
obj-$(CONFIG_IB700_WDT) += ib700wdt.o
obj-$(CONFIG_MIXCOMWD) += mixcomwd.o
obj-$(CONFIG_SCx200_WDT) += scx200_wdt.o
obj-$(CONFIG_60XX_WDT) += sbc60xxwdt.o
obj-$(CONFIG_WDT) += wdt.o
obj-$(CONFIG_WDTPCI) += wdt_pci.o
obj-$(CONFIG_21285_WATCHDOG) += wdt285.o
obj-$(CONFIG_977_WATCHDOG) += wdt977.o
obj-$(CONFIG_I810_TCO) += i810-tco.o
obj-$(CONFIG_MACHZ_WDT) += machzwd.o
obj-$(CONFIG_SH_WDT) += shwdt.o
obj-$(CONFIG_EUROTECH_WDT) += eurotechwdt.o
obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o
obj-$(CONFIG_MWAVE) += mwave/ obj-$(CONFIG_MWAVE) += mwave/
obj-$(CONFIG_AGP) += agp/ obj-$(CONFIG_AGP) += agp/
obj-$(CONFIG_DRM) += drm/ obj-$(CONFIG_DRM) += drm/
obj-$(CONFIG_PCMCIA) += pcmcia/ obj-$(CONFIG_PCMCIA) += pcmcia/
# Files generated that shall be removed upon make clean # Files generated that shall be removed upon make clean
clean-files := consolemap_deftbl.c defkeymap.c qtronixmap.c clean-files := consolemap_deftbl.c defkeymap.c qtronixmap.c
......
#
# Character device configuration
#
menu "Watchdog Cards"
config WATCHDOG
bool "Watchdog Timer Support"
---help---
If you say Y here (and to one of the following options) and create a
character special file /dev/watchdog with major number 10 and minor
number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
subsequently opening the file and then failing to write to it for
longer than 1 minute will result in rebooting the machine. This
could be useful for a networked machine that needs to come back
online as fast as possible after a lock-up. There's both a watchdog
implementation entirely in software (which can sometimes fail to
reboot the machine) and a driver for hardware watchdog boards, which
are more robust and can also keep track of the temperature inside
your computer. For details, read <file:Documentation/watchdog.txt>
in the kernel source.
The watchdog is usually used together with the watchdog daemon
which is available from
<ftp://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon can
also monitor NFS connections and can reboot the machine when the process
table is full.
If unsure, say N.
config WATCHDOG_NOWAYOUT
bool "Disable watchdog shutdown on close"
depends on WATCHDOG
help
The default watchdog behaviour (which you get if you say N here) is
to stop the timer if the process managing it closes the file
/dev/watchdog. It's always remotely possible that this process might
get killed. If you say Y here, the watchdog cannot be stopped once
it has been started.
config SOFT_WATCHDOG
tristate "Software watchdog"
depends on WATCHDOG
help
A software monitoring watchdog. This will fail to reboot your system
from some situations that the hardware watchdog will recover
from. Equally it's a lot cheaper to install.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. The module will be called
softdog.o.
config WDT
tristate "WDT Watchdog timer"
depends on WATCHDOG
---help---
If you have a WDT500P or WDT501P watchdog board, say Y here,
otherwise N. It is not possible to probe for this board, which means
that you have to inform the kernel about the IO port and IRQ using
the "wdt=" kernel option (try "man bootparam" or see the
documentation of your boot loader (lilo or loadlin) about how to
pass options to the kernel at boot time).
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called wdt.o.
config WDTPCI
tristate "WDT PCI Watchdog timer"
depends on WATCHDOG
---help---
If you have a PCI WDT500/501 watchdog board, say Y here, otherwise
N. It is not possible to probe for this board, which means that you
have to inform the kernel about the IO port and IRQ using the "wdt="
kernel option (try "man bootparam" or see the documentation of your
boot loader (lilo or loadlin) about how to pass options to the
kernel at boot time).
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called wdt_pci.o.
config WDT_501
bool "WDT501 features"
depends on WDT
help
Saying Y here and creating a character special file /dev/temperature
with major number 10 and minor number 131 ("man mknod") will give
you a thermometer inside your computer: reading from
/dev/temperature yields one byte, the temperature in degrees
Fahrenheit. This works only if you have a WDT501P watchdog board
installed.
config WDT_501_FAN
bool "Fan Tachometer"
depends on WDT_501
help
Enable the Fan Tachometer on the WDT501. Only do this if you have a
fan tachometer actually set up.
config PCWATCHDOG
tristate "Berkshire Products PC Watchdog"
depends on WATCHDOG
---help---
This is the driver for the Berkshire Products PC Watchdog card.
This card simply watches your kernel to make sure it doesn't freeze,
and if it does, it reboots your computer after a certain amount of
time. This driver is like the WDT501 driver but for different
hardware. Please read <file:Documentation/pcwd-watchdog.txt>. The PC
watchdog cards can be ordered from <http://www.berkprod.com/>.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called pcwd.o. If you want to compile it as a module,
say M here and read <file:Documentation/modules.txt>.
Most people will say N.
config ACQUIRE_WDT
tristate "Acquire SBC Watchdog Timer"
depends on WATCHDOG
---help---
This is the driver for the hardware watchdog on the PSC-6x86 Single
Board Computer produced by Acquire Inc (and others). This watchdog
simply watches your kernel to make sure it doesn't freeze, and if
it does, it reboots your computer after a certain amount of time.
This driver is like the WDT501 driver but for different hardware.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called pscwdt.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>. Most
people will say N.
config ADVANTECH_WDT
tristate "Advantech SBC Watchdog Timer"
depends on WATCHDOG
help
If you are configuring a Linux kernel for the Advantech single-board
computer, say `Y' here to support its built-in watchdog timer
feature. See the help for CONFIG_WATCHDOG for discussion.
config 21285_WATCHDOG
tristate "DC21285 watchdog"
depends on WATCHDOG && FOOTBRIDGE
help
The Intel Footbridge chip contains a builtin watchdog circuit. Say Y
here if you wish to use this. Alternatively say M to compile the
driver as a module, which will be called wdt285.o.
This driver does not work on all machines. In particular, early CATS
boards have hardware problems that will cause the machine to simply
lock up if the watchdog fires.
"If in doubt, leave it out" - say N.
config 977_WATCHDOG
tristate "NetWinder WB83C977 watchdog"
depends on WATCHDOG && FOOTBRIDGE && ARCH_NETWINDER
help
Say Y here to include support for the WB977 watchdog included in
NetWinder machines. Alternatively say M to compile the driver as
a module, which will be called wdt977.o.
Not sure? It's safe to say N.
config EUROTECH_WDT
tristate "Eurotech CPU-1220/1410 Watchdog Timer"
depends on WATCHDOG
help
Enable support for the watchdog timer on the Eurotech CPU-1220 and
CPU-1410 cards. These are PC/104 SBCs. Spec sheets and product
information are at <http://www.eurotech.it/>.
config IB700_WDT
tristate "IB700 SBC Watchdog Timer"
depends on WATCHDOG
---help---
This is the driver for the hardware watchdog on the IB700 Single
Board Computer produced by TMC Technology (www.tmc-uk.com). This watchdog
simply watches your kernel to make sure it doesn't freeze, and if
it does, it reboots your computer after a certain amount of time.
This driver is like the WDT501 driver but for slightly different hardware.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called ib700wdt.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt. Most people
will say N.
config I810_TCO
tristate "Intel i810 TCO timer / Watchdog"
depends on WATCHDOG
---help---
Hardware driver for the TCO timer built into the Intel i810 and i815
chipset family. The TCO (Total Cost of Ownership) timer is a
watchdog timer that will reboot the machine after its second
expiration. The expiration time can be configured by commandline
argument "i810_margin=<n>" where <n> is the counter initial value.
It is decremented every 0.6 secs, the default is 50 which gives a
timeout of 30 seconds and one minute until reset.
On some motherboards the driver may fail to reset the chipset's
NO_REBOOT flag which prevents the watchdog from rebooting the
machine. If this is the case you will get a kernel message like
"i810tco init: failed to reset NO_REBOOT flag".
If you want to compile this as a module, say M and read
<file:Documentation/modules.txt>. The module will be called
i810-tco.o.
config MIXCOMWD
tristate "Mixcom Watchdog"
depends on WATCHDOG
---help---
This is a driver for the Mixcom hardware watchdog cards. This
watchdog simply watches your kernel to make sure it doesn't freeze,
and if it does, it reboots your computer after a certain amount of
time.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called mixcomwd.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>. Most
people will say N.
config SCx200_WDT
tristate "NatSemi SCx200 Watchdog"
depends on WATCHDOG
help
Enable the built-in watchdog timer support on the National
Semiconductor SCx200 processors.
If compiled as a module, it will be called scx200_watchdog.o.
config 60XX_WDT
tristate "SBC-60XX Watchdog Timer"
depends on WATCHDOG
help
This driver can be used with the watchdog timer found on some
single board computers, namely the 6010 PII based computer.
It may well work with other cards. It reads port 0x443 to enable
and re-set the watchdog timer, and reads port 0x45 to disable
the watchdog. If you have a card that behave in similar ways,
you can probably make this driver work with your card as well.
You can compile this driver directly into the kernel, or use
it as a module. The module will be called sbc60xxwdt.o.
config W83877F_WDT
tristate "W83877F (EMACS) Watchdog Timer"
depends on WATCHDOG
---help---
This is the driver for the hardware watchdog on the W83877F chipset
as used in EMACS PC-104 motherboards (and likely others). This
watchdog simply watches your kernel to make sure it doesn't freeze,
and if it does, it reboots your computer after a certain amount of
time.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called mixcomwd.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>. Most
people will say N.
config MACHZ_WDT
tristate "ZF MachZ Watchdog"
depends on WATCHDOG
---help---
If you are using a ZF Micro MachZ processor, say Y here, otherwise
N. This is the driver for the watchdog timer builtin on that
processor using ZF-Logic interface. This watchdog simply watches
your kernel to make sure it doesn't freeze, and if it does, it
reboots your computer after a certain amount of time.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called machzwd.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
endmenu
#
# Makefile for the kernel character device drivers.
#
# Only one watchdog can succeed. We probe the hardware watchdog
# drivers first, then the softdog driver. This means if your hardware
# watchdog dies or is 'borrowed' for some reason the software watchdog
# still gives you some cover.
watchdog-$(CONFIG_PCWATCHDOG) += pcwd.o
watchdog-$(CONFIG_ACQUIRE_WDT) += acquirewdt.o
watchdog-$(CONFIG_ADVANTECH_WDT) += advantechwdt.o
watchdog-$(CONFIG_IB700_WDT) += ib700wdt.o
watchdog-$(CONFIG_MIXCOMWD) += mixcomwd.o
watchdog-$(CONFIG_SCx200_WDT) += scx200_wdt.o
watchdog-$(CONFIG_60XX_WDT) += sbc60xxwdt.o
watchdog-$(CONFIG_WDT) += wdt.o
watchdog-$(CONFIG_WDTPCI) += wdt_pci.o
watchdog-$(CONFIG_21285_WATCHDOG) += wdt285.o
watchdog-$(CONFIG_977_WATCHDOG) += wdt977.o
watchdog-$(CONFIG_I810_TCO) += i810-tco.o
watchdog-$(CONFIG_MACHZ_WDT) += machzwd.o
watchdog-$(CONFIG_SH_WDT) += shwdt.o
watchdog-$(CONFIG_EUROTECH_WDT) += eurotechwdt.o
watchdog-$(CONFIG_SOFT_WATCHDOG) += softdog.o
include $(TOPDIR)/Rules.make
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment