Simple Read operation on a misc device driver
Aldo Esteban Paz
estebanpazutn at gmail.com
Fri Apr 18 17:30:44 EDT 2014
For the Eudyptula's Chanllenge Task 6, i need to write a misc device
driver with simple read/write operations.
The following was the answer to part of my code:
> static char eid[] = EUDYPTULAID;
>
> static ssize_t misc_device_read(struct file *file, char __user *buf,
> size_t count, loff_t *ppos)
> {
> if (*ppos == sizeof(eid))
> return 0;
> else
> if (*ppos != 0 || count < sizeof(eid))
> return -EINVAL;
>
> if (copy_to_user(buf, eid, sizeof(eid)))
> return -EINVAL;
>
> *ppos = sizeof(eid);
>
> return *ppos;
> }
This whole function can be made much more "simple" and reduced to one
single line {hint} (It's just a "simple" function call {hint}).
Anyone know that "single" function?
More information about the Kernelnewbies
mailing list