驱动学-秒字符设备

 今天编译了linux设备驱动开发详解一书中第十章中的秒字符设备驱动,编完后加载时 终端显示nsmod: error inserting 'second.ko': -1 Device or resource busy 。此问题的出现是因为second设备的设备好和系统的设备号重了,修改程序中的设备号之后问题解决!

/*======================================================================
    A "seond" device driver as an example of kernel timer
   
    The initial developer of the original code is Baohua Song
    <author@linuxdriver.cn>. All Rights Reserved.
======================================================================*/
#include <linux/module.h>
#include <linux/types.h>
#include <linux/fs.h>
#include <linux/errno.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/init.h>
#include <linux/cdev.h>
#include <asm/io.h>
#include <asm/system.h>
#include <asm/uaccess.h>
#include <linux/timer.h> /*°üÀ¨timer.hÍ·Îļþ*/
#include <asm/atomic.h>

#define SECOND_MAJOR 500    /*Ô¤ÉèµÄsecondµÄÖ÷É豸ºÅ*/

static int second_major = SECOND_MAJOR;

/*secondÉ豸½á¹¹Ìå*/
struct second_dev
{
  struct cdev cdev; /*cdev½á¹¹Ìå*/
  atomic_t counter;/* Ò»¹²¾­ÀúÁ˶àÉÙÃ룿*/
  struct timer_list s_timer; /*É豸ҪʹÓõĶ¨Ê±Æ÷*/
};

struct second_dev *second_devp; /*É豸½á¹¹ÌåÖ¸Õë*/

/*¶¨Ê±Æ÷´¦Àíº¯Êý*/
static void second_timer_handle(unsigned long arg)
{
  mod_timer(&second_devp->s_timer,jiffies + HZ);
复制了 148 行                                                                                              1,1          顶端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值