b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* the third parameter is meant to force detection of tda8425.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync This is because tda8425 is write-only and complete implementation
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync of I2C protocol is not always available. Besides address there is no good
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync way to autodetect it so we have to _know_ it is there anyway */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncTDA8425Ptr Detect_tda8425(I2CBusPtr b, I2CSlaveAddr addr,Bool force);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync "Detect_tda8425", \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync "tda8425_init", \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync "tda8425_setaudio", \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync "tda8425_mute"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_Detect_tda8425 ((TDA8425Ptr (*)(I2CBusPtr, I2CSlaveAddr,Bool))LoaderSymbol("Detect_tda8425"))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda8425_init ((Bool (*)(TDA8425Ptr))LoaderSymbol("tda8425_init"))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda8425_setaudio ((void (*)(TDA8425Ptr))LoaderSymbol("tda8425_setaudio"))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define xf86_tda8425_mute ((void (*)(TDA8425Ptr, Bool))LoaderSymbol("tda8425_mute"))