summaryrefslogtreecommitdiff
path: root/drivers/hwmon/sch56xx-common.h
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2012-03-18 16:05:08 +0400
committerGuenter Roeck <guenter.roeck@ericsson.com>2012-03-20 17:42:05 +0400
commit312869ec935ab3bb67b7ba641a7d11230555aff5 (patch)
treecce1f87f557373a95c3cf44b792532f42cee728f /drivers/hwmon/sch56xx-common.h
parent840e191dba36f51ae52db8a93849191af9e89098 (diff)
downloadlinux-312869ec935ab3bb67b7ba641a7d11230555aff5.tar.xz
hwmon: (sch56xx) Add support for the integrated watchdog (v2)
Add support for the watchdog integrated into the SMSC SCH5627 and SCH5636 superio-s. Since the watchdog is part of the hwmon logical device and thus shares ioports with it, the watchdog driver is integrated into the existing hwmon drivers for these. Note that this version of the watchdog support for sch56xx superio-s implements the watchdog chardev interface itself, rather then relying on the recently added watchdog core / watchdog_dev. This is done because currently some needed functionality is missing from watchdog_dev, as soon as this functionality is added (which is being discussed on the linux-watchdog mailinglist), I'll convert this driver over to using watchdog_dev. Signed-off-by: Hans de Goede <hdegoede@redhat.com> [guenter.roeck@ericsson.com: Added missing linux/slab.h include] Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Diffstat (limited to 'drivers/hwmon/sch56xx-common.h')
-rw-r--r--drivers/hwmon/sch56xx-common.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/hwmon/sch56xx-common.h b/drivers/hwmon/sch56xx-common.h
index d5eaf3b9ebf5..7475086eb978 100644
--- a/drivers/hwmon/sch56xx-common.h
+++ b/drivers/hwmon/sch56xx-common.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2010-2011 Hans de Goede <hdegoede@redhat.com> *
+ * Copyright (C) 2010-2012 Hans de Goede <hdegoede@redhat.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
@@ -17,8 +17,16 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
+#include <linux/mutex.h>
+
+struct sch56xx_watchdog_data;
+
int sch56xx_read_virtual_reg(u16 addr, u16 reg);
int sch56xx_write_virtual_reg(u16 addr, u16 reg, u8 val);
int sch56xx_read_virtual_reg16(u16 addr, u16 reg);
int sch56xx_read_virtual_reg12(u16 addr, u16 msb_reg, u16 lsn_reg,
int high_nibble);
+
+struct sch56xx_watchdog_data *sch56xx_watchdog_register(
+ u16 addr, u32 revision, struct mutex *io_lock, int check_enabled);
+void sch56xx_watchdog_unregister(struct sch56xx_watchdog_data *data);