[Suzaku:00540] module内でpoll_wait使用について
三浦浩二
email@hidden
2006年 6月 19日 (月) 16:06:13 JST
いつもお世話になります。
(株)デザインテックの三浦です。
下記ソースをcoLinux上でコンパイルしましたが
($ mb-gcc -Wall -c mod.c -I../uClinux-dist/linux-2.4.x/include)
parse errorが出力されます。
以下のインクルードファイルでエラーになっているようです。
#include <linux/fs.h>
#include <linux/poll.h>
#include <linux/sched.h>
何かよいアドバイスはないでしょうか?
------------------------mod.c-------------------------------------
#define MODULE
#define __KERNEL__
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/signal.h>
#include <linux/wait.h>
#include <linux/fs.h>
#include <linux/poll.h>
#include <linux/sched.h>
#define DEV_NAME "UserTimer"
#define IRQ 3
static wait_queue_head_t usertimer_wait;
static int usertimer_open(struct inode *inode, struct file *file)
{
return 0;
}
static int usertimer_close(struct inode *inode, struct file *file)
{
return 0;
}
static unsigned int usertimer_poll(struct file *file, poll_table *wait)
{
poll_wait(file, &usertimer_wait, wait);
return POLLIN | POLLRDNORM;
}
static struct file_operations usertimer_fops =
{
THIS_MODULE,
NULL,
NULL,
NULL,
NULL,
usertimer_poll,
NULL,
NULL,
usertimer_open,
NULL,
usertimer_close,
NULL,
NULL,
NULL,
NULL,
NULL
};
static void usertimer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
wake_up_interruptible(&usertimer_wait);
}
int init_module(void)
{
if (request_irq(IRQ, usertimer_interrupt, SA_INTERRUPT,
DEV_NAME, NULL))
return 1;
return 0;
}
void cleanup_module(void)
{
free_irq(IRQ, NULL);
}
------------------------mod.c-------------------------------------
suzaku メーリングリストの案内