171e2f4ddSJiaxun Yang /* SPDX-License-Identifier: GPL-2.0 */ 271e2f4ddSJiaxun Yang /* 371e2f4ddSJiaxun Yang * the read/write interfaces for Virtual Support Module(VSM) 471e2f4ddSJiaxun Yang * 571e2f4ddSJiaxun Yang * Copyright (C) 2009 Lemote, Inc. 671e2f4ddSJiaxun Yang * Author: Wu Zhangjin <wuzhangjin@gmail.com> 771e2f4ddSJiaxun Yang */ 871e2f4ddSJiaxun Yang 971e2f4ddSJiaxun Yang #ifndef _CS5536_VSM_H 1071e2f4ddSJiaxun Yang #define _CS5536_VSM_H 1171e2f4ddSJiaxun Yang 1271e2f4ddSJiaxun Yang #include <linux/types.h> 1371e2f4ddSJiaxun Yang 1471e2f4ddSJiaxun Yang typedef void (*cs5536_pci_vsm_write)(int reg, u32 value); 1571e2f4ddSJiaxun Yang typedef u32 (*cs5536_pci_vsm_read)(int reg); 1671e2f4ddSJiaxun Yang 1771e2f4ddSJiaxun Yang #define DECLARE_CS5536_MODULE(name) \ 1871e2f4ddSJiaxun Yang extern void pci_##name##_write_reg(int reg, u32 value); \ 1971e2f4ddSJiaxun Yang extern u32 pci_##name##_read_reg(int reg); 2071e2f4ddSJiaxun Yang 2171e2f4ddSJiaxun Yang /* ide module */ 2271e2f4ddSJiaxun Yang DECLARE_CS5536_MODULE(ide) 2371e2f4ddSJiaxun Yang /* acc module */ 2471e2f4ddSJiaxun Yang DECLARE_CS5536_MODULE(acc) 2571e2f4ddSJiaxun Yang /* ohci module */ 2671e2f4ddSJiaxun Yang DECLARE_CS5536_MODULE(ohci) 2771e2f4ddSJiaxun Yang /* isa module */ 2871e2f4ddSJiaxun Yang DECLARE_CS5536_MODULE(isa) 2971e2f4ddSJiaxun Yang /* ehci module */ 3071e2f4ddSJiaxun Yang DECLARE_CS5536_MODULE(ehci) 3171e2f4ddSJiaxun Yang 3271e2f4ddSJiaxun Yang #endif /* _CS5536_VSM_H */ 33