| 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"); |
| 95 | |