blob: 75eb73617cf27387fde38c057b27cb912919bc8e [file] [log] [blame]
Thomas Gleixner1a59d1b82019-05-27 08:55:05 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Hans de Goede28ff2f72011-07-25 21:46:09 +02002/***************************************************************************
Hans de Goede312869e2012-03-18 13:05:08 +01003 * Copyright (C) 2010-2012 Hans de Goede <hdegoede@redhat.com> *
Hans de Goede28ff2f72011-07-25 21:46:09 +02004 * *
Hans de Goede28ff2f72011-07-25 21:46:09 +02005 ***************************************************************************/
6
Hans de Goede312869e2012-03-18 13:05:08 +01007#include <linux/mutex.h>
8
9struct sch56xx_watchdog_data;
10
Hans de Goede28ff2f72011-07-25 21:46:09 +020011int sch56xx_read_virtual_reg(u16 addr, u16 reg);
12int sch56xx_write_virtual_reg(u16 addr, u16 reg, u8 val);
13int sch56xx_read_virtual_reg16(u16 addr, u16 reg);
14int sch56xx_read_virtual_reg12(u16 addr, u16 msb_reg, u16 lsn_reg,
15 int high_nibble);
Hans de Goede312869e2012-03-18 13:05:08 +010016
Hans de Goedefb551402012-05-22 11:40:24 +020017struct sch56xx_watchdog_data *sch56xx_watchdog_register(struct device *parent,
Hans de Goede312869e2012-03-18 13:05:08 +010018 u16 addr, u32 revision, struct mutex *io_lock, int check_enabled);
19void sch56xx_watchdog_unregister(struct sch56xx_watchdog_data *data);