1/*************************************************************************************
2 * Copyright (C) 2005 Bogdan D. bogdand@users.sourceforge.net
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy of this
5 * software and associated documentation files (the "Software"), to deal in the Software
6 * without restriction, including without limitation the rights to use, copy, modify,
7 * merge, publish, distribute, sublicense, and/or sell copies of the Software,
8 * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
9 *
10 * The above copyright notice and this permission notice shall be included in all copies or
11 * substantial portions of the Software.
12 *
13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
14 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
15 * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM,
16 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18 *
19 * Except as contained in this notice, the name of the author shall not be used in advertising or
20 * otherwise to promote the sale, use or other dealings in this Software without prior written
21 * authorization from the author.
22 *
23 * Revision 1.3  2005/09/24 21:56:00  bogdand
24 * Changed the license to a X/MIT one
25 *
26 * Revision 1.2  2005/07/01 22:43:11  daniels
27 * Change all misc.h and os.h references to <X11/foo.h>.
28 *
29 *
30 ************************************************************************************/
31
32#ifndef __UDA1380_H__
33#define __UDA1380_H__
34
35#include "xf86i2c.h"
36
37typedef struct {
38	I2CDevRec d;
39
40	CARD16 analog_mixer_settings;	/* register 0x03 */
41
42	} UDA1380Rec, *UDA1380Ptr;
43
44#define UDA1380_ADDR_1   0x30
45#define UDA1380_ADDR_2   0x34
46
47#define xf86_Detect_uda1380		Detect_uda1380
48extern _X_EXPORT UDA1380Ptr Detect_uda1380(I2CBusPtr b, I2CSlaveAddr addr);
49#define xf86_uda1380_init		uda1380_init
50extern _X_EXPORT Bool uda1380_init(UDA1380Ptr t);
51#define xf86_uda1380_shutdown		uda1380_shutdown
52extern _X_EXPORT void uda1380_shutdown(UDA1380Ptr t);
53#define xf86_uda1380_setvolume		uda1380_setvolume
54extern _X_EXPORT void uda1380_setvolume(UDA1380Ptr t, INT32);
55#define xf86_uda1380_mute		uda1380_mute
56extern _X_EXPORT void uda1380_mute(UDA1380Ptr t, Bool);
57#define xf86_uda1380_setparameters	uda1380_setparameters
58extern _X_EXPORT void uda1380_setparameters(UDA1380Ptr t);
59#define xf86_uda1380_getstatus		uda1380_getstatus
60extern _X_EXPORT void uda1380_getstatus(UDA1380Ptr t);
61#define xf86_uda1380_dumpstatus		uda1380_dumpstatus
62extern _X_EXPORT void uda1380_dumpstatus(UDA1380Ptr t);
63
64#define UDA1380SymbolsList  \
65		"Detect_uda1380", \
66		"uda1380_init", \
67		"uda1380_shutdown", \
68		"uda1380_setvolume", \
69		"uda1380_mute", \
70		"uda1380_setparameters", \
71		"uda1380_getstatus", \
72		"uda1380_dumpstatus"
73
74#endif
75