[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 メーリングリストの案内