久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

新舊版本驅(qū)動(dòng)模塊的一些不同

 huihaoking 2014-01-27

1.ioctl 與 unlocked_ioctl   / int 與long

舊版本:

static const struct file_operations globalmem_fops=
{
.owner=THIS_MODULE,
.llseek=globalmem_llseek,
.open=globalmem_open,
.read=globalmem_read,
.write=globalmem_write,
.ioctl=globalmem_ioctl,
.release=globalmem_release,
};

int globalmem_ioctl(struct inode* inode,struct file* filp, unsigned int cmd,unsigned long arg)

{

switch (cmd)

  {

   case:XXX:   ...

    ……

  }

}

新版本:

static const struct file_operations globalmem_fops=
{
.owner=THIS_MODULE,
.llseek=globalmem_llseek,
.open=globalmem_open,
.read=globalmem_read,
.write=globalmem_write,
.unlocked_ioctl=globalmem_ioctl,
.release=globalmem_release,
};

long globalmem_ioctl(struct file* filp, unsigned int cmd,unsigned long arg)//沒有inode參數(shù),!

{

switch (cmd)

  {

   case:XXX:   ...

    ……

  }

}


2.class_create/device_create 與 devfs_mk_cdev

舊版本:devfs_mk_cdev(MKDEV(LED_MAJOR, 0), S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP,DEVICE_NAME);  

新版本:

/*******     功能:內(nèi)核驅(qū)動(dòng)注冊(cè)完后,,用以下代碼創(chuàng)建設(shè)備文件  ******/

mydriver_class = class_create(THIS_MODULE, DEVICE_NAME); //注冊(cè)一個(gè)類,使mdev可以在"/dev/"目錄下 面建立設(shè)備節(jié)點(diǎn)

//創(chuàng)建一個(gè)設(shè)備節(jié)點(diǎn),,節(jié)點(diǎn)名為DEVICE_NAME

device_create(mydriver_class, NULL, devno, NULL, DEVICE_NAME);  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多