b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef __TDA9850_H__
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __TDA9850_H__
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "xf86i2c.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync I2CDevRec d;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int mux;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int stereo;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int sap;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool mute;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool sap_mute;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } TDA9850Rec, *TDA9850Ptr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define TDA9850_ADDR_1 0xB4
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncTDA9850Ptr Detect_tda9850(I2CBusPtr b, I2CSlaveAddr addr);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool tda9850_init(TDA9850Ptr t);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid tda9850_setaudio(TDA9850Ptr t);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid tda9850_mute(TDA9850Ptr t, Bool mute);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid tda9850_sap_mute(TDA9850Ptr t, Bool sap_mute);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCARD16 tda9850_getstatus(TDA9850Ptr t);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define TDA9850SymbolsList \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync "Detect_tda9850", \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync "tda9850_init", \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync "tda9850_setaudio", \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync "tda9850_mute", \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync "tda9850_sap_mute"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef XFree86LOADER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_Detect_tda9850 ((TDA9850Ptr (*)(I2CBusPtr, I2CSlaveAddr))LoaderSymbol("Detect_tda9850"))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda9850_init ((Bool (*)(TDA9850Ptr))LoaderSymbol("tda9850_init"))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda9850_setaudio ((void (*)(TDA9850Ptr))LoaderSymbol("tda9850_setaudio"))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda9850_mute ((void (*)(TDA9850Ptr, Bool))LoaderSymbol("tda9850_mute"))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda9850_sap_mute ((void (*)(TDA9850Ptr, Bool))LoaderSymbol("tda9850_sap_mute"))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda9850_getstatus ((CARD16 (*)(TDA9850Ptr))LoaderSymbol("tda9850_getstatus"))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_Detect_tda9850 Detect_tda9850
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda9850_init tda9850_init
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda9850_setaudio tda9850_setaudio
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda9850_mute tda9850_mute
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda9850_sap_mute tda9850_sap_mute
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda9850_getstatus tda9850_getstatus
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif