[ifxmips-dsl-api] fix .32 kernel, add support for .33 kernel
[openwrt/svn-archive/archive.git] / package / ifxmips-dsl-api / patches-2.6.33 / 200-mei_compat.patch
1 --- a/src/mei/ifxmips_mei.c
2 +++ b/src/mei/ifxmips_mei.c
3 @@ -41,18 +41,20 @@
4 #include <linux/init.h>
5 #include <linux/ioport.h>
6 #include <linux/delay.h>
7 +#include <linux/device.h>
8 +#include <linux/sched.h>
9 #include <asm/uaccess.h>
10 #include <asm/hardirq.h>
11 -#include <asm/ifx/ifx_regs.h>
12 -#include <asm/ifx/irq.h>
13 -#include <asm/ifx/ifx_gpio.h>
14 -//#include <asm/ifx/ifx_led.h>
15 -#include <asm/ifx/ifx_pmu.h>
16 -#include <asm/ifx/ifx_atm.h>
17 +
18 +#include <ifxmips.h>
19 +#include <ifxmips_irq.h>
20 +#include <ifxmips_gpio.h>
21 +#include <ifxmips_pmu.h>
22 +#include "ifxmips_atm.h"
23 #define IFX_MEI_BSP
24 #include "ifxmips_mei_interface.h"
25
26 -#define IFXMIPS_RCU_RST IFX_RCU_RST_REQ
27 +/*#define IFXMIPS_RCU_RST IFX_RCU_RST_REQ
28 #define IFXMIPS_RCU_RST_REQ_ARC_JTAG IFX_RCU_RST_REQ_ARC_JTAG
29 #define IFXMIPS_RCU_RST_REQ_DFE IFX_RCU_RST_REQ_DFE
30 #define IFXMIPS_RCU_RST_REQ_AFE IFX_RCU_RST_REQ_AFE
31 @@ -76,7 +78,7 @@
32 #define ifxmips_r32(reg) __raw_readl(reg)
33 #define ifxmips_w32(val, reg) __raw_writel(val, reg)
34 #define ifxmips_w32_mask(clear, set, reg) ifxmips_w32((ifxmips_r32(reg) & ~clear) | set, reg)
35 -
36 +*/
37 #define IFX_MEI_EMSG(fmt, args...) printk(KERN_ERR "[%s %d]: " fmt,__FUNCTION__, __LINE__, ## args)
38 #define IFX_MEI_DMSG(fmt, args...) printk(KERN_INFO "[%s %d]: " fmt,__FUNCTION__, __LINE__, ## args)
39
40 @@ -173,7 +175,8 @@ static u32 *mei_arc_swap_buff = NULL; //
41 extern void ifxmips_mask_and_ack_irq(unsigned int irq_nr);
42 #define MEI_MASK_AND_ACK_IRQ ifxmips_mask_and_ack_irq
43
44 -static int dev_major = 105;
45 +#define MEI_MAJOR 105
46 +static int dev_major = MEI_MAJOR;
47
48 static struct file_operations bsp_mei_operations = {
49 owner:THIS_MODULE,
50 @@ -2294,10 +2297,10 @@ IFX_MEI_InitDevice (int num)
51 IFX_MEI_EMSG ("request_irq %d failed!\n", pDev->nIrq[IFX_DFEIR]);
52 return -1;
53 }
54 - if (request_irq (pDev->nIrq[IFX_DYING_GASP], IFX_MEI_Dying_Gasp_IrqHandle, 0, "DYING_GASP", pDev) != 0) {
55 + /*if (request_irq (pDev->nIrq[IFX_DYING_GASP], IFX_MEI_Dying_Gasp_IrqHandle, 0, "DYING_GASP", pDev) != 0) {
56 IFX_MEI_EMSG ("request_irq %d failed!\n", pDev->nIrq[IFX_DYING_GASP]);
57 return -1;
58 - }
59 + }*/
60 // IFX_MEI_DMSG("Device %d initialized. IER %#x\n", num, bsp_get_irq_ier(pDev->nIrq[IFX_DYING_GASP]));
61 return 0;
62 }
63 @@ -2922,6 +2925,7 @@ int __init
64 IFX_MEI_ModuleInit (void)
65 {
66 int i = 0;
67 + static struct class *dsl_class;
68
69 printk ("IFX MEI Version %ld.%02ld.%02ld", bsp_mei_version.major, bsp_mei_version.minor, bsp_mei_version.revision);
70
71 @@ -2935,14 +2939,15 @@ IFX_MEI_ModuleInit (void)
72 IFX_MEI_InitProcFS (i);
73 #endif
74 }
75 - for (i = 0; i <= DSL_BSP_CB_LAST ; i++)
76 + for (i = 0; i <= DSL_BSP_CB_LAST ; i++)
77 dsl_bsp_event_callback[i].function = NULL;
78
79 #ifdef CONFIG_IFXMIPS_MEI_FW_LOOPBACK
80 printk(KERN_INFO "[%s %s %d]: Start loopback test...\n", __FILE__, __func__, __LINE__);
81 DFE_Loopback_Test ();
82 #endif
83 -
84 + dsl_class = class_create(THIS_MODULE, "ifx_mei");
85 + device_create(dsl_class, NULL, MKDEV(MEI_MAJOR, 0), NULL, "ifx_mei");
86 return 0;
87 }
88
89 @@ -2996,3 +3001,5 @@ EXPORT_SYMBOL (DSL_BSP_EventCBUnregister
90
91 module_init (IFX_MEI_ModuleInit);
92 module_exit (IFX_MEI_ModuleExit);
93 +
94 +MODULE_LICENSE("Dual BSD/GPL");