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