嗨,您可以Debug下看出錯在哪個函數
hsc_class = class_create(THIS_MODULE, hsc);
if(IS_ERR(hsc_class))
{
err = PTR_ERR(hsc_class);
printk(KERN_ALERT "Failed to create class.\n");
}
hsc_dev = device_create(hsc_class, NULL, MKDEV(major, minor), NULL, "hsi%d", 0);
if(IS_ERR(hsc_dev)) {
err = PTR_ERR(hsc_dev);
printk(KERN_ALERT "Failed to create device.\n");
}
不過我這樣看起來猜測1. class_create(THIS_MODULE, hsc)的hsc是字元陣列嗎?
2. MKDEV(major, minor) 不是這樣用才對, 應該是使用alloc_chrdev_region來產生devt, 但不知道您的major和minor變數實際產生方式
以上供參考