hi everybody,
i am doing a kernel module. I am trying to keep it simple. However, i keep on getting errors i don't understand.
The error
Code:
error: too few arguments to function ‘register_chrdev_region’
points to the following line:
Code:
result = register_chrdev_region(dev_number, 1, name);
furthermore, i get the following error:
Code:
error: expected ‘)’ before ‘;’ token
which points to the following line:
Code:
result = alloc_chrdev_region(&dev_number, minor, 1, name);
These lines are in the following function:
Code:
static int mymodule_init(void)
{
int result; // to save the return value
if(major) // static allocation
{
dev_number = MKDEV(major, minor);
result = register_chrdev_region(dev_number, 1, name);
}
else // dynamic allocation
{
result = alloc_chrdev_region(&dev_number, minor, 1, name);
major= MAJOR(dev_number);
}
// error handling
if(result < 0)
{
printk(KERN_WARNING "Warning: can't get major %d\n", major);
return result;
}
//printk(KERN_ALERT "My Major Number: %d\nMy Minor Number: %d\n", major, minor);
//setup_cdev(&cdev);
return 0;
}
does anybody see where i made the mistakes?? thanks in advance!