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