/* * hrt_types.h */ #ifndef _HRT_TYPES_H_ #define _HRT_TYPES_H_ #include #include #include typedef struct { struct pci_dev *pci_dev; int valid; struct semaphore sem; wait_queue_head_t wait_queue; struct timer_list timer; struct tasklet_struct tasklet; int timer_enabled; int interrupt_enabled; #ifdef HRT_DEBUG struct timer_list debug_timer; int debug_count; int debug_timer_count; int debug_interrupt_count; int debug_read_count; #endif wait_queue_head_t sfb_wait_queue; int sfb_enable; unsigned char* sfb[HRT_MAX_BUFFERS]; int sfb_state[HRT_MAX_BUFFERS]; int sfb_w; unsigned long virt_addr; unsigned long phys_addr; int in_use; int num; #ifdef DOUBLE_BUFFERING unsigned char* frame_buffer[2]; /* read and write frame buffer pointers */ unsigned char* frame_bufferr, *frame_bufferw; #else unsigned char* frame_buffer; #endif int x, y; int width, height; int depth; int fb_size; #ifdef CONFIG_I2C struct i2c_adapter i2c_adap; struct i2c_client i2c_client; struct i2c_algorithm i2c_algo; #endif /* Necessary for both CONFIG_I2C and builtin I2C */ int i2c_port; char saa7110_registers[HRT_SAA7110_NUMREGS]; int parity; int frame_ready; /* * these are module lifetime vars that arent reset * on open and close */ int use_interrupts; } hrt_dev_t; #endif