Simple Read operation on a misc device driver
L. Alberto Giménez
agimenez at sysvalve.es
Sat Apr 19 12:44:12 EDT 2014
On Fri, Apr 18, 2014 at 02:35:53PM -0700, Greg KH wrote:
> On Fri, Apr 18, 2014 at 06:30:44PM -0300, Aldo Esteban Paz wrote:
> > 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?
>
> Yes, but you really should do your own research for stuff like this,
> that's what the challenge is all about, not asking others to do it for
> you :(
I'm curious about this. I didn't get the simple, one-line function call feedback and
my task was accepted with a regular function definition, similar to the one from the
OP.
--
L. Alberto Giménez
GnuPG key ID 0xDD4E27AB
More information about the Kernelnewbies
mailing list