123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #include <linux/init.h>
- #include <linux/module.h>
- #include <linux/device.h>
- #include <linux/types.h>
- #include <linux/cdev.h>
- #include <linux/fs.h>
- #include <linux/slab.h>
- #include "mod.h"
- #include "dev.h"
- #include "debug.h"
- int kmm_device_open(struct inode *inode, struct file *filp)
- {
- kmm_dev_t *dev;
- dev = container_of( inode->i_cdev, kmm_dev_t, cdev);
- filp->private_data = dev;
-
- mod_info("open\n");
- return 0;
- }
- int kmm_device_release(struct inode *inode, struct file *filp)
- {
- mod_info("close\n");
- return 0;
- }
- static struct file_operations kmm_fops = {
- .owner = THIS_MODULE,
- // .unlocked_ioctl = pcidriver_ioctl,
- // .mmap = pcidriver_mmap,
- .open = kmm_device_open,
- .release = kmm_device_release,
- };
- const struct file_operations *kmm_get_fops(void)
- {
- return &kmm_fops;
- }
|