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