字符设备驱动基本框架

字符设备驱动基本框架


#include 
< linux / init.h >
#include 
< linux / module.h >  
#include 
< asm / gpio.h >
#include 
< linux / moduleparam.h >  
#include 
< linux / mm.h >
#include 
< asm / io.h >

#define  DEVICE_NAME        "LEDS"
#define  NUM_MAJOR        240

MODULE_LICENSE(
" Dual BSD/GPL " ); 

static   int  leds_ioctl( struct  inode  * inode,  struct  file  * file, unsigned  int  cmd, unsigned  long  arg)
{
    
return 0;
}


static   struct  file_operations fops  =  
{
    owner: THIS_MODULE,
    ioctl: leds_ioctl,
}
;

static   int  leds_init( void

    
// 注册设备
    register_chrdev(NUM_MAJOR, DEVICE_NAME, &fops);    
    
return 0
}
 

static   void  leds_exit( void
{
    
// 注销设备
    unregister_chrdev(NUM_MAJOR,DEVICE_NAME);
}
 

module_init(leds_init); 
module_exit(leds_exit); 

你可能感兴趣的:(字符设备驱动基本框架)