- 論壇徽章:
- 3
|
回復(fù) 1# guanss2014
樓主你看下你創(chuàng)建的設(shè)備,/sys/class/hsc的符號鏈接的設(shè)備目錄有沒有dev的屬性文件!
948 device_register()->device_add()
949 if (MAJOR(dev->devt)) {
950 error = device_create_file(dev, &devt_attr);
951 if (error)
952 goto ueventattrError;
953
954 error = device_create_sys_dev_entry(dev); //創(chuàng)建dev屬性文件
955 if (error)
956 goto devtattrError;
957
958 devtmpfs_create_node(dev); //創(chuàng)建設(shè)備節(jié)點。。
959 }
如果沒有設(shè)備節(jié)點很有可能有兩個原因:
1) MAJOR()條件語句進(jìn)不去, 說明你的注冊的設(shè)備號是有問題的
2) 第二種可能是:devtmpfs_create_node(dev)調(diào)用device_get_devnode函數(shù)失敗。
這個函數(shù)負(fù)責(zé)創(chuàng)建設(shè)備節(jié)點在devtmpfs文件系統(tǒng)的相對路徑名.
如果沒有dev屬性文件很有可能是第一個原因。
我今天寫的偽字符驅(qū)動也是因為第一個原因沒有創(chuàng)建設(shè)備節(jié)點 |
|