world leader in high performance signal processing
Trace:

Differences

This shows you the differences between two versions of the page.

basic_driver_completion [2005/08/12 23:04]
philwil created
basic_driver_completion [2006/12/08 01:02] (current)
Line 9: Line 9:
 A modified **module_init** function is shown here A modified **module_init** function is shown here
  
 +<code c>                                                                     
 +  static int __init scmd_init(void){                                 
 +      int ret;
 +      int i;
 +                                                       
 +      /* set up the initial data */                  
 +      for ( i = 0 ; i < SCMD_SIZE ; i++ ) {          
 +          scmd_data[i] = '0'+i;                       
 +      }                                              
 +    
 +      //SET_MODULE_OWNER(&scmd_driver_fops); //not now in 2.6 kernels
 +                                                                     
 +      scmd_driver_fops.read = scmd_read;
 +      scmd_driver_fops.write = scmd_write;
 +      scmd_driver_fops.open = scmd_open;
 +      scmd_driver_fops.release = scmd_close;
 +
 +
 +      ret = register_chrdev(scmd_major, SCMD_DEV,                    
 +                                      &scmd_driver_fops);            
 +      printk(" Driver scmd_basic registered .. ret %d \n",ret);      
 +      if ( ret > 0 ) {                                               
 +          scmd_major = ret;                                          
 +       ret = 0;                                                          
 +      }                                                              
 +      return ret;                                                    
 +  }                                                                  
 +
 +</code>