79849ae4fbefaa197c4d5e0489b37bb353cadbba
1 /******************************************************************************
3 ** FILE NAME : ifxmips_mei_linux.h
9 ** DESCRIPTION : MEI Driver
10 ** COPYRIGHT : Copyright (c) 2006
11 ** Infineon Technologies AG
12 ** Am Campeon 1-12, 85579 Neubiberg, Germany
14 ** This program is free software; you can redistribute it and/or modify
15 ** it under the terms of the GNU General Public License as published by
16 ** the Free Software Foundation; either version 2 of the License, or
17 ** (at your option) any later version.
20 ** $Version $Date $Author $Comment
21 *******************************************************************************/
22 #include <linux/kernel.h>
23 #include <linux/module.h>
24 #include <linux/version.h>
25 #include <linux/types.h>
28 #include <linux/errno.h>
29 #include <linux/interrupt.h>
30 #include <linux/netdevice.h>
31 #include <linux/etherdevice.h>
32 #include <asm/semaphore.h>
33 #include <linux/init.h>
34 #include <linux/ioport.h>
35 #include <asm/uaccess.h>
37 #undef CONFIG_DEVFS_FS //165204:henryhsu devfs will make mei open file fail.
39 #ifdef CONFIG_DEVFS_FS
40 #include <linux/devfs_fs_kernel.h>
43 #include <linux/proc_fs.h>
46 #include <linux/list.h>
47 #include <linux/delay.h>
52 #define MEI_DIRNAME "mei"
55 #include <asm/ifxmips/ifxmips.h>
56 #include <asm/ifxmips/ifxmips_irq.h>
57 #include <asm/ifxmips/ifxmips_mei.h>
58 #include <asm/ifxmips/ifxmips_mei_app.h>
59 #include <asm/ifxmips/ifxmips_mei_ioctl.h>
60 #include <asm/ifxmips/ifxmips_mei_app_ioctl.h>
61 #include <asm/ifxmips/ifxmips_gpio.h>
62 #include <asm/ifxmips/ifxmips_led.h>
63 #include <asm/ifxmips/ifxmips_irq.h>
65 #ifdef CONFIG_DEVFS_FS
66 #define IFXMIPS_DEVNAME "ifxmips"
67 #endif //ifdef CONFIG_DEVFS_FS
69 #define MEI_LOCKINT(var) \
70 local_save_flags(var);\
72 #define MEI_UNLOCKINT(var) \
73 local_irq_restore(var)
75 #define MEI_MUTEX_INIT(id,flag) \
77 #define MEI_MUTEX_LOCK(id) \
78 down_interruptible(&id)
79 #define MEI_MUTEX_UNLOCK(id) \
82 #define MEI_MASK_AND_ACK_IRQ \
83 ifxmips_mask_and_ack_irq
85 #define MEI_DISABLE_IRQ \
87 #define MEI_ENABLE_IRQ \
90 #define MEI_WAIT(ms) \
92 set_current_state(TASK_INTERRUPTIBLE);\
93 schedule_timeout(ms);\
96 #define MEI_INIT_WAKELIST(name,queue) \
97 init_waitqueue_head(&queue)
99 #define MEI_WAIT_EVENT_TIMEOUT(ev,timeout)\
100 interruptible_sleep_on_timeout(&ev,timeout)
102 #define MEI_WAIT_EVENT(ev)\
103 interruptible_sleep_on(&ev)
104 #define MEI_WAKEUP_EVENT(ev)\
105 wake_up_interruptible(&ev)
107 typedef unsigned long MEI_intstat_t
;
108 typedef struct semaphore MEI_mutex_t
;
109 typedef struct file MEI_file_t
;
110 typedef struct inode MEI_inode_t
;
112 extern void mask_and_ack_ifxmips_irq (unsigned int irq_nr
);
This page took 0.051422 seconds and 3 git commands to generate.