我写的串口驱动 写不下去了 大家帮忙啊
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/tty.h>
#include <linux/tty_flip.h>
#include <linux/tty_driver.h> /*数据结构tty_driver*/
#include <linux/fcntl.h>
#include <linux/string.h>
#include <linux/major.h>
#include <linux/mm.h>
#include <linux/init.h> /*用于指定模块初始化和清除函数的宏*/
#include <linux/sysctl.h>
#include <asm/uaccess.h> /*声明在内核代码和用户空间之间移动数据的函数*/
#include <asm/system.h>
#include <linux/bitops.h>
#include <linux/devpts_fs.h>
static struct tty_driver *serial_driver;
static void serial_close(struct tty_struct * tty, struct file * filp)
{
}
static void serial_unthrottle(struct tty_struct * tty)
{
}
static int serial_write(struct tty_struct * tty, const unsigned char *buf, int count)
{
}
static int serial_write_room(struct tty_struct *tty)
{
}
static int serial_chars_in_buffer(struct tty_struct *tty)
{
}
static int serial_set_lock(struct tty_struct *tty, int __user * arg)
{
}
static void serial_flush_buffer(struct tty_struct *tty)
{
}
static int serial_open(struct tty_struct *tty, struct file * filp)
{
}
static void serial_set_termios(struct tty_struct *tty, struct termios *old_termios)
{
}
static struct tty_operations serial_ops = {
.open = serial_open,
.close = serial_close,
.write = serial_write,
.write_room = serial_write_room,
.flush_buffer = serial_flush_buffer,
.chars_in_buffer = serial_chars_in_buffer,
.unthrottle = serial_unthrottle,
.set_termios = serial_set_termios,
};
static int __init serial_init(void)
{
serial_driver = alloc_tty_driver();
if (!serial_driver)
panic("Couldn't allocate serial driver");
serial_driver->owner = THIS_MODULE;
serial_driver->driver_name = ;/*在/proc/tty和sysfs中使用,表示驱动程序的名字*/
serial_driver->name = ;
serial_driver->major = ;
serial_driver->minor_start = ;
serial_driver->type = ;
serial_driver->subtype = ;
serial_driver->init_termios = ;
serial_driver->init_termios.c_iflag = ;
serial_driver->init_termios.c_oflag = ;
serial_driver->init_termios.c_cflag = ;
serial_driver->init_termios.c_lflag = ;
serial_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_NO_DEVFS ;
serial_driver->other = ;
serial_driver->ioctl = ;
tty_set_operations(serial_driver, &serial_ops);
if (tty_register_driver(serial_driver))
panic("Couldn't register serial driver");
return 0;
}
static void __exit serial_exit(void)
{
}
module_init(serial_init);
module_exit(serial_exit);