18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*******************************************************************************
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci    AudioScience HPI driver
58c2ecf20Sopenharmony_ci    Copyright (C) 1997-2011  AudioScience Inc. <support@audioscience.com>
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciLinux HPI ioctl, and shared module init functions
98c2ecf20Sopenharmony_ci*******************************************************************************/
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciint asihpi_adapter_probe(struct pci_dev *pci_dev,
128c2ecf20Sopenharmony_ci			 const struct pci_device_id *pci_id);
138c2ecf20Sopenharmony_civoid asihpi_adapter_remove(struct pci_dev *pci_dev);
148c2ecf20Sopenharmony_civoid __init asihpi_init(void);
158c2ecf20Sopenharmony_civoid __exit asihpi_exit(void);
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciint asihpi_hpi_release(struct file *file);
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_cilong asihpi_hpi_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci/* This is called from hpifunc.c functions, called by ALSA
228c2ecf20Sopenharmony_ci * (or other kernel process) In this case there is no file descriptor
238c2ecf20Sopenharmony_ci * available for the message cache code
248c2ecf20Sopenharmony_ci */
258c2ecf20Sopenharmony_civoid hpi_send_recv(struct hpi_message *phm, struct hpi_response *phr);
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci#define HOWNER_KERNEL ((void *)-1)
28