1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun /*************************************************************************** 3*4882a593Smuzhiyun * Copyright (C) 2010-2012 Hans de Goede <hdegoede@redhat.com> * 4*4882a593Smuzhiyun * * 5*4882a593Smuzhiyun ***************************************************************************/ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #include <linux/mutex.h> 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun struct sch56xx_watchdog_data; 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun int sch56xx_read_virtual_reg(u16 addr, u16 reg); 12*4882a593Smuzhiyun int sch56xx_write_virtual_reg(u16 addr, u16 reg, u8 val); 13*4882a593Smuzhiyun int sch56xx_read_virtual_reg16(u16 addr, u16 reg); 14*4882a593Smuzhiyun int sch56xx_read_virtual_reg12(u16 addr, u16 msb_reg, u16 lsn_reg, 15*4882a593Smuzhiyun int high_nibble); 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun struct sch56xx_watchdog_data *sch56xx_watchdog_register(struct device *parent, 18*4882a593Smuzhiyun u16 addr, u32 revision, struct mutex *io_lock, int check_enabled); 19*4882a593Smuzhiyun void sch56xx_watchdog_unregister(struct sch56xx_watchdog_data *data); 20