#ifndef _HPIOS_H_
#define _HPIOS_H_
#undef HPI_OS_LINUX_KERNEL
#define HPI_OS_LINUX_KERNEL
#define HPI_OS_DEFINED
#define HPI_BUILD_KERNEL_MODE
#include <linux/io.h>
#include <linux/ioctl.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/device.h>
#include <linux/firmware.h>
#include <linux/interrupt.h>
#include <linux/pci.h>
#include <linux/mutex.h>
#define HPI_NO_OS_FILE_OPS
struct consistent_dma_area { … };
static inline u16 hpios_locked_mem_get_phys_addr(struct consistent_dma_area
*locked_mem_handle, u32 *p_physical_addr)
{ … }
static inline u16 hpios_locked_mem_get_virt_addr(struct consistent_dma_area
*locked_mem_handle, void **pp_virtual_addr)
{ … }
static inline u16 hpios_locked_mem_valid(struct consistent_dma_area
*locked_mem_handle)
{ … }
struct hpi_ioctl_linux { … };
#define HPI_IOCTL_LINUX …
#define HPI_DEBUG_FLAG_ERROR …
#define HPI_DEBUG_FLAG_WARNING …
#define HPI_DEBUG_FLAG_NOTICE …
#define HPI_DEBUG_FLAG_INFO …
#define HPI_DEBUG_FLAG_DEBUG …
#define HPI_DEBUG_FLAG_VERBOSE …
#include <linux/spinlock.h>
#define HPI_LOCKING
struct hpios_spinlock { … };
#define IN_LOCK_BH …
#define IN_LOCK_IRQ …
static inline void cond_lock(struct hpios_spinlock *l)
{ … }
static inline void cond_unlock(struct hpios_spinlock *l)
{ … }
#define hpios_msgxlock_init(obj) …
#define hpios_msgxlock_lock(obj) …
#define hpios_msgxlock_unlock(obj) …
#define hpios_dsplock_init(obj) …
#define hpios_dsplock_lock(obj) …
#define hpios_dsplock_unlock(obj) …
#ifdef CONFIG_SND_DEBUG
#define HPI_BUILD_DEBUG
#endif
#define HPI_ALIST_LOCKING
#define hpios_alistlock_init(obj) …
#define hpios_alistlock_lock(obj) …
#define hpios_alistlock_unlock(obj) …
struct snd_card;
struct hpi_adapter { … };
#endif