128ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede/*************************************************************************** 2312869ec935ab3bb67b7ba641a7d11230555aff5Hans de Goede * Copyright (C) 2010-2012 Hans de Goede <hdegoede@redhat.com> * 328ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * * 428ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * This program is free software; you can redistribute it and/or modify * 528ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * it under the terms of the GNU General Public License as published by * 628ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * the Free Software Foundation; either version 2 of the License, or * 728ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * (at your option) any later version. * 828ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * * 928ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * This program is distributed in the hope that it will be useful, * 1028ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * but WITHOUT ANY WARRANTY; without even the implied warranty of * 1128ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 1228ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * GNU General Public License for more details. * 1328ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * * 1428ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * You should have received a copy of the GNU General Public License * 1528ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * along with this program; if not, write to the * 1628ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * Free Software Foundation, Inc., * 1728ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 1828ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede ***************************************************************************/ 1928ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede 20312869ec935ab3bb67b7ba641a7d11230555aff5Hans de Goede#include <linux/mutex.h> 21312869ec935ab3bb67b7ba641a7d11230555aff5Hans de Goede 22312869ec935ab3bb67b7ba641a7d11230555aff5Hans de Goedestruct sch56xx_watchdog_data; 23312869ec935ab3bb67b7ba641a7d11230555aff5Hans de Goede 2428ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goedeint sch56xx_read_virtual_reg(u16 addr, u16 reg); 2528ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goedeint sch56xx_write_virtual_reg(u16 addr, u16 reg, u8 val); 2628ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goedeint sch56xx_read_virtual_reg16(u16 addr, u16 reg); 2728ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goedeint sch56xx_read_virtual_reg12(u16 addr, u16 msb_reg, u16 lsn_reg, 2828ff2f7a742daba86ccd7021be7b27a4673b2797Hans de Goede int high_nibble); 29312869ec935ab3bb67b7ba641a7d11230555aff5Hans de Goede 30fb551405c0f8e15d6fc7ae6e16a5e15382f8b8acHans de Goedestruct sch56xx_watchdog_data *sch56xx_watchdog_register(struct device *parent, 31312869ec935ab3bb67b7ba641a7d11230555aff5Hans de Goede u16 addr, u32 revision, struct mutex *io_lock, int check_enabled); 32312869ec935ab3bb67b7ba641a7d11230555aff5Hans de Goedevoid sch56xx_watchdog_unregister(struct sch56xx_watchdog_data *data); 33