xserver/hw/xfree86/i2c/tda9850.h
Paulo Cesar Pereira de Andrade 87a7fb7438 Rework code using return value of LoaderSymbol as a function pointer.
The patch removes all macros in the format
  define xf86_sym  ((type (*)(argument-list))LoaderSymbol("sym"))
creates a new macro in the format
  define xf86_sym  sym
and ensures "sym" is a "visible" symbol.
  The patch doesn't add or remove features, and is source and binary
compatible with previous shared objects (with the difference that it
requires the dlloader).
  These symbols are a special case, as, due to the fact that LoaderSymbol
was being used to reference them, they are not easily found by "automated"
tools that check for missing symbols. And now it also have the benefit
that the compiler/loader "knows what is going on".
2008-11-27 00:12:59 -02:00

38 lines
938 B
C

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