Question on registering driver fops

Ezequiel García elezegarcia at gmail.com
Tue Feb 14 17:05:48 EST 2012


Hi,

I noticed that after registering a video driver with
"video_register_device" the "open" function gets called.
The registration is like:

        peasycap->video_device.fops = &v4l2_fops;
        peasycap->video_device.minor = -1;
        peasycap->video_device.release = (void *)(&videodev_release);

        video_set_drvdata(&(peasycap->video_device), (void *)peasycap);

First question: who calls it and why does it open the device?

Second question. This is a common kernel interface, driver fills a
"fops" struct and then registers.
This means I need to be *always* prepared to get a call on "open" (or
other file operation)
immediately after driver registration?

Thanks,
Ezequiel.



More information about the Kernelnewbies mailing list