mirror of
https://github.com/X11Libre/xserver.git
synced 2026-09-26 21:12:25 +00:00
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".
99 lines
2.7 KiB
C
99 lines
2.7 KiB
C
#ifndef __BT829_H__
|
|
#define __BT829_H__
|
|
|
|
#include "xf86i2c.h"
|
|
|
|
typedef struct {
|
|
int tunertype; /* Must be set before init */
|
|
/* Private variables */
|
|
I2CDevRec d;
|
|
|
|
CARD8 brightness;
|
|
CARD8 ccmode;
|
|
CARD8 code;
|
|
CARD16 contrast;
|
|
CARD8 format;
|
|
int height;
|
|
CARD8 hue;
|
|
CARD8 len;
|
|
CARD8 mux;
|
|
CARD8 out_en;
|
|
CARD8 p_io;
|
|
CARD16 sat_u;
|
|
CARD16 sat_v;
|
|
CARD8 vbien;
|
|
CARD8 vbifmt;
|
|
int width;
|
|
|
|
CARD16 hdelay;
|
|
CARD16 hscale;
|
|
CARD16 vactive;
|
|
CARD16 vdelay;
|
|
CARD16 vscale;
|
|
|
|
CARD16 htotal;
|
|
CARD8 id;
|
|
CARD8 svideo_mux;
|
|
} BT829Rec, *BT829Ptr;
|
|
|
|
#define xf86_bt829_Detect bt829_Detect
|
|
extern BT829Ptr bt829_Detect(I2CBusPtr b, I2CSlaveAddr addr);
|
|
|
|
/* ATI card specific initialization */
|
|
#define BT829_ATI_ADDR_1 0x8A
|
|
#define BT829_ATI_ADDR_2 0x88
|
|
|
|
#define xf86_bt829_ATIInit bt829_ATIInit
|
|
extern int bt829_ATIInit(BT829Ptr bt);
|
|
|
|
#define BT829_NTSC 1 /* NTSC-M */
|
|
#define BT829_NTSC_JAPAN 2 /* NTSC-Japan */
|
|
#define BT829_PAL 3 /* PAL-B,D,G,H,I */
|
|
#define BT829_PAL_M 4 /* PAL-M */
|
|
#define BT829_PAL_N 5 /* PAL-N */
|
|
#define BT829_SECAM 6 /* SECAM */
|
|
#define BT829_PAL_N_COMB 7 /* PAL-N combination */
|
|
|
|
#define xf86_bt829_SetFormat bt829_SetFormat
|
|
extern int bt829_SetFormat(BT829Ptr bt, CARD8 format);
|
|
|
|
#define BT829_MUX2 1 /* ATI -> composite video */
|
|
#define BT829_MUX0 2 /* ATI -> tv tuner */
|
|
#define BT829_MUX1 3 /* ATI -> s-video */
|
|
|
|
#define xf86_bt829_SetMux bt829_SetMux
|
|
extern int bt829_SetMux(BT829Ptr bt, CARD8 mux);
|
|
|
|
#define xf86_bt829_SetCaptSize bt829_SetCaptSize
|
|
extern int bt829_SetCaptSize(BT829Ptr bt, int width, int height);
|
|
|
|
#define xf86_bt829_SetBrightness bt829_SetBrightness
|
|
extern void bt829_SetBrightness(BT829Ptr bt, int brightness);
|
|
#define xf86_bt829_SetContrast bt829_SetContrast
|
|
extern void bt829_SetContrast(BT829Ptr bt, int contrast);
|
|
#define xf86_bt829_SetSaturation bt829_SetSaturation
|
|
extern void bt829_SetSaturation(BT829Ptr bt, int saturation);
|
|
#define xf86_bt829_SetTint bt829_SetTint
|
|
extern void bt829_SetTint(BT829Ptr bt, int hue); /* Hue */
|
|
|
|
#define xf86_bt829_SetOUT_EN bt829_SetOUT_EN
|
|
extern void bt829_SetOUT_EN(BT829Ptr bt, BOOL out_en);/* VPOLE register */
|
|
#define xf86_bt829_SetP_IO bt829_SetP_IO
|
|
extern void bt829_SetP_IO(BT829Ptr bt, CARD8 p_io); /* P_IO register */
|
|
|
|
int bt829_SetCC(BT829Ptr bt);
|
|
|
|
#define BT829SymbolsList \
|
|
"bt829_Detect", \
|
|
"bt829_ATIInit", \
|
|
"bt829_SetFormat", \
|
|
"bt829_SetMux", \
|
|
"bt829_SetBrightness", \
|
|
"bt829_SetContrast", \
|
|
"bt829_SetSaturation", \
|
|
"bt829_SetTint", \
|
|
"bt829_SetCaptSize", \
|
|
"bt829_SetOUT_EN", \
|
|
"bt829_SetP_IO"
|
|
|
|
#endif
|