|  | #include <linux/spinlock.h> | 
|  |  | 
|  | struct cpustate_t { | 
|  | spinlock_t lock; | 
|  | int excl; | 
|  | int open_count; | 
|  | unsigned char cached_val; | 
|  | int inited; | 
|  | unsigned long *set_addr; | 
|  | unsigned long *clr_addr; | 
|  | }; | 
|  |  | 
|  |  | 
|  | #define HDPU_CPUSTATE_NAME "hdpu cpustate" | 
|  | #define HDPU_NEXUS_NAME "hdpu nexus" | 
|  |  | 
|  | #define CPUSTATE_KERNEL_MAJOR  0x10 | 
|  |  | 
|  | #define CPUSTATE_KERNEL_INIT_DRV   0 /* CPU State Driver Initialized */ | 
|  | #define CPUSTATE_KERNEL_INIT_PCI   1 /* 64360 PCI Busses Init */ | 
|  | #define CPUSTATE_KERNEL_INIT_REG   2 /* 64360 Bridge Init */ | 
|  | #define CPUSTATE_KERNEL_CPU1_KICK  3 /* Boot cpu 1 */ | 
|  | #define CPUSTATE_KERNEL_CPU1_OK    4  /* Cpu 1 has checked in */ | 
|  | #define CPUSTATE_KERNEL_OK         5 /* Terminal state */ | 
|  | #define CPUSTATE_KERNEL_RESET   14 /* Board reset via SW*/ | 
|  | #define CPUSTATE_KERNEL_HALT   15 /* Board halted via SW*/ |