xref: /openbmc/linux/sound/pci/asihpi/hpimsginit.h (revision b2441318)
1 /******************************************************************************
2 
3     AudioScience HPI driver
4     Copyright (C) 1997-2011  AudioScience Inc. <support@audioscience.com>
5 
6     This program is free software; you can redistribute it and/or modify
7     it under the terms of version 2 of the GNU General Public License as
8     published by the Free Software Foundation;
9 
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14 
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 
19  Hardware Programming Interface (HPI) Utility functions
20 
21  (C) Copyright AudioScience Inc. 2007
22 *******************************************************************************/
23 /* Initialise response headers, or msg/response pairs.
24 Note that it is valid to just init a response e.g. when a lower level is
25 preparing a response to a message.
26 However, when sending a message, a matching response buffer must always be
27 prepared.
28 */
29 
30 #ifndef _HPIMSGINIT_H_
31 #define _HPIMSGINIT_H_
32 
33 void hpi_init_response(struct hpi_response *phr, u16 object, u16 function,
34 	u16 error);
35 
36 void hpi_init_message_response(struct hpi_message *phm,
37 	struct hpi_response *phr, u16 object, u16 function);
38 
39 void hpi_init_responseV1(struct hpi_response_header *phr, u16 size,
40 	u16 object, u16 function);
41 
42 void hpi_init_message_responseV1(struct hpi_message_header *phm, u16 msg_size,
43 	struct hpi_response_header *phr, u16 res_size, u16 object,
44 	u16 function);
45 
46 #endif				/* _HPIMSGINIT_H_ */
47