Linux-libre 3.2.77-gnu1
[librecmc/linux-libre.git] / drivers / staging / tidspbridge / pmgr / chnlobj.h
1 /*
2  * chnlobj.h
3  *
4  * DSP-BIOS Bridge driver support functions for TI OMAP processors.
5  *
6  * Structure subcomponents of channel class library channel objects which
7  * are exposed to DSP API from Bridge driver.
8  *
9  * Copyright (C) 2005-2006 Texas Instruments, Inc.
10  *
11  * This package is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License version 2 as
13  * published by the Free Software Foundation.
14  *
15  * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
16  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
17  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18  */
19
20 #ifndef CHNLOBJ_
21 #define CHNLOBJ_
22
23 #include <dspbridge/chnldefs.h>
24 #include <dspbridge/dspdefs.h>
25
26 /*
27  *  This struct is the first field in a chnl_mgr struct. Other. implementation
28  *  specific fields follow this structure in memory.
29  */
30 struct chnl_mgr_ {
31         /* These must be the first fields in a chnl_mgr struct: */
32
33         /* Function interface to Bridge driver. */
34         struct bridge_drv_interface *intf_fxns;
35 };
36
37 /*
38  *  This struct is the first field in a chnl_object struct. Other,
39  *  implementation specific fields follow this structure in memory.
40  */
41 struct chnl_object_ {
42         /* These must be the first fields in a chnl_object struct: */
43         struct chnl_mgr_ *chnl_mgr_obj; /* Pointer back to channel manager. */
44 };
45
46 #endif /* CHNLOBJ_ */