more io stuff
This commit is contained in:
41
driver/io.c
41
driver/io.c
@ -1,9 +1,50 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/ioctl.h>
|
||||
|
||||
#include "io.h"
|
||||
#include "counter_io_calls.h"
|
||||
|
||||
|
||||
static dev_t io_device_no;
|
||||
static struct class *io_device_class;
|
||||
static struct cdev io_device;
|
||||
|
||||
#define DRIVER_NAME "cntiodev"
|
||||
#define DRIVER_CLASS "CounterClass"
|
||||
|
||||
|
||||
|
||||
static int io_open(struct inode *device_file, struct file *instance) {
|
||||
printk("counter - Info! io open was called\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int io_close(struct inode *device_file, struct file *instance) {
|
||||
printk("counter - Info! io close was called\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static struct file_operations fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = io_open,
|
||||
.release = io_close,
|
||||
};
|
||||
|
||||
int io_init(void) {
|
||||
printk("counter - Info! io init\n");
|
||||
|
||||
if (alloc_chrdev_region(&io_device_no, 0, 1, DRIVER_NAME) < 0) {
|
||||
printk("counter - ERROR! Device No. could not be allocated\n");
|
||||
return -1;
|
||||
}
|
||||
printk("counter - Info! Device No. Major: %d, Minor: %d was registered!\n", my_device_nr >> 20, my_device_nr & 0xfffff);
|
||||
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user