me8100.h
changeset 12 67e56b4bce81
parent 11 a60ff25672a0
child 13 f7fb771d7842
equal deleted inserted replaced
11:a60ff25672a0 12:67e56b4bce81
   195 typedef enum {  
   195 typedef enum {  
   196   ME8100_A, 
   196   ME8100_A, 
   197   ME8100_B
   197   ME8100_B
   198 } me8100_version_enum_type; 
   198 } me8100_version_enum_type; 
   199 
   199 
       
   200 /* private data: data that are to be stored in the file pointer we
       
   201  * get from the calling process. */
   200 struct me8100_private_data {
   202 struct me8100_private_data {
   201   unsigned long last_read;		  /* jiffies */
   203   unsigned long last_read;	   /* jiffies */
   202 };
   204 };
   203 
   205 
   204 struct me8100_subinfo {
   206 struct me8100_subinfo {
   205   unsigned int regbase;
   207   unsigned int regbase;
   206   unsigned short ctrl_reg;
   208   unsigned short ctrl_reg;
   207   unsigned long last_change;
   209   unsigned long last_change;
       
   210 
       
   211   unsigned short ctrl_wflags;		    /* flags the writer(s) (re)set */
       
   212   unsigned short ctrl_rflags;		    /* flags the reader(s) (re)set */
       
   213 
   208   int num_writer;
   214   int num_writer;
   209   int num_reader;
   215   int num_reader;
       
   216 
       
   217   int int_seen;
       
   218   int int_count;
       
   219 
       
   220   struct fasync_struct *fasync_ptr;
   210 };
   221 };
   211 
   222 
   212 typedef struct{
   223 typedef struct{
   213   int board_count;                  /* index of the board after detection    */
   224   int board_count;                  /* index of the board after detection    */
   214   me8100_version_enum_type version; /* sort of board                         */
   225   me8100_version_enum_type version; /* sort of board                         */
   222   unsigned short device_id;         /* Device ID                             */
   233   unsigned short device_id;         /* Device ID                             */
   223   int pci_bus_no;                   /* PCI bus number                        */
   234   int pci_bus_no;                   /* PCI bus number                        */
   224   int pci_dev_no;                   /* PCI device number                     */
   235   int pci_dev_no;                   /* PCI device number                     */
   225   int pci_func_no;                  /* PCI function number                   */
   236   int pci_func_no;                  /* PCI function number                   */
   226   char int_line;                    /* IRQ assigned from the PCI BIOS        */
   237   char int_line;                    /* IRQ assigned from the PCI BIOS        */
   227   int int1;                         /* Marks witch interrupt occured         */
       
   228   int int2;                         /* Marks witch interrupt occured         */
       
   229   int int_count_1;                  /* Count of interrupt 1                  */
       
   230   int int_count_2;                  /* Count of interrupt 2                  */
       
   231   int board_in_use;                 /* Indicates if board is already in use  */
   238   int board_in_use;                 /* Indicates if board is already in use  */
   232   struct file *file_ptr;            /* Pointer to file structure of path     */
   239   struct file *file_ptr;            /* Pointer to file structure of path     */
   233   struct fasync_struct *fasync_ptr; /* .hs */
       
   234   struct me8100_subinfo subinfo[2];   /* .hs */
   240   struct me8100_subinfo subinfo[2];   /* .hs */
   235 } me8100_info_type;
   241 } me8100_info_type;
   236 
   242 
   237 #endif	/* __KERNEL__ */
   243 #endif	/* __KERNEL__ */
   238 
   244