Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin

Pull blackfin update from Bob Liu.

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin:
blackfin: SEC: clean up SEC interrupt initialization
blackfin: kgdb: call generic_exec_single() directly
blackfin: anomaly: add anomaly 16000030 for bf5xx
Blackfin: dpmc: use module_platform_driver macro
Blackfin: remove unused is_in_rom()
Blackfin: remove unnecessary prototype for kobjsize()
Blackfin: twi: Add missing __iomem annotation
Blackfin: Annotate strnlen_user and strlen_user 'src' parameter with __user
Blackfin: Annotate clear_user 'to' parameter with __user
Blackfin: Add missing __user annotations to put_user
Blackfin: Annotate strncpy_from_user src parameter with __user
blackfin: Use Kbuild infrastructure for kvm_para.h
UAPI: (Scripted) Disintegrate arch/blackfin/include/asm

+973 -949
+1 -5
arch/blackfin/include/asm/Kbuild
··· 1 - include include/asm-generic/Kbuild.asm 2 1 3 2 generic-y += auxvec.h 4 3 generic-y += bitsperlong.h ··· 16 17 generic-y += irq_regs.h 17 18 generic-y += kdebug.h 18 19 generic-y += kmap_types.h 20 + generic-y += kvm_para.h 19 21 generic-y += local64.h 20 22 generic-y += local.h 21 23 generic-y += mman.h ··· 44 44 generic-y += unaligned.h 45 45 generic-y += user.h 46 46 generic-y += xor.h 47 - 48 - header-y += bfin_sport.h 49 - header-y += cachectl.h 50 - header-y += fixed_code.h
+1 -127
arch/blackfin/include/asm/bfin_sport.h
··· 5 5 * 6 6 * Licensed under the GPL-2 or later. 7 7 */ 8 - 9 8 #ifndef __BFIN_SPORT_H__ 10 9 #define __BFIN_SPORT_H__ 11 10 12 - /* Sport mode: it can be set to TDM, i2s or others */ 13 - #define NORM_MODE 0x0 14 - #define TDM_MODE 0x1 15 - #define I2S_MODE 0x2 16 - #define NDSO_MODE 0x3 17 - 18 - /* Data format, normal, a-law or u-law */ 19 - #define NORM_FORMAT 0x0 20 - #define ALAW_FORMAT 0x2 21 - #define ULAW_FORMAT 0x3 22 - 23 - /* Function driver which use sport must initialize the structure */ 24 - struct sport_config { 25 - /* TDM (multichannels), I2S or other mode */ 26 - unsigned int mode:3; 27 - unsigned int polled; /* use poll instead of irq when set */ 28 - 29 - /* if TDM mode is selected, channels must be set */ 30 - int channels; /* Must be in 8 units */ 31 - unsigned int frame_delay:4; /* Delay between frame sync pulse and first bit */ 32 - 33 - /* I2S mode */ 34 - unsigned int right_first:1; /* Right stereo channel first */ 35 - 36 - /* In mormal mode, the following item need to be set */ 37 - unsigned int lsb_first:1; /* order of transmit or receive data */ 38 - unsigned int fsync:1; /* Frame sync required */ 39 - unsigned int data_indep:1; /* data independent frame sync generated */ 40 - unsigned int act_low:1; /* Active low TFS */ 41 - unsigned int late_fsync:1; /* Late frame sync */ 42 - unsigned int tckfe:1; 43 - unsigned int sec_en:1; /* Secondary side enabled */ 44 - 45 - /* Choose clock source */ 46 - unsigned int int_clk:1; /* Internal or external clock */ 47 - 48 - /* If external clock is used, the following fields are ignored */ 49 - int serial_clk; 50 - int fsync_clk; 51 - 52 - unsigned int data_format:2; /* Normal, u-law or a-law */ 53 - 54 - int word_len; /* How length of the word in bits, 3-32 bits */ 55 - int dma_enabled; 56 - }; 57 - 58 - /* Userspace interface */ 59 - #define SPORT_IOC_MAGIC 'P' 60 - #define SPORT_IOC_CONFIG _IOWR('P', 0x01, struct sport_config) 61 - #define SPORT_IOC_GET_SYSTEMCLOCK _IOR('P', 0x02, unsigned long) 62 - #define SPORT_IOC_SET_BAUDRATE _IOW('P', 0x03, unsigned long) 63 - 64 - #ifdef __KERNEL__ 65 11 66 12 #include <linux/types.h> 13 + #include <uapi/asm/bfin_sport.h> 67 14 68 15 /* 69 16 * All Blackfin system MMRs are padded to 32bits even if the register ··· 67 120 local_irq_restore(flags); \ 68 121 __ret; \ 69 122 }) 70 - 71 - #endif 72 - 73 - /* SPORT_TCR1 Masks */ 74 - #define TSPEN 0x0001 /* TX enable */ 75 - #define ITCLK 0x0002 /* Internal TX Clock Select */ 76 - #define TDTYPE 0x000C /* TX Data Formatting Select */ 77 - #define DTYPE_NORM 0x0000 /* Data Format Normal */ 78 - #define DTYPE_ULAW 0x0008 /* Compand Using u-Law */ 79 - #define DTYPE_ALAW 0x000C /* Compand Using A-Law */ 80 - #define TLSBIT 0x0010 /* TX Bit Order */ 81 - #define ITFS 0x0200 /* Internal TX Frame Sync Select */ 82 - #define TFSR 0x0400 /* TX Frame Sync Required Select */ 83 - #define DITFS 0x0800 /* Data Independent TX Frame Sync Select */ 84 - #define LTFS 0x1000 /* Low TX Frame Sync Select */ 85 - #define LATFS 0x2000 /* Late TX Frame Sync Select */ 86 - #define TCKFE 0x4000 /* TX Clock Falling Edge Select */ 87 - 88 - /* SPORT_TCR2 Masks */ 89 - #define SLEN 0x001F /* SPORT TX Word Length (2 - 31) */ 90 - #define DP_SLEN(x) BFIN_DEPOSIT(SLEN, x) 91 - #define EX_SLEN(x) BFIN_EXTRACT(SLEN, x) 92 - #define TXSE 0x0100 /* TX Secondary Enable */ 93 - #define TSFSE 0x0200 /* TX Stereo Frame Sync Enable */ 94 - #define TRFST 0x0400 /* TX Right-First Data Order */ 95 - 96 - /* SPORT_RCR1 Masks */ 97 - #define RSPEN 0x0001 /* RX enable */ 98 - #define IRCLK 0x0002 /* Internal RX Clock Select */ 99 - #define RDTYPE 0x000C /* RX Data Formatting Select */ 100 - /* DTYPE_* defined above */ 101 - #define RLSBIT 0x0010 /* RX Bit Order */ 102 - #define IRFS 0x0200 /* Internal RX Frame Sync Select */ 103 - #define RFSR 0x0400 /* RX Frame Sync Required Select */ 104 - #define LRFS 0x1000 /* Low RX Frame Sync Select */ 105 - #define LARFS 0x2000 /* Late RX Frame Sync Select */ 106 - #define RCKFE 0x4000 /* RX Clock Falling Edge Select */ 107 - 108 - /* SPORT_RCR2 Masks */ 109 - /* SLEN defined above */ 110 - #define RXSE 0x0100 /* RX Secondary Enable */ 111 - #define RSFSE 0x0200 /* RX Stereo Frame Sync Enable */ 112 - #define RRFST 0x0400 /* Right-First Data Order */ 113 - 114 - /* SPORT_STAT Masks */ 115 - #define RXNE 0x0001 /* RX FIFO Not Empty Status */ 116 - #define RUVF 0x0002 /* RX Underflow Status */ 117 - #define ROVF 0x0004 /* RX Overflow Status */ 118 - #define TXF 0x0008 /* TX FIFO Full Status */ 119 - #define TUVF 0x0010 /* TX Underflow Status */ 120 - #define TOVF 0x0020 /* TX Overflow Status */ 121 - #define TXHRE 0x0040 /* TX Hold Register Empty */ 122 - 123 - /* SPORT_MCMC1 Masks */ 124 - #define SP_WOFF 0x03FF /* Multichannel Window Offset Field */ 125 - #define DP_SP_WOFF(x) BFIN_DEPOSIT(SP_WOFF, x) 126 - #define EX_SP_WOFF(x) BFIN_EXTRACT(SP_WOFF, x) 127 - #define SP_WSIZE 0xF000 /* Multichannel Window Size Field */ 128 - #define DP_SP_WSIZE(x) BFIN_DEPOSIT(SP_WSIZE, x) 129 - #define EX_SP_WSIZE(x) BFIN_EXTRACT(SP_WSIZE, x) 130 - 131 - /* SPORT_MCMC2 Masks */ 132 - #define MCCRM 0x0003 /* Multichannel Clock Recovery Mode */ 133 - #define REC_BYPASS 0x0000 /* Bypass Mode (No Clock Recovery) */ 134 - #define REC_2FROM4 0x0002 /* Recover 2 MHz Clock from 4 MHz Clock */ 135 - #define REC_8FROM16 0x0003 /* Recover 8 MHz Clock from 16 MHz Clock */ 136 - #define MCDTXPE 0x0004 /* Multichannel DMA Transmit Packing */ 137 - #define MCDRXPE 0x0008 /* Multichannel DMA Receive Packing */ 138 - #define MCMEN 0x0010 /* Multichannel Frame Mode Enable */ 139 - #define FSDR 0x0080 /* Multichannel Frame Sync to Data Relationship */ 140 - #define MFD 0xF000 /* Multichannel Frame Delay */ 141 - #define DP_MFD(x) BFIN_DEPOSIT(MFD, x) 142 - #define EX_MFD(x) BFIN_EXTRACT(MFD, x) 143 123 144 124 #endif
+1 -1
arch/blackfin/include/asm/bfin_twi.h
··· 61 61 int cur_msg; 62 62 u16 saved_clkdiv; 63 63 u16 saved_control; 64 - struct bfin_twi_regs *regs_base; 64 + struct bfin_twi_regs __iomem *regs_base; 65 65 }; 66 66 67 67 #define DEFINE_TWI_REG(reg_name, reg) \
arch/blackfin/include/asm/byteorder.h arch/blackfin/include/uapi/asm/byteorder.h
arch/blackfin/include/asm/cachectl.h arch/blackfin/include/uapi/asm/cachectl.h
arch/blackfin/include/asm/fcntl.h arch/blackfin/include/uapi/asm/fcntl.h
+2 -28
arch/blackfin/include/asm/fixed_code.h
··· 6 6 * 7 7 * Licensed under the GPL-2 or later. 8 8 */ 9 - 10 9 #ifndef __BFIN_ASM_FIXED_CODE_H__ 11 10 #define __BFIN_ASM_FIXED_CODE_H__ 12 11 13 - #ifdef __KERNEL__ 12 + #include <uapi/asm/fixed_code.h> 13 + 14 14 #ifndef __ASSEMBLY__ 15 15 #include <linux/linkage.h> 16 16 #include <linux/ptrace.h> ··· 27 27 extern void safe_user_instruction(void); 28 28 extern void sigreturn_stub(void); 29 29 #endif 30 - #endif 31 - 32 - #ifndef CONFIG_PHY_RAM_BASE_ADDRESS 33 - #define CONFIG_PHY_RAM_BASE_ADDRESS 0x0 34 - #endif 35 - 36 - #define FIXED_CODE_START (CONFIG_PHY_RAM_BASE_ADDRESS + 0x400) 37 - 38 - #define SIGRETURN_STUB (CONFIG_PHY_RAM_BASE_ADDRESS + 0x400) 39 - 40 - #define ATOMIC_SEQS_START (CONFIG_PHY_RAM_BASE_ADDRESS + 0x410) 41 - 42 - #define ATOMIC_XCHG32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x410) 43 - #define ATOMIC_CAS32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x420) 44 - #define ATOMIC_ADD32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x430) 45 - #define ATOMIC_SUB32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x440) 46 - #define ATOMIC_IOR32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x450) 47 - #define ATOMIC_AND32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x460) 48 - #define ATOMIC_XOR32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x470) 49 - 50 - #define ATOMIC_SEQS_END (CONFIG_PHY_RAM_BASE_ADDRESS + 0x480) 51 - 52 - #define SAFE_USER_INSTRUCTION (CONFIG_PHY_RAM_BASE_ADDRESS + 0x480) 53 - 54 - #define FIXED_CODE_END (CONFIG_PHY_RAM_BASE_ADDRESS + 0x490) 55 - 56 30 #endif
arch/blackfin/include/asm/ioctls.h arch/blackfin/include/uapi/asm/ioctls.h
-1
arch/blackfin/include/asm/kvm_para.h
··· 1 - #include <asm-generic/kvm_para.h>
-2
arch/blackfin/include/asm/pgtable.h
··· 83 83 #define ZERO_PAGE(vaddr) virt_to_page(empty_zero_page) 84 84 extern char empty_zero_page[]; 85 85 86 - extern unsigned int kobjsize(const void *objp); 87 - 88 86 #define swapper_pg_dir ((pgd_t *) 0) 89 87 /* 90 88 * No page table caches to initialise.
arch/blackfin/include/asm/poll.h arch/blackfin/include/uapi/asm/poll.h
arch/blackfin/include/asm/posix_types.h arch/blackfin/include/uapi/asm/posix_types.h
+1 -160
arch/blackfin/include/asm/ptrace.h
··· 3 3 * 4 4 * Licensed under the GPL-2 or later. 5 5 */ 6 - 7 6 #ifndef _BFIN_PTRACE_H 8 7 #define _BFIN_PTRACE_H 9 8 10 - /* 11 - * GCC defines register number like this: 12 - * ----------------------------- 13 - * 0 - 7 are data registers R0-R7 14 - * 8 - 15 are address registers P0-P7 15 - * 16 - 31 dsp registers I/B/L0 -- I/B/L3 & M0--M3 16 - * 32 - 33 A registers A0 & A1 17 - * 34 - status register 18 - * ----------------------------- 19 - * 20 - * We follows above, except: 21 - * 32-33 --- Low 32-bit of A0&1 22 - * 34-35 --- High 8-bit of A0&1 23 - */ 9 + #include <uapi/asm/ptrace.h> 24 10 25 11 #ifndef __ASSEMBLY__ 26 - 27 - struct task_struct; 28 - 29 - /* this struct defines the way the registers are stored on the 30 - stack during a system call. */ 31 - 32 - struct pt_regs { 33 - long orig_pc; 34 - long ipend; 35 - long seqstat; 36 - long rete; 37 - long retn; 38 - long retx; 39 - long pc; /* PC == RETI */ 40 - long rets; 41 - long reserved; /* Used as scratch during system calls */ 42 - long astat; 43 - long lb1; 44 - long lb0; 45 - long lt1; 46 - long lt0; 47 - long lc1; 48 - long lc0; 49 - long a1w; 50 - long a1x; 51 - long a0w; 52 - long a0x; 53 - long b3; 54 - long b2; 55 - long b1; 56 - long b0; 57 - long l3; 58 - long l2; 59 - long l1; 60 - long l0; 61 - long m3; 62 - long m2; 63 - long m1; 64 - long m0; 65 - long i3; 66 - long i2; 67 - long i1; 68 - long i0; 69 - long usp; 70 - long fp; 71 - long p5; 72 - long p4; 73 - long p3; 74 - long p2; 75 - long p1; 76 - long p0; 77 - long r7; 78 - long r6; 79 - long r5; 80 - long r4; 81 - long r3; 82 - long r2; 83 - long r1; 84 - long r0; 85 - long orig_r0; 86 - long orig_p0; 87 - long syscfg; 88 - }; 89 - 90 - /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ 91 - #define PTRACE_GETREGS 12 92 - #define PTRACE_SETREGS 13 /* ptrace signal */ 93 - 94 - #define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */ 95 - #define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */ 96 - #define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */ 97 - 98 - #define PS_S (0x0002) 99 - 100 - #ifdef __KERNEL__ 101 12 102 13 /* user_mode returns true if only one bit is set in IPEND, other than the 103 14 master interrupt enable. */ ··· 37 126 38 127 #include <asm-generic/ptrace.h> 39 128 40 - #endif /* __KERNEL__ */ 41 - 42 129 #endif /* __ASSEMBLY__ */ 43 - 44 - /* 45 - * Offsets used by 'ptrace' system call interface. 46 - */ 47 - 48 - #define PT_R0 204 49 - #define PT_R1 200 50 - #define PT_R2 196 51 - #define PT_R3 192 52 - #define PT_R4 188 53 - #define PT_R5 184 54 - #define PT_R6 180 55 - #define PT_R7 176 56 - #define PT_P0 172 57 - #define PT_P1 168 58 - #define PT_P2 164 59 - #define PT_P3 160 60 - #define PT_P4 156 61 - #define PT_P5 152 62 - #define PT_FP 148 63 - #define PT_USP 144 64 - #define PT_I0 140 65 - #define PT_I1 136 66 - #define PT_I2 132 67 - #define PT_I3 128 68 - #define PT_M0 124 69 - #define PT_M1 120 70 - #define PT_M2 116 71 - #define PT_M3 112 72 - #define PT_L0 108 73 - #define PT_L1 104 74 - #define PT_L2 100 75 - #define PT_L3 96 76 - #define PT_B0 92 77 - #define PT_B1 88 78 - #define PT_B2 84 79 - #define PT_B3 80 80 - #define PT_A0X 76 81 - #define PT_A0W 72 82 - #define PT_A1X 68 83 - #define PT_A1W 64 84 - #define PT_LC0 60 85 - #define PT_LC1 56 86 - #define PT_LT0 52 87 - #define PT_LT1 48 88 - #define PT_LB0 44 89 - #define PT_LB1 40 90 - #define PT_ASTAT 36 91 - #define PT_RESERVED 32 92 - #define PT_RETS 28 93 - #define PT_PC 24 94 - #define PT_RETX 20 95 - #define PT_RETN 16 96 - #define PT_RETE 12 97 - #define PT_SEQSTAT 8 98 - #define PT_IPEND 4 99 - 100 - #define PT_ORIG_R0 208 101 - #define PT_ORIG_P0 212 102 - #define PT_SYSCFG 216 103 - #define PT_TEXT_ADDR 220 104 - #define PT_TEXT_END_ADDR 224 105 - #define PT_DATA_ADDR 228 106 - #define PT_FDPIC_EXEC 232 107 - #define PT_FDPIC_INTERP 236 108 - 109 - #define PT_LAST_PSEUDO PT_FDPIC_INTERP 110 - 111 130 #endif /* _BFIN_PTRACE_H */
arch/blackfin/include/asm/sigcontext.h arch/blackfin/include/uapi/asm/sigcontext.h
arch/blackfin/include/asm/siginfo.h arch/blackfin/include/uapi/asm/siginfo.h
arch/blackfin/include/asm/signal.h arch/blackfin/include/uapi/asm/signal.h
arch/blackfin/include/asm/stat.h arch/blackfin/include/uapi/asm/stat.h
arch/blackfin/include/asm/swab.h arch/blackfin/include/uapi/asm/swab.h
+12 -29
arch/blackfin/include/asm/uaccess.h
··· 34 34 35 35 #define access_ok(type, addr, size) _access_ok((unsigned long)(addr), (size)) 36 36 37 - static inline int is_in_rom(unsigned long addr) 38 - { 39 - /* 40 - * What we are really trying to do is determine if addr is 41 - * in an allocated kernel memory region. If not then assume 42 - * we cannot free it or otherwise de-allocate it. Ideally 43 - * we could restrict this to really being in a ROM or flash, 44 - * but that would need to be done on a board by board basis, 45 - * not globally. 46 - */ 47 - if ((addr < _ramstart) || (addr >= _ramend)) 48 - return (1); 49 - 50 - /* Default case, not in ROM */ 51 - return (0); 52 - } 53 - 54 37 /* 55 38 * The fs value determines whether argument validity checking should be 56 39 * performed or not. If get_fs() == USER_DS, checking is performed, with ··· 72 89 ({ \ 73 90 int _err = 0; \ 74 91 typeof(*(p)) _x = (x); \ 75 - typeof(*(p)) *_p = (p); \ 92 + typeof(*(p)) __user *_p = (p); \ 76 93 if (!access_ok(VERIFY_WRITE, _p, sizeof(*(_p)))) {\ 77 94 _err = -EFAULT; \ 78 95 } \ ··· 91 108 long _xl, _xh; \ 92 109 _xl = ((long *)&_x)[0]; \ 93 110 _xh = ((long *)&_x)[1]; \ 94 - __put_user_asm(_xl, ((long *)_p)+0, ); \ 95 - __put_user_asm(_xh, ((long *)_p)+1, ); \ 111 + __put_user_asm(_xl, ((long __user *)_p)+0, ); \ 112 + __put_user_asm(_xh, ((long __user *)_p)+1, ); \ 96 113 } break; \ 97 114 default: \ 98 115 _err = __put_user_bad(); \ ··· 119 136 * aliasing issues. 120 137 */ 121 138 122 - #define __ptr(x) ((unsigned long *)(x)) 139 + #define __ptr(x) ((unsigned long __force *)(x)) 123 140 124 141 #define __put_user_asm(x,p,bhw) \ 125 142 __asm__ (#bhw"[%1] = %0;\n\t" \ ··· 199 216 */ 200 217 201 218 static inline long __must_check 202 - strncpy_from_user(char *dst, const char *src, long count) 219 + strncpy_from_user(char *dst, const char __user *src, long count) 203 220 { 204 221 char *tmp; 205 222 if (!access_ok(VERIFY_READ, src, 1)) 206 223 return -EFAULT; 207 - strncpy(dst, src, count); 224 + strncpy(dst, (const char __force *)src, count); 208 225 for (tmp = dst; *tmp && count > 0; tmp++, count--) ; 209 226 return (tmp - dst); 210 227 } ··· 220 237 * On exception, returns 0. 221 238 * If the string is too long, returns a value greater than n. 222 239 */ 223 - static inline long __must_check strnlen_user(const char *src, long n) 240 + static inline long __must_check strnlen_user(const char __user *src, long n) 224 241 { 225 242 if (!access_ok(VERIFY_READ, src, 1)) 226 243 return 0; 227 - return strnlen(src, n) + 1; 244 + return strnlen((const char __force *)src, n) + 1; 228 245 } 229 246 230 - static inline long __must_check strlen_user(const char *src) 247 + static inline long __must_check strlen_user(const char __user *src) 231 248 { 232 249 if (!access_ok(VERIFY_READ, src, 1)) 233 250 return 0; 234 - return strlen(src) + 1; 251 + return strlen((const char __force *)src) + 1; 235 252 } 236 253 237 254 /* ··· 239 256 */ 240 257 241 258 static inline unsigned long __must_check 242 - __clear_user(void *to, unsigned long n) 259 + __clear_user(void __user *to, unsigned long n) 243 260 { 244 261 if (!access_ok(VERIFY_WRITE, to, n)) 245 262 return n; 246 - memset(to, 0, n); 263 + memset((void __force *)to, 0, n); 247 264 return 0; 248 265 } 249 266
+1 -429
arch/blackfin/include/asm/unistd.h
··· 3 3 * 4 4 * Licensed under the GPL-2 or later. 5 5 */ 6 - 7 6 #ifndef __ASM_BFIN_UNISTD_H 8 7 #define __ASM_BFIN_UNISTD_H 9 - /* 10 - * This file contains the system call numbers. 11 - */ 12 - #define __NR_restart_syscall 0 13 - #define __NR_exit 1 14 - /* 2 __NR_fork not supported on nommu */ 15 - #define __NR_read 3 16 - #define __NR_write 4 17 - #define __NR_open 5 18 - #define __NR_close 6 19 - /* 7 __NR_waitpid obsolete */ 20 - #define __NR_creat 8 21 - #define __NR_link 9 22 - #define __NR_unlink 10 23 - #define __NR_execve 11 24 - #define __NR_chdir 12 25 - #define __NR_time 13 26 - #define __NR_mknod 14 27 - #define __NR_chmod 15 28 - #define __NR_chown 16 29 - /* 17 __NR_break obsolete */ 30 - /* 18 __NR_oldstat obsolete */ 31 - #define __NR_lseek 19 32 - #define __NR_getpid 20 33 - #define __NR_mount 21 34 - /* 22 __NR_umount obsolete */ 35 - #define __NR_setuid 23 36 - #define __NR_getuid 24 37 - #define __NR_stime 25 38 - #define __NR_ptrace 26 39 - #define __NR_alarm 27 40 - /* 28 __NR_oldfstat obsolete */ 41 - #define __NR_pause 29 42 - /* 30 __NR_utime obsolete */ 43 - /* 31 __NR_stty obsolete */ 44 - /* 32 __NR_gtty obsolete */ 45 - #define __NR_access 33 46 - #define __NR_nice 34 47 - /* 35 __NR_ftime obsolete */ 48 - #define __NR_sync 36 49 - #define __NR_kill 37 50 - #define __NR_rename 38 51 - #define __NR_mkdir 39 52 - #define __NR_rmdir 40 53 - #define __NR_dup 41 54 - #define __NR_pipe 42 55 - #define __NR_times 43 56 - /* 44 __NR_prof obsolete */ 57 - #define __NR_brk 45 58 - #define __NR_setgid 46 59 - #define __NR_getgid 47 60 - /* 48 __NR_signal obsolete */ 61 - #define __NR_geteuid 49 62 - #define __NR_getegid 50 63 - #define __NR_acct 51 64 - #define __NR_umount2 52 65 - /* 53 __NR_lock obsolete */ 66 - #define __NR_ioctl 54 67 - #define __NR_fcntl 55 68 - /* 56 __NR_mpx obsolete */ 69 - #define __NR_setpgid 57 70 - /* 58 __NR_ulimit obsolete */ 71 - /* 59 __NR_oldolduname obsolete */ 72 - #define __NR_umask 60 73 - #define __NR_chroot 61 74 - #define __NR_ustat 62 75 - #define __NR_dup2 63 76 - #define __NR_getppid 64 77 - #define __NR_getpgrp 65 78 - #define __NR_setsid 66 79 - /* 67 __NR_sigaction obsolete */ 80 - #define __NR_sgetmask 68 81 - #define __NR_ssetmask 69 82 - #define __NR_setreuid 70 83 - #define __NR_setregid 71 84 - /* 72 __NR_sigsuspend obsolete */ 85 - /* 73 __NR_sigpending obsolete */ 86 - #define __NR_sethostname 74 87 - #define __NR_setrlimit 75 88 - /* 76 __NR_old_getrlimit obsolete */ 89 - #define __NR_getrusage 77 90 - #define __NR_gettimeofday 78 91 - #define __NR_settimeofday 79 92 - #define __NR_getgroups 80 93 - #define __NR_setgroups 81 94 - /* 82 __NR_select obsolete */ 95 - #define __NR_symlink 83 96 - /* 84 __NR_oldlstat obsolete */ 97 - #define __NR_readlink 85 98 - /* 86 __NR_uselib obsolete */ 99 - /* 87 __NR_swapon obsolete */ 100 - #define __NR_reboot 88 101 - /* 89 __NR_readdir obsolete */ 102 - /* 90 __NR_mmap obsolete */ 103 - #define __NR_munmap 91 104 - #define __NR_truncate 92 105 - #define __NR_ftruncate 93 106 - #define __NR_fchmod 94 107 - #define __NR_fchown 95 108 - #define __NR_getpriority 96 109 - #define __NR_setpriority 97 110 - /* 98 __NR_profil obsolete */ 111 - #define __NR_statfs 99 112 - #define __NR_fstatfs 100 113 - /* 101 __NR_ioperm */ 114 - /* 102 __NR_socketcall obsolete */ 115 - #define __NR_syslog 103 116 - #define __NR_setitimer 104 117 - #define __NR_getitimer 105 118 - #define __NR_stat 106 119 - #define __NR_lstat 107 120 - #define __NR_fstat 108 121 - /* 109 __NR_olduname obsolete */ 122 - /* 110 __NR_iopl obsolete */ 123 - #define __NR_vhangup 111 124 - /* 112 __NR_idle obsolete */ 125 - /* 113 __NR_vm86old */ 126 - #define __NR_wait4 114 127 - /* 115 __NR_swapoff obsolete */ 128 - #define __NR_sysinfo 116 129 - /* 117 __NR_ipc oboslete */ 130 - #define __NR_fsync 118 131 - /* 119 __NR_sigreturn obsolete */ 132 - #define __NR_clone 120 133 - #define __NR_setdomainname 121 134 - #define __NR_uname 122 135 - /* 123 __NR_modify_ldt obsolete */ 136 - #define __NR_adjtimex 124 137 - #define __NR_mprotect 125 138 - /* 126 __NR_sigprocmask obsolete */ 139 - /* 127 __NR_create_module obsolete */ 140 - #define __NR_init_module 128 141 - #define __NR_delete_module 129 142 - /* 130 __NR_get_kernel_syms obsolete */ 143 - #define __NR_quotactl 131 144 - #define __NR_getpgid 132 145 - #define __NR_fchdir 133 146 - #define __NR_bdflush 134 147 - /* 135 was sysfs */ 148 - #define __NR_personality 136 149 - /* 137 __NR_afs_syscall */ 150 - #define __NR_setfsuid 138 151 - #define __NR_setfsgid 139 152 - #define __NR__llseek 140 153 - #define __NR_getdents 141 154 - /* 142 __NR__newselect obsolete */ 155 - #define __NR_flock 143 156 - /* 144 __NR_msync obsolete */ 157 - #define __NR_readv 145 158 - #define __NR_writev 146 159 - #define __NR_getsid 147 160 - #define __NR_fdatasync 148 161 - #define __NR__sysctl 149 162 - /* 150 __NR_mlock */ 163 - /* 151 __NR_munlock */ 164 - /* 152 __NR_mlockall */ 165 - /* 153 __NR_munlockall */ 166 - #define __NR_sched_setparam 154 167 - #define __NR_sched_getparam 155 168 - #define __NR_sched_setscheduler 156 169 - #define __NR_sched_getscheduler 157 170 - #define __NR_sched_yield 158 171 - #define __NR_sched_get_priority_max 159 172 - #define __NR_sched_get_priority_min 160 173 - #define __NR_sched_rr_get_interval 161 174 - #define __NR_nanosleep 162 175 - #define __NR_mremap 163 176 - #define __NR_setresuid 164 177 - #define __NR_getresuid 165 178 - /* 166 __NR_vm86 */ 179 - /* 167 __NR_query_module */ 180 - /* 168 __NR_poll */ 181 - #define __NR_nfsservctl 169 182 - #define __NR_setresgid 170 183 - #define __NR_getresgid 171 184 - #define __NR_prctl 172 185 - #define __NR_rt_sigreturn 173 186 - #define __NR_rt_sigaction 174 187 - #define __NR_rt_sigprocmask 175 188 - #define __NR_rt_sigpending 176 189 - #define __NR_rt_sigtimedwait 177 190 - #define __NR_rt_sigqueueinfo 178 191 - #define __NR_rt_sigsuspend 179 192 - #define __NR_pread 180 193 - #define __NR_pwrite 181 194 - #define __NR_lchown 182 195 - #define __NR_getcwd 183 196 - #define __NR_capget 184 197 - #define __NR_capset 185 198 - #define __NR_sigaltstack 186 199 - #define __NR_sendfile 187 200 - /* 188 __NR_getpmsg */ 201 - /* 189 __NR_putpmsg */ 202 - #define __NR_vfork 190 203 - #define __NR_getrlimit 191 204 - #define __NR_mmap2 192 205 - #define __NR_truncate64 193 206 - #define __NR_ftruncate64 194 207 - #define __NR_stat64 195 208 - #define __NR_lstat64 196 209 - #define __NR_fstat64 197 210 - #define __NR_chown32 198 211 - #define __NR_getuid32 199 212 - #define __NR_getgid32 200 213 - #define __NR_geteuid32 201 214 - #define __NR_getegid32 202 215 - #define __NR_setreuid32 203 216 - #define __NR_setregid32 204 217 - #define __NR_getgroups32 205 218 - #define __NR_setgroups32 206 219 - #define __NR_fchown32 207 220 - #define __NR_setresuid32 208 221 - #define __NR_getresuid32 209 222 - #define __NR_setresgid32 210 223 - #define __NR_getresgid32 211 224 - #define __NR_lchown32 212 225 - #define __NR_setuid32 213 226 - #define __NR_setgid32 214 227 - #define __NR_setfsuid32 215 228 - #define __NR_setfsgid32 216 229 - #define __NR_pivot_root 217 230 - /* 218 __NR_mincore */ 231 - /* 219 __NR_madvise */ 232 - #define __NR_getdents64 220 233 - #define __NR_fcntl64 221 234 - /* 222 reserved for TUX */ 235 - /* 223 reserved for TUX */ 236 - #define __NR_gettid 224 237 - #define __NR_readahead 225 238 - #define __NR_setxattr 226 239 - #define __NR_lsetxattr 227 240 - #define __NR_fsetxattr 228 241 - #define __NR_getxattr 229 242 - #define __NR_lgetxattr 230 243 - #define __NR_fgetxattr 231 244 - #define __NR_listxattr 232 245 - #define __NR_llistxattr 233 246 - #define __NR_flistxattr 234 247 - #define __NR_removexattr 235 248 - #define __NR_lremovexattr 236 249 - #define __NR_fremovexattr 237 250 - #define __NR_tkill 238 251 - #define __NR_sendfile64 239 252 - #define __NR_futex 240 253 - #define __NR_sched_setaffinity 241 254 - #define __NR_sched_getaffinity 242 255 - /* 243 __NR_set_thread_area */ 256 - /* 244 __NR_get_thread_area */ 257 - #define __NR_io_setup 245 258 - #define __NR_io_destroy 246 259 - #define __NR_io_getevents 247 260 - #define __NR_io_submit 248 261 - #define __NR_io_cancel 249 262 - /* 250 __NR_alloc_hugepages */ 263 - /* 251 __NR_free_hugepages */ 264 - #define __NR_exit_group 252 265 - #define __NR_lookup_dcookie 253 266 - #define __NR_bfin_spinlock 254 267 8 268 - #define __NR_epoll_create 255 269 - #define __NR_epoll_ctl 256 270 - #define __NR_epoll_wait 257 271 - /* 258 __NR_remap_file_pages */ 272 - #define __NR_set_tid_address 259 273 - #define __NR_timer_create 260 274 - #define __NR_timer_settime 261 275 - #define __NR_timer_gettime 262 276 - #define __NR_timer_getoverrun 263 277 - #define __NR_timer_delete 264 278 - #define __NR_clock_settime 265 279 - #define __NR_clock_gettime 266 280 - #define __NR_clock_getres 267 281 - #define __NR_clock_nanosleep 268 282 - #define __NR_statfs64 269 283 - #define __NR_fstatfs64 270 284 - #define __NR_tgkill 271 285 - #define __NR_utimes 272 286 - #define __NR_fadvise64_64 273 287 - /* 274 __NR_vserver */ 288 - /* 275 __NR_mbind */ 289 - /* 276 __NR_get_mempolicy */ 290 - /* 277 __NR_set_mempolicy */ 291 - #define __NR_mq_open 278 292 - #define __NR_mq_unlink 279 293 - #define __NR_mq_timedsend 280 294 - #define __NR_mq_timedreceive 281 295 - #define __NR_mq_notify 282 296 - #define __NR_mq_getsetattr 283 297 - #define __NR_kexec_load 284 298 - #define __NR_waitid 285 299 - #define __NR_add_key 286 300 - #define __NR_request_key 287 301 - #define __NR_keyctl 288 302 - #define __NR_ioprio_set 289 303 - #define __NR_ioprio_get 290 304 - #define __NR_inotify_init 291 305 - #define __NR_inotify_add_watch 292 306 - #define __NR_inotify_rm_watch 293 307 - /* 294 __NR_migrate_pages */ 308 - #define __NR_openat 295 309 - #define __NR_mkdirat 296 310 - #define __NR_mknodat 297 311 - #define __NR_fchownat 298 312 - #define __NR_futimesat 299 313 - #define __NR_fstatat64 300 314 - #define __NR_unlinkat 301 315 - #define __NR_renameat 302 316 - #define __NR_linkat 303 317 - #define __NR_symlinkat 304 318 - #define __NR_readlinkat 305 319 - #define __NR_fchmodat 306 320 - #define __NR_faccessat 307 321 - #define __NR_pselect6 308 322 - #define __NR_ppoll 309 323 - #define __NR_unshare 310 9 + #include <uapi/asm/unistd.h> 324 10 325 - /* Blackfin private syscalls */ 326 - #define __NR_sram_alloc 311 327 - #define __NR_sram_free 312 328 - #define __NR_dma_memcpy 313 329 - 330 - /* socket syscalls */ 331 - #define __NR_accept 314 332 - #define __NR_bind 315 333 - #define __NR_connect 316 334 - #define __NR_getpeername 317 335 - #define __NR_getsockname 318 336 - #define __NR_getsockopt 319 337 - #define __NR_listen 320 338 - #define __NR_recv 321 339 - #define __NR_recvfrom 322 340 - #define __NR_recvmsg 323 341 - #define __NR_send 324 342 - #define __NR_sendmsg 325 343 - #define __NR_sendto 326 344 - #define __NR_setsockopt 327 345 - #define __NR_shutdown 328 346 - #define __NR_socket 329 347 - #define __NR_socketpair 330 348 - 349 - /* sysv ipc syscalls */ 350 - #define __NR_semctl 331 351 - #define __NR_semget 332 352 - #define __NR_semop 333 353 - #define __NR_msgctl 334 354 - #define __NR_msgget 335 355 - #define __NR_msgrcv 336 356 - #define __NR_msgsnd 337 357 - #define __NR_shmat 338 358 - #define __NR_shmctl 339 359 - #define __NR_shmdt 340 360 - #define __NR_shmget 341 361 - 362 - #define __NR_splice 342 363 - #define __NR_sync_file_range 343 364 - #define __NR_tee 344 365 - #define __NR_vmsplice 345 366 - 367 - #define __NR_epoll_pwait 346 368 - #define __NR_utimensat 347 369 - #define __NR_signalfd 348 370 - #define __NR_timerfd_create 349 371 - #define __NR_eventfd 350 372 - #define __NR_pread64 351 373 - #define __NR_pwrite64 352 374 - #define __NR_fadvise64 353 375 - #define __NR_set_robust_list 354 376 - #define __NR_get_robust_list 355 377 - #define __NR_fallocate 356 378 - #define __NR_semtimedop 357 379 - #define __NR_timerfd_settime 358 380 - #define __NR_timerfd_gettime 359 381 - #define __NR_signalfd4 360 382 - #define __NR_eventfd2 361 383 - #define __NR_epoll_create1 362 384 - #define __NR_dup3 363 385 - #define __NR_pipe2 364 386 - #define __NR_inotify_init1 365 387 - #define __NR_preadv 366 388 - #define __NR_pwritev 367 389 - #define __NR_rt_tgsigqueueinfo 368 390 - #define __NR_perf_event_open 369 391 - #define __NR_recvmmsg 370 392 - #define __NR_fanotify_init 371 393 - #define __NR_fanotify_mark 372 394 - #define __NR_prlimit64 373 395 - #define __NR_cacheflush 374 396 - #define __NR_name_to_handle_at 375 397 - #define __NR_open_by_handle_at 376 398 - #define __NR_clock_adjtime 377 399 - #define __NR_syncfs 378 400 - #define __NR_setns 379 401 - #define __NR_sendmmsg 380 402 - #define __NR_process_vm_readv 381 403 - #define __NR_process_vm_writev 382 404 - 405 - #define __NR_syscall 383 406 - #define NR_syscalls __NR_syscall 407 - 408 - /* Old optional stuff no one actually uses */ 409 - #define __IGNORE_sysfs 410 - #define __IGNORE_uselib 411 - 412 - /* Implement the newer interfaces */ 413 - #define __IGNORE_mmap 414 - #define __IGNORE_poll 415 - #define __IGNORE_select 416 - #define __IGNORE_utime 417 - 418 - /* Not relevant on no-mmu */ 419 - #define __IGNORE_swapon 420 - #define __IGNORE_swapoff 421 - #define __IGNORE_msync 422 - #define __IGNORE_mlock 423 - #define __IGNORE_munlock 424 - #define __IGNORE_mlockall 425 - #define __IGNORE_munlockall 426 - #define __IGNORE_mincore 427 - #define __IGNORE_madvise 428 - #define __IGNORE_remap_file_pages 429 - #define __IGNORE_mbind 430 - #define __IGNORE_get_mempolicy 431 - #define __IGNORE_set_mempolicy 432 - #define __IGNORE_migrate_pages 433 - #define __IGNORE_move_pages 434 - #define __IGNORE_getcpu 435 - 436 - #ifdef __KERNEL__ 437 11 #define __ARCH_WANT_STAT64 438 12 #define __ARCH_WANT_SYS_ALARM 439 13 #define __ARCH_WANT_SYS_GETHOSTNAME ··· 30 456 * but it doesn't work on all toolchains, so we just do it by hand 31 457 */ 32 458 #define cond_syscall(x) asm(".weak\t_" #x "\n\t.set\t_" #x ",_sys_ni_syscall"); 33 - 34 - #endif /* __KERNEL__ */ 35 459 36 460 #endif /* __ASM_BFIN_UNISTD_H */
+3 -2
arch/blackfin/include/mach-common/irq.h
··· 40 40 #define IRQ_HWERR 5 /* Hardware Error */ 41 41 #define IRQ_CORETMR 6 /* Core timer */ 42 42 43 - #define BFIN_IRQ(x) ((x) + 7) 44 - 45 43 #define IVG7 7 46 44 #define IVG8 8 47 45 #define IVG9 9 ··· 49 51 #define IVG13 13 50 52 #define IVG14 14 51 53 #define IVG15 15 54 + 55 + #define BFIN_IRQ(x) ((x) + IVG7) 56 + #define BFIN_SYSIRQ(x) ((x) - IVG7) 52 57 53 58 #define NR_IRQS (NR_MACH_IRQS + NR_SPARE_IRQS) 54 59
+16
arch/blackfin/include/uapi/asm/Kbuild
··· 1 1 # UAPI Header export list 2 2 include include/uapi/asm-generic/Kbuild.asm 3 3 4 + header-y += bfin_sport.h 5 + header-y += byteorder.h 6 + header-y += cachectl.h 7 + header-y += fcntl.h 8 + header-y += fixed_code.h 9 + header-y += ioctls.h 10 + header-y += kvm_para.h 11 + header-y += poll.h 12 + header-y += posix_types.h 13 + header-y += ptrace.h 14 + header-y += sigcontext.h 15 + header-y += siginfo.h 16 + header-y += signal.h 17 + header-y += stat.h 18 + header-y += swab.h 19 + header-y += unistd.h
+136
arch/blackfin/include/uapi/asm/bfin_sport.h
··· 1 + /* 2 + * bfin_sport.h - interface to Blackfin SPORTs 3 + * 4 + * Copyright 2004-2009 Analog Devices Inc. 5 + * 6 + * Licensed under the GPL-2 or later. 7 + */ 8 + 9 + #ifndef _UAPI__BFIN_SPORT_H__ 10 + #define _UAPI__BFIN_SPORT_H__ 11 + 12 + /* Sport mode: it can be set to TDM, i2s or others */ 13 + #define NORM_MODE 0x0 14 + #define TDM_MODE 0x1 15 + #define I2S_MODE 0x2 16 + #define NDSO_MODE 0x3 17 + 18 + /* Data format, normal, a-law or u-law */ 19 + #define NORM_FORMAT 0x0 20 + #define ALAW_FORMAT 0x2 21 + #define ULAW_FORMAT 0x3 22 + 23 + /* Function driver which use sport must initialize the structure */ 24 + struct sport_config { 25 + /* TDM (multichannels), I2S or other mode */ 26 + unsigned int mode:3; 27 + unsigned int polled; /* use poll instead of irq when set */ 28 + 29 + /* if TDM mode is selected, channels must be set */ 30 + int channels; /* Must be in 8 units */ 31 + unsigned int frame_delay:4; /* Delay between frame sync pulse and first bit */ 32 + 33 + /* I2S mode */ 34 + unsigned int right_first:1; /* Right stereo channel first */ 35 + 36 + /* In mormal mode, the following item need to be set */ 37 + unsigned int lsb_first:1; /* order of transmit or receive data */ 38 + unsigned int fsync:1; /* Frame sync required */ 39 + unsigned int data_indep:1; /* data independent frame sync generated */ 40 + unsigned int act_low:1; /* Active low TFS */ 41 + unsigned int late_fsync:1; /* Late frame sync */ 42 + unsigned int tckfe:1; 43 + unsigned int sec_en:1; /* Secondary side enabled */ 44 + 45 + /* Choose clock source */ 46 + unsigned int int_clk:1; /* Internal or external clock */ 47 + 48 + /* If external clock is used, the following fields are ignored */ 49 + int serial_clk; 50 + int fsync_clk; 51 + 52 + unsigned int data_format:2; /* Normal, u-law or a-law */ 53 + 54 + int word_len; /* How length of the word in bits, 3-32 bits */ 55 + int dma_enabled; 56 + }; 57 + 58 + /* Userspace interface */ 59 + #define SPORT_IOC_MAGIC 'P' 60 + #define SPORT_IOC_CONFIG _IOWR('P', 0x01, struct sport_config) 61 + #define SPORT_IOC_GET_SYSTEMCLOCK _IOR('P', 0x02, unsigned long) 62 + #define SPORT_IOC_SET_BAUDRATE _IOW('P', 0x03, unsigned long) 63 + 64 + 65 + /* SPORT_TCR1 Masks */ 66 + #define TSPEN 0x0001 /* TX enable */ 67 + #define ITCLK 0x0002 /* Internal TX Clock Select */ 68 + #define TDTYPE 0x000C /* TX Data Formatting Select */ 69 + #define DTYPE_NORM 0x0000 /* Data Format Normal */ 70 + #define DTYPE_ULAW 0x0008 /* Compand Using u-Law */ 71 + #define DTYPE_ALAW 0x000C /* Compand Using A-Law */ 72 + #define TLSBIT 0x0010 /* TX Bit Order */ 73 + #define ITFS 0x0200 /* Internal TX Frame Sync Select */ 74 + #define TFSR 0x0400 /* TX Frame Sync Required Select */ 75 + #define DITFS 0x0800 /* Data Independent TX Frame Sync Select */ 76 + #define LTFS 0x1000 /* Low TX Frame Sync Select */ 77 + #define LATFS 0x2000 /* Late TX Frame Sync Select */ 78 + #define TCKFE 0x4000 /* TX Clock Falling Edge Select */ 79 + 80 + /* SPORT_TCR2 Masks */ 81 + #define SLEN 0x001F /* SPORT TX Word Length (2 - 31) */ 82 + #define DP_SLEN(x) BFIN_DEPOSIT(SLEN, x) 83 + #define EX_SLEN(x) BFIN_EXTRACT(SLEN, x) 84 + #define TXSE 0x0100 /* TX Secondary Enable */ 85 + #define TSFSE 0x0200 /* TX Stereo Frame Sync Enable */ 86 + #define TRFST 0x0400 /* TX Right-First Data Order */ 87 + 88 + /* SPORT_RCR1 Masks */ 89 + #define RSPEN 0x0001 /* RX enable */ 90 + #define IRCLK 0x0002 /* Internal RX Clock Select */ 91 + #define RDTYPE 0x000C /* RX Data Formatting Select */ 92 + /* DTYPE_* defined above */ 93 + #define RLSBIT 0x0010 /* RX Bit Order */ 94 + #define IRFS 0x0200 /* Internal RX Frame Sync Select */ 95 + #define RFSR 0x0400 /* RX Frame Sync Required Select */ 96 + #define LRFS 0x1000 /* Low RX Frame Sync Select */ 97 + #define LARFS 0x2000 /* Late RX Frame Sync Select */ 98 + #define RCKFE 0x4000 /* RX Clock Falling Edge Select */ 99 + 100 + /* SPORT_RCR2 Masks */ 101 + /* SLEN defined above */ 102 + #define RXSE 0x0100 /* RX Secondary Enable */ 103 + #define RSFSE 0x0200 /* RX Stereo Frame Sync Enable */ 104 + #define RRFST 0x0400 /* Right-First Data Order */ 105 + 106 + /* SPORT_STAT Masks */ 107 + #define RXNE 0x0001 /* RX FIFO Not Empty Status */ 108 + #define RUVF 0x0002 /* RX Underflow Status */ 109 + #define ROVF 0x0004 /* RX Overflow Status */ 110 + #define TXF 0x0008 /* TX FIFO Full Status */ 111 + #define TUVF 0x0010 /* TX Underflow Status */ 112 + #define TOVF 0x0020 /* TX Overflow Status */ 113 + #define TXHRE 0x0040 /* TX Hold Register Empty */ 114 + 115 + /* SPORT_MCMC1 Masks */ 116 + #define SP_WOFF 0x03FF /* Multichannel Window Offset Field */ 117 + #define DP_SP_WOFF(x) BFIN_DEPOSIT(SP_WOFF, x) 118 + #define EX_SP_WOFF(x) BFIN_EXTRACT(SP_WOFF, x) 119 + #define SP_WSIZE 0xF000 /* Multichannel Window Size Field */ 120 + #define DP_SP_WSIZE(x) BFIN_DEPOSIT(SP_WSIZE, x) 121 + #define EX_SP_WSIZE(x) BFIN_EXTRACT(SP_WSIZE, x) 122 + 123 + /* SPORT_MCMC2 Masks */ 124 + #define MCCRM 0x0003 /* Multichannel Clock Recovery Mode */ 125 + #define REC_BYPASS 0x0000 /* Bypass Mode (No Clock Recovery) */ 126 + #define REC_2FROM4 0x0002 /* Recover 2 MHz Clock from 4 MHz Clock */ 127 + #define REC_8FROM16 0x0003 /* Recover 8 MHz Clock from 16 MHz Clock */ 128 + #define MCDTXPE 0x0004 /* Multichannel DMA Transmit Packing */ 129 + #define MCDRXPE 0x0008 /* Multichannel DMA Receive Packing */ 130 + #define MCMEN 0x0010 /* Multichannel Frame Mode Enable */ 131 + #define FSDR 0x0080 /* Multichannel Frame Sync to Data Relationship */ 132 + #define MFD 0xF000 /* Multichannel Frame Delay */ 133 + #define DP_MFD(x) BFIN_DEPOSIT(MFD, x) 134 + #define EX_MFD(x) BFIN_EXTRACT(MFD, x) 135 + 136 + #endif /* _UAPI__BFIN_SPORT_H__ */
+38
arch/blackfin/include/uapi/asm/fixed_code.h
··· 1 + /* 2 + * This file defines the fixed addresses where userspace programs 3 + * can find atomic code sequences. 4 + * 5 + * Copyright 2007-2008 Analog Devices Inc. 6 + * 7 + * Licensed under the GPL-2 or later. 8 + */ 9 + 10 + #ifndef _UAPI__BFIN_ASM_FIXED_CODE_H__ 11 + #define _UAPI__BFIN_ASM_FIXED_CODE_H__ 12 + 13 + 14 + #ifndef CONFIG_PHY_RAM_BASE_ADDRESS 15 + #define CONFIG_PHY_RAM_BASE_ADDRESS 0x0 16 + #endif 17 + 18 + #define FIXED_CODE_START (CONFIG_PHY_RAM_BASE_ADDRESS + 0x400) 19 + 20 + #define SIGRETURN_STUB (CONFIG_PHY_RAM_BASE_ADDRESS + 0x400) 21 + 22 + #define ATOMIC_SEQS_START (CONFIG_PHY_RAM_BASE_ADDRESS + 0x410) 23 + 24 + #define ATOMIC_XCHG32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x410) 25 + #define ATOMIC_CAS32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x420) 26 + #define ATOMIC_ADD32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x430) 27 + #define ATOMIC_SUB32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x440) 28 + #define ATOMIC_IOR32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x450) 29 + #define ATOMIC_AND32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x460) 30 + #define ATOMIC_XOR32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x470) 31 + 32 + #define ATOMIC_SEQS_END (CONFIG_PHY_RAM_BASE_ADDRESS + 0x480) 33 + 34 + #define SAFE_USER_INSTRUCTION (CONFIG_PHY_RAM_BASE_ADDRESS + 0x480) 35 + 36 + #define FIXED_CODE_END (CONFIG_PHY_RAM_BASE_ADDRESS + 0x490) 37 + 38 + #endif /* _UAPI__BFIN_ASM_FIXED_CODE_H__ */
+170
arch/blackfin/include/uapi/asm/ptrace.h
··· 1 + /* 2 + * Copyright 2004-2008 Analog Devices Inc. 3 + * 4 + * Licensed under the GPL-2 or later. 5 + */ 6 + 7 + #ifndef _UAPI_BFIN_PTRACE_H 8 + #define _UAPI_BFIN_PTRACE_H 9 + 10 + /* 11 + * GCC defines register number like this: 12 + * ----------------------------- 13 + * 0 - 7 are data registers R0-R7 14 + * 8 - 15 are address registers P0-P7 15 + * 16 - 31 dsp registers I/B/L0 -- I/B/L3 & M0--M3 16 + * 32 - 33 A registers A0 & A1 17 + * 34 - status register 18 + * ----------------------------- 19 + * 20 + * We follows above, except: 21 + * 32-33 --- Low 32-bit of A0&1 22 + * 34-35 --- High 8-bit of A0&1 23 + */ 24 + 25 + #ifndef __ASSEMBLY__ 26 + 27 + struct task_struct; 28 + 29 + /* this struct defines the way the registers are stored on the 30 + stack during a system call. */ 31 + 32 + struct pt_regs { 33 + long orig_pc; 34 + long ipend; 35 + long seqstat; 36 + long rete; 37 + long retn; 38 + long retx; 39 + long pc; /* PC == RETI */ 40 + long rets; 41 + long reserved; /* Used as scratch during system calls */ 42 + long astat; 43 + long lb1; 44 + long lb0; 45 + long lt1; 46 + long lt0; 47 + long lc1; 48 + long lc0; 49 + long a1w; 50 + long a1x; 51 + long a0w; 52 + long a0x; 53 + long b3; 54 + long b2; 55 + long b1; 56 + long b0; 57 + long l3; 58 + long l2; 59 + long l1; 60 + long l0; 61 + long m3; 62 + long m2; 63 + long m1; 64 + long m0; 65 + long i3; 66 + long i2; 67 + long i1; 68 + long i0; 69 + long usp; 70 + long fp; 71 + long p5; 72 + long p4; 73 + long p3; 74 + long p2; 75 + long p1; 76 + long p0; 77 + long r7; 78 + long r6; 79 + long r5; 80 + long r4; 81 + long r3; 82 + long r2; 83 + long r1; 84 + long r0; 85 + long orig_r0; 86 + long orig_p0; 87 + long syscfg; 88 + }; 89 + 90 + /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ 91 + #define PTRACE_GETREGS 12 92 + #define PTRACE_SETREGS 13 /* ptrace signal */ 93 + 94 + #define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */ 95 + #define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */ 96 + #define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */ 97 + 98 + #define PS_S (0x0002) 99 + 100 + 101 + #endif /* __ASSEMBLY__ */ 102 + 103 + /* 104 + * Offsets used by 'ptrace' system call interface. 105 + */ 106 + 107 + #define PT_R0 204 108 + #define PT_R1 200 109 + #define PT_R2 196 110 + #define PT_R3 192 111 + #define PT_R4 188 112 + #define PT_R5 184 113 + #define PT_R6 180 114 + #define PT_R7 176 115 + #define PT_P0 172 116 + #define PT_P1 168 117 + #define PT_P2 164 118 + #define PT_P3 160 119 + #define PT_P4 156 120 + #define PT_P5 152 121 + #define PT_FP 148 122 + #define PT_USP 144 123 + #define PT_I0 140 124 + #define PT_I1 136 125 + #define PT_I2 132 126 + #define PT_I3 128 127 + #define PT_M0 124 128 + #define PT_M1 120 129 + #define PT_M2 116 130 + #define PT_M3 112 131 + #define PT_L0 108 132 + #define PT_L1 104 133 + #define PT_L2 100 134 + #define PT_L3 96 135 + #define PT_B0 92 136 + #define PT_B1 88 137 + #define PT_B2 84 138 + #define PT_B3 80 139 + #define PT_A0X 76 140 + #define PT_A0W 72 141 + #define PT_A1X 68 142 + #define PT_A1W 64 143 + #define PT_LC0 60 144 + #define PT_LC1 56 145 + #define PT_LT0 52 146 + #define PT_LT1 48 147 + #define PT_LB0 44 148 + #define PT_LB1 40 149 + #define PT_ASTAT 36 150 + #define PT_RESERVED 32 151 + #define PT_RETS 28 152 + #define PT_PC 24 153 + #define PT_RETX 20 154 + #define PT_RETN 16 155 + #define PT_RETE 12 156 + #define PT_SEQSTAT 8 157 + #define PT_IPEND 4 158 + 159 + #define PT_ORIG_R0 208 160 + #define PT_ORIG_P0 212 161 + #define PT_SYSCFG 216 162 + #define PT_TEXT_ADDR 220 163 + #define PT_TEXT_END_ADDR 224 164 + #define PT_DATA_ADDR 228 165 + #define PT_FDPIC_EXEC 232 166 + #define PT_FDPIC_INTERP 236 167 + 168 + #define PT_LAST_PSEUDO PT_FDPIC_INTERP 169 + 170 + #endif /* _UAPI_BFIN_PTRACE_H */
+437
arch/blackfin/include/uapi/asm/unistd.h
··· 1 + /* 2 + * Copyright 2004-2009 Analog Devices Inc. 3 + * 4 + * Licensed under the GPL-2 or later. 5 + */ 6 + 7 + #ifndef _UAPI__ASM_BFIN_UNISTD_H 8 + #define _UAPI__ASM_BFIN_UNISTD_H 9 + /* 10 + * This file contains the system call numbers. 11 + */ 12 + #define __NR_restart_syscall 0 13 + #define __NR_exit 1 14 + /* 2 __NR_fork not supported on nommu */ 15 + #define __NR_read 3 16 + #define __NR_write 4 17 + #define __NR_open 5 18 + #define __NR_close 6 19 + /* 7 __NR_waitpid obsolete */ 20 + #define __NR_creat 8 21 + #define __NR_link 9 22 + #define __NR_unlink 10 23 + #define __NR_execve 11 24 + #define __NR_chdir 12 25 + #define __NR_time 13 26 + #define __NR_mknod 14 27 + #define __NR_chmod 15 28 + #define __NR_chown 16 29 + /* 17 __NR_break obsolete */ 30 + /* 18 __NR_oldstat obsolete */ 31 + #define __NR_lseek 19 32 + #define __NR_getpid 20 33 + #define __NR_mount 21 34 + /* 22 __NR_umount obsolete */ 35 + #define __NR_setuid 23 36 + #define __NR_getuid 24 37 + #define __NR_stime 25 38 + #define __NR_ptrace 26 39 + #define __NR_alarm 27 40 + /* 28 __NR_oldfstat obsolete */ 41 + #define __NR_pause 29 42 + /* 30 __NR_utime obsolete */ 43 + /* 31 __NR_stty obsolete */ 44 + /* 32 __NR_gtty obsolete */ 45 + #define __NR_access 33 46 + #define __NR_nice 34 47 + /* 35 __NR_ftime obsolete */ 48 + #define __NR_sync 36 49 + #define __NR_kill 37 50 + #define __NR_rename 38 51 + #define __NR_mkdir 39 52 + #define __NR_rmdir 40 53 + #define __NR_dup 41 54 + #define __NR_pipe 42 55 + #define __NR_times 43 56 + /* 44 __NR_prof obsolete */ 57 + #define __NR_brk 45 58 + #define __NR_setgid 46 59 + #define __NR_getgid 47 60 + /* 48 __NR_signal obsolete */ 61 + #define __NR_geteuid 49 62 + #define __NR_getegid 50 63 + #define __NR_acct 51 64 + #define __NR_umount2 52 65 + /* 53 __NR_lock obsolete */ 66 + #define __NR_ioctl 54 67 + #define __NR_fcntl 55 68 + /* 56 __NR_mpx obsolete */ 69 + #define __NR_setpgid 57 70 + /* 58 __NR_ulimit obsolete */ 71 + /* 59 __NR_oldolduname obsolete */ 72 + #define __NR_umask 60 73 + #define __NR_chroot 61 74 + #define __NR_ustat 62 75 + #define __NR_dup2 63 76 + #define __NR_getppid 64 77 + #define __NR_getpgrp 65 78 + #define __NR_setsid 66 79 + /* 67 __NR_sigaction obsolete */ 80 + #define __NR_sgetmask 68 81 + #define __NR_ssetmask 69 82 + #define __NR_setreuid 70 83 + #define __NR_setregid 71 84 + /* 72 __NR_sigsuspend obsolete */ 85 + /* 73 __NR_sigpending obsolete */ 86 + #define __NR_sethostname 74 87 + #define __NR_setrlimit 75 88 + /* 76 __NR_old_getrlimit obsolete */ 89 + #define __NR_getrusage 77 90 + #define __NR_gettimeofday 78 91 + #define __NR_settimeofday 79 92 + #define __NR_getgroups 80 93 + #define __NR_setgroups 81 94 + /* 82 __NR_select obsolete */ 95 + #define __NR_symlink 83 96 + /* 84 __NR_oldlstat obsolete */ 97 + #define __NR_readlink 85 98 + /* 86 __NR_uselib obsolete */ 99 + /* 87 __NR_swapon obsolete */ 100 + #define __NR_reboot 88 101 + /* 89 __NR_readdir obsolete */ 102 + /* 90 __NR_mmap obsolete */ 103 + #define __NR_munmap 91 104 + #define __NR_truncate 92 105 + #define __NR_ftruncate 93 106 + #define __NR_fchmod 94 107 + #define __NR_fchown 95 108 + #define __NR_getpriority 96 109 + #define __NR_setpriority 97 110 + /* 98 __NR_profil obsolete */ 111 + #define __NR_statfs 99 112 + #define __NR_fstatfs 100 113 + /* 101 __NR_ioperm */ 114 + /* 102 __NR_socketcall obsolete */ 115 + #define __NR_syslog 103 116 + #define __NR_setitimer 104 117 + #define __NR_getitimer 105 118 + #define __NR_stat 106 119 + #define __NR_lstat 107 120 + #define __NR_fstat 108 121 + /* 109 __NR_olduname obsolete */ 122 + /* 110 __NR_iopl obsolete */ 123 + #define __NR_vhangup 111 124 + /* 112 __NR_idle obsolete */ 125 + /* 113 __NR_vm86old */ 126 + #define __NR_wait4 114 127 + /* 115 __NR_swapoff obsolete */ 128 + #define __NR_sysinfo 116 129 + /* 117 __NR_ipc oboslete */ 130 + #define __NR_fsync 118 131 + /* 119 __NR_sigreturn obsolete */ 132 + #define __NR_clone 120 133 + #define __NR_setdomainname 121 134 + #define __NR_uname 122 135 + /* 123 __NR_modify_ldt obsolete */ 136 + #define __NR_adjtimex 124 137 + #define __NR_mprotect 125 138 + /* 126 __NR_sigprocmask obsolete */ 139 + /* 127 __NR_create_module obsolete */ 140 + #define __NR_init_module 128 141 + #define __NR_delete_module 129 142 + /* 130 __NR_get_kernel_syms obsolete */ 143 + #define __NR_quotactl 131 144 + #define __NR_getpgid 132 145 + #define __NR_fchdir 133 146 + #define __NR_bdflush 134 147 + /* 135 was sysfs */ 148 + #define __NR_personality 136 149 + /* 137 __NR_afs_syscall */ 150 + #define __NR_setfsuid 138 151 + #define __NR_setfsgid 139 152 + #define __NR__llseek 140 153 + #define __NR_getdents 141 154 + /* 142 __NR__newselect obsolete */ 155 + #define __NR_flock 143 156 + /* 144 __NR_msync obsolete */ 157 + #define __NR_readv 145 158 + #define __NR_writev 146 159 + #define __NR_getsid 147 160 + #define __NR_fdatasync 148 161 + #define __NR__sysctl 149 162 + /* 150 __NR_mlock */ 163 + /* 151 __NR_munlock */ 164 + /* 152 __NR_mlockall */ 165 + /* 153 __NR_munlockall */ 166 + #define __NR_sched_setparam 154 167 + #define __NR_sched_getparam 155 168 + #define __NR_sched_setscheduler 156 169 + #define __NR_sched_getscheduler 157 170 + #define __NR_sched_yield 158 171 + #define __NR_sched_get_priority_max 159 172 + #define __NR_sched_get_priority_min 160 173 + #define __NR_sched_rr_get_interval 161 174 + #define __NR_nanosleep 162 175 + #define __NR_mremap 163 176 + #define __NR_setresuid 164 177 + #define __NR_getresuid 165 178 + /* 166 __NR_vm86 */ 179 + /* 167 __NR_query_module */ 180 + /* 168 __NR_poll */ 181 + #define __NR_nfsservctl 169 182 + #define __NR_setresgid 170 183 + #define __NR_getresgid 171 184 + #define __NR_prctl 172 185 + #define __NR_rt_sigreturn 173 186 + #define __NR_rt_sigaction 174 187 + #define __NR_rt_sigprocmask 175 188 + #define __NR_rt_sigpending 176 189 + #define __NR_rt_sigtimedwait 177 190 + #define __NR_rt_sigqueueinfo 178 191 + #define __NR_rt_sigsuspend 179 192 + #define __NR_pread 180 193 + #define __NR_pwrite 181 194 + #define __NR_lchown 182 195 + #define __NR_getcwd 183 196 + #define __NR_capget 184 197 + #define __NR_capset 185 198 + #define __NR_sigaltstack 186 199 + #define __NR_sendfile 187 200 + /* 188 __NR_getpmsg */ 201 + /* 189 __NR_putpmsg */ 202 + #define __NR_vfork 190 203 + #define __NR_getrlimit 191 204 + #define __NR_mmap2 192 205 + #define __NR_truncate64 193 206 + #define __NR_ftruncate64 194 207 + #define __NR_stat64 195 208 + #define __NR_lstat64 196 209 + #define __NR_fstat64 197 210 + #define __NR_chown32 198 211 + #define __NR_getuid32 199 212 + #define __NR_getgid32 200 213 + #define __NR_geteuid32 201 214 + #define __NR_getegid32 202 215 + #define __NR_setreuid32 203 216 + #define __NR_setregid32 204 217 + #define __NR_getgroups32 205 218 + #define __NR_setgroups32 206 219 + #define __NR_fchown32 207 220 + #define __NR_setresuid32 208 221 + #define __NR_getresuid32 209 222 + #define __NR_setresgid32 210 223 + #define __NR_getresgid32 211 224 + #define __NR_lchown32 212 225 + #define __NR_setuid32 213 226 + #define __NR_setgid32 214 227 + #define __NR_setfsuid32 215 228 + #define __NR_setfsgid32 216 229 + #define __NR_pivot_root 217 230 + /* 218 __NR_mincore */ 231 + /* 219 __NR_madvise */ 232 + #define __NR_getdents64 220 233 + #define __NR_fcntl64 221 234 + /* 222 reserved for TUX */ 235 + /* 223 reserved for TUX */ 236 + #define __NR_gettid 224 237 + #define __NR_readahead 225 238 + #define __NR_setxattr 226 239 + #define __NR_lsetxattr 227 240 + #define __NR_fsetxattr 228 241 + #define __NR_getxattr 229 242 + #define __NR_lgetxattr 230 243 + #define __NR_fgetxattr 231 244 + #define __NR_listxattr 232 245 + #define __NR_llistxattr 233 246 + #define __NR_flistxattr 234 247 + #define __NR_removexattr 235 248 + #define __NR_lremovexattr 236 249 + #define __NR_fremovexattr 237 250 + #define __NR_tkill 238 251 + #define __NR_sendfile64 239 252 + #define __NR_futex 240 253 + #define __NR_sched_setaffinity 241 254 + #define __NR_sched_getaffinity 242 255 + /* 243 __NR_set_thread_area */ 256 + /* 244 __NR_get_thread_area */ 257 + #define __NR_io_setup 245 258 + #define __NR_io_destroy 246 259 + #define __NR_io_getevents 247 260 + #define __NR_io_submit 248 261 + #define __NR_io_cancel 249 262 + /* 250 __NR_alloc_hugepages */ 263 + /* 251 __NR_free_hugepages */ 264 + #define __NR_exit_group 252 265 + #define __NR_lookup_dcookie 253 266 + #define __NR_bfin_spinlock 254 267 + 268 + #define __NR_epoll_create 255 269 + #define __NR_epoll_ctl 256 270 + #define __NR_epoll_wait 257 271 + /* 258 __NR_remap_file_pages */ 272 + #define __NR_set_tid_address 259 273 + #define __NR_timer_create 260 274 + #define __NR_timer_settime 261 275 + #define __NR_timer_gettime 262 276 + #define __NR_timer_getoverrun 263 277 + #define __NR_timer_delete 264 278 + #define __NR_clock_settime 265 279 + #define __NR_clock_gettime 266 280 + #define __NR_clock_getres 267 281 + #define __NR_clock_nanosleep 268 282 + #define __NR_statfs64 269 283 + #define __NR_fstatfs64 270 284 + #define __NR_tgkill 271 285 + #define __NR_utimes 272 286 + #define __NR_fadvise64_64 273 287 + /* 274 __NR_vserver */ 288 + /* 275 __NR_mbind */ 289 + /* 276 __NR_get_mempolicy */ 290 + /* 277 __NR_set_mempolicy */ 291 + #define __NR_mq_open 278 292 + #define __NR_mq_unlink 279 293 + #define __NR_mq_timedsend 280 294 + #define __NR_mq_timedreceive 281 295 + #define __NR_mq_notify 282 296 + #define __NR_mq_getsetattr 283 297 + #define __NR_kexec_load 284 298 + #define __NR_waitid 285 299 + #define __NR_add_key 286 300 + #define __NR_request_key 287 301 + #define __NR_keyctl 288 302 + #define __NR_ioprio_set 289 303 + #define __NR_ioprio_get 290 304 + #define __NR_inotify_init 291 305 + #define __NR_inotify_add_watch 292 306 + #define __NR_inotify_rm_watch 293 307 + /* 294 __NR_migrate_pages */ 308 + #define __NR_openat 295 309 + #define __NR_mkdirat 296 310 + #define __NR_mknodat 297 311 + #define __NR_fchownat 298 312 + #define __NR_futimesat 299 313 + #define __NR_fstatat64 300 314 + #define __NR_unlinkat 301 315 + #define __NR_renameat 302 316 + #define __NR_linkat 303 317 + #define __NR_symlinkat 304 318 + #define __NR_readlinkat 305 319 + #define __NR_fchmodat 306 320 + #define __NR_faccessat 307 321 + #define __NR_pselect6 308 322 + #define __NR_ppoll 309 323 + #define __NR_unshare 310 324 + 325 + /* Blackfin private syscalls */ 326 + #define __NR_sram_alloc 311 327 + #define __NR_sram_free 312 328 + #define __NR_dma_memcpy 313 329 + 330 + /* socket syscalls */ 331 + #define __NR_accept 314 332 + #define __NR_bind 315 333 + #define __NR_connect 316 334 + #define __NR_getpeername 317 335 + #define __NR_getsockname 318 336 + #define __NR_getsockopt 319 337 + #define __NR_listen 320 338 + #define __NR_recv 321 339 + #define __NR_recvfrom 322 340 + #define __NR_recvmsg 323 341 + #define __NR_send 324 342 + #define __NR_sendmsg 325 343 + #define __NR_sendto 326 344 + #define __NR_setsockopt 327 345 + #define __NR_shutdown 328 346 + #define __NR_socket 329 347 + #define __NR_socketpair 330 348 + 349 + /* sysv ipc syscalls */ 350 + #define __NR_semctl 331 351 + #define __NR_semget 332 352 + #define __NR_semop 333 353 + #define __NR_msgctl 334 354 + #define __NR_msgget 335 355 + #define __NR_msgrcv 336 356 + #define __NR_msgsnd 337 357 + #define __NR_shmat 338 358 + #define __NR_shmctl 339 359 + #define __NR_shmdt 340 360 + #define __NR_shmget 341 361 + 362 + #define __NR_splice 342 363 + #define __NR_sync_file_range 343 364 + #define __NR_tee 344 365 + #define __NR_vmsplice 345 366 + 367 + #define __NR_epoll_pwait 346 368 + #define __NR_utimensat 347 369 + #define __NR_signalfd 348 370 + #define __NR_timerfd_create 349 371 + #define __NR_eventfd 350 372 + #define __NR_pread64 351 373 + #define __NR_pwrite64 352 374 + #define __NR_fadvise64 353 375 + #define __NR_set_robust_list 354 376 + #define __NR_get_robust_list 355 377 + #define __NR_fallocate 356 378 + #define __NR_semtimedop 357 379 + #define __NR_timerfd_settime 358 380 + #define __NR_timerfd_gettime 359 381 + #define __NR_signalfd4 360 382 + #define __NR_eventfd2 361 383 + #define __NR_epoll_create1 362 384 + #define __NR_dup3 363 385 + #define __NR_pipe2 364 386 + #define __NR_inotify_init1 365 387 + #define __NR_preadv 366 388 + #define __NR_pwritev 367 389 + #define __NR_rt_tgsigqueueinfo 368 390 + #define __NR_perf_event_open 369 391 + #define __NR_recvmmsg 370 392 + #define __NR_fanotify_init 371 393 + #define __NR_fanotify_mark 372 394 + #define __NR_prlimit64 373 395 + #define __NR_cacheflush 374 396 + #define __NR_name_to_handle_at 375 397 + #define __NR_open_by_handle_at 376 398 + #define __NR_clock_adjtime 377 399 + #define __NR_syncfs 378 400 + #define __NR_setns 379 401 + #define __NR_sendmmsg 380 402 + #define __NR_process_vm_readv 381 403 + #define __NR_process_vm_writev 382 404 + 405 + #define __NR_syscall 383 406 + #define NR_syscalls __NR_syscall 407 + 408 + /* Old optional stuff no one actually uses */ 409 + #define __IGNORE_sysfs 410 + #define __IGNORE_uselib 411 + 412 + /* Implement the newer interfaces */ 413 + #define __IGNORE_mmap 414 + #define __IGNORE_poll 415 + #define __IGNORE_select 416 + #define __IGNORE_utime 417 + 418 + /* Not relevant on no-mmu */ 419 + #define __IGNORE_swapon 420 + #define __IGNORE_swapoff 421 + #define __IGNORE_msync 422 + #define __IGNORE_mlock 423 + #define __IGNORE_munlock 424 + #define __IGNORE_mlockall 425 + #define __IGNORE_munlockall 426 + #define __IGNORE_mincore 427 + #define __IGNORE_madvise 428 + #define __IGNORE_remap_file_pages 429 + #define __IGNORE_mbind 430 + #define __IGNORE_get_mempolicy 431 + #define __IGNORE_set_mempolicy 432 + #define __IGNORE_migrate_pages 433 + #define __IGNORE_move_pages 434 + #define __IGNORE_getcpu 435 + 436 + 437 + #endif /* _UAPI__ASM_BFIN_UNISTD_H */
+11 -2
arch/blackfin/kernel/kgdb.c
··· 329 329 } 330 330 331 331 #ifdef CONFIG_SMP 332 + extern void generic_exec_single(int cpu, struct call_single_data *data, int wait); 333 + static struct call_single_data kgdb_smp_ipi_data[NR_CPUS]; 334 + 332 335 void kgdb_passive_cpu_callback(void *info) 333 336 { 334 337 kgdb_nmicallback(raw_smp_processor_id(), get_irq_regs()); ··· 339 336 340 337 void kgdb_roundup_cpus(unsigned long flags) 341 338 { 342 - smp_call_function(kgdb_passive_cpu_callback, NULL, 0); 339 + unsigned int cpu; 340 + 341 + for (cpu = cpumask_first(cpu_online_mask); cpu < nr_cpu_ids; 342 + cpu = cpumask_next(cpu, cpu_online_mask)) { 343 + kgdb_smp_ipi_data[cpu].func = kgdb_passive_cpu_callback; 344 + generic_exec_single(cpu, &kgdb_smp_ipi_data[cpu], 0); 345 + } 343 346 } 344 347 345 348 void kgdb_roundup_cpu(int cpu, unsigned long flags) 346 349 { 347 - smp_call_function_single(cpu, kgdb_passive_cpu_callback, NULL, 0); 350 + generic_exec_single(cpu, &kgdb_smp_ipi_data[cpu], 0); 348 351 } 349 352 #endif 350 353
+1
arch/blackfin/mach-bf518/include/mach/anomaly.h
··· 165 165 #define ANOMALY_05000474 (0) 166 166 #define ANOMALY_05000475 (0) 167 167 #define ANOMALY_05000480 (0) 168 + #define ANOMALY_16000030 (0) 168 169 169 170 #endif
+1
arch/blackfin/mach-bf527/include/mach/anomaly.h
··· 285 285 #define ANOMALY_05000448 (0) 286 286 #define ANOMALY_05000474 (0) 287 287 #define ANOMALY_05000480 (0) 288 + #define ANOMALY_16000030 (0) 288 289 289 290 #endif
+1
arch/blackfin/mach-bf533/include/mach/anomaly.h
··· 378 378 #define ANOMALY_05000474 (0) 379 379 #define ANOMALY_05000480 (0) 380 380 #define ANOMALY_05000485 (0) 381 + #define ANOMALY_16000030 (0) 381 382 382 383 #endif
+1
arch/blackfin/mach-bf537/include/mach/anomaly.h
··· 236 236 #define ANOMALY_05000467 (0) 237 237 #define ANOMALY_05000474 (0) 238 238 #define ANOMALY_05000485 (0) 239 + #define ANOMALY_16000030 (0) 239 240 240 241 #endif
+1
arch/blackfin/mach-bf538/include/mach/anomaly.h
··· 210 210 #define ANOMALY_05000474 (0) 211 211 #define ANOMALY_05000480 (0) 212 212 #define ANOMALY_05000485 (0) 213 + #define ANOMALY_16000030 (0) 213 214 214 215 #endif
+1
arch/blackfin/mach-bf548/include/mach/anomaly.h
··· 296 296 #define ANOMALY_05000440 (0) 297 297 #define ANOMALY_05000475 (0) 298 298 #define ANOMALY_05000480 (0) 299 + #define ANOMALY_16000030 (0) 299 300 300 301 #endif
+1
arch/blackfin/mach-bf561/include/mach/anomaly.h
··· 348 348 #define ANOMALY_05000474 (0) 349 349 #define ANOMALY_05000480 (0) 350 350 #define ANOMALY_05000485 (0) 351 + #define ANOMALY_16000030 (0) 351 352 352 353 #endif
-3
arch/blackfin/mach-bf609/include/mach/irq.h
··· 9 9 10 10 #include <mach-common/irq.h> 11 11 12 - #undef BFIN_IRQ 13 - #define BFIN_IRQ(x) ((x) + IVG15) 14 - 15 12 #define NR_PERI_INTS (5 * 32) 16 13 17 14 #define IRQ_SEC_ERR BFIN_IRQ(0) /* SEC Error */
+1 -2
arch/blackfin/mach-bf609/pm.c
··· 174 174 bfin_write32(DPM0_RESTORE5, bfin_read32(DPM0_RESTORE5) | 4); 175 175 } 176 176 177 - #define IRQ_SID(irq) ((irq) - IVG15) 178 177 asmlinkage void enter_deepsleep(void); 179 178 180 179 __attribute__((l1_text)) ··· 310 311 { 311 312 printk(KERN_DEBUG "gpio irq %d\n", irq); 312 313 if (irq == 231) 313 - bfin_sec_raise_irq(IRQ_SID(IRQ_SOFT1)); 314 + bfin_sec_raise_irq(BFIN_SYSIRQ(IRQ_SOFT1)); 314 315 return IRQ_HANDLED; 315 316 } 316 317
+1 -18
arch/blackfin/mach-common/dpmc.c
··· 157 157 .name = DRIVER_NAME, 158 158 } 159 159 }; 160 - 161 - /** 162 - * bfin_dpmc_init - Init driver 163 - */ 164 - static int __init bfin_dpmc_init(void) 165 - { 166 - return platform_driver_register(&bfin_dpmc_device_driver); 167 - } 168 - module_init(bfin_dpmc_init); 169 - 170 - /** 171 - * bfin_dpmc_exit - break down driver 172 - */ 173 - static void __exit bfin_dpmc_exit(void) 174 - { 175 - platform_driver_unregister(&bfin_dpmc_device_driver); 176 - } 177 - module_exit(bfin_dpmc_exit); 160 + module_platform_driver(bfin_dpmc_device_driver); 178 161 179 162 MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>"); 180 163 MODULE_DESCRIPTION("cpu power management driver for Blackfin");
+134 -140
arch/blackfin/mach-common/ints-priority.c
··· 28 28 #include <asm/dpmc.h> 29 29 #include <asm/traps.h> 30 30 31 - #ifndef SEC_GCTL 32 - # define SIC_SYSIRQ(irq) (irq - (IRQ_CORETMR + 1)) 33 - #else 34 - # define SIC_SYSIRQ(irq) ((irq) - IVG15) 35 - #endif 36 - 37 31 /* 38 32 * NOTES: 39 33 * - we have separated the physical Hardware interrupt from the ··· 135 141 return; 136 142 } 137 143 144 + #ifndef SEC_GCTL 138 145 void bfin_internal_mask_irq(unsigned int irq) 139 146 { 140 147 unsigned long flags = hard_local_irq_save(); 141 - #ifndef SEC_GCTL 142 148 #ifdef SIC_IMASK0 143 - unsigned mask_bank = SIC_SYSIRQ(irq) / 32; 144 - unsigned mask_bit = SIC_SYSIRQ(irq) % 32; 149 + unsigned mask_bank = BFIN_SYSIRQ(irq) / 32; 150 + unsigned mask_bit = BFIN_SYSIRQ(irq) % 32; 145 151 bfin_write_SIC_IMASK(mask_bank, bfin_read_SIC_IMASK(mask_bank) & 146 152 ~(1 << mask_bit)); 147 153 # if defined(CONFIG_SMP) || defined(CONFIG_ICC) ··· 150 156 # endif 151 157 #else 152 158 bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() & 153 - ~(1 << SIC_SYSIRQ(irq))); 159 + ~(1 << BFIN_SYSIRQ(irq))); 154 160 #endif /* end of SIC_IMASK0 */ 155 - #endif 156 161 hard_local_irq_restore(flags); 157 162 } 158 163 ··· 169 176 { 170 177 unsigned long flags = hard_local_irq_save(); 171 178 172 - #ifndef SEC_GCTL 173 179 #ifdef SIC_IMASK0 174 - unsigned mask_bank = SIC_SYSIRQ(irq) / 32; 175 - unsigned mask_bit = SIC_SYSIRQ(irq) % 32; 180 + unsigned mask_bank = BFIN_SYSIRQ(irq) / 32; 181 + unsigned mask_bit = BFIN_SYSIRQ(irq) % 32; 176 182 # ifdef CONFIG_SMP 177 183 if (cpumask_test_cpu(0, affinity)) 178 184 # endif ··· 186 194 # endif 187 195 #else 188 196 bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() | 189 - (1 << SIC_SYSIRQ(irq))); 190 - #endif 197 + (1 << BFIN_SYSIRQ(irq))); 191 198 #endif 192 199 hard_local_irq_restore(flags); 193 200 } 194 201 195 - #ifdef SEC_GCTL 202 + #ifdef CONFIG_SMP 203 + static void bfin_internal_unmask_irq_chip(struct irq_data *d) 204 + { 205 + bfin_internal_unmask_irq_affinity(d->irq, d->affinity); 206 + } 207 + 208 + static int bfin_internal_set_affinity(struct irq_data *d, 209 + const struct cpumask *mask, bool force) 210 + { 211 + bfin_internal_mask_irq(d->irq); 212 + bfin_internal_unmask_irq_affinity(d->irq, mask); 213 + 214 + return 0; 215 + } 216 + #else 217 + static void bfin_internal_unmask_irq_chip(struct irq_data *d) 218 + { 219 + bfin_internal_unmask_irq(d->irq); 220 + } 221 + #endif 222 + 223 + #if defined(CONFIG_PM) 224 + int bfin_internal_set_wake(unsigned int irq, unsigned int state) 225 + { 226 + u32 bank, bit, wakeup = 0; 227 + unsigned long flags; 228 + bank = BFIN_SYSIRQ(irq) / 32; 229 + bit = BFIN_SYSIRQ(irq) % 32; 230 + 231 + switch (irq) { 232 + #ifdef IRQ_RTC 233 + case IRQ_RTC: 234 + wakeup |= WAKE; 235 + break; 236 + #endif 237 + #ifdef IRQ_CAN0_RX 238 + case IRQ_CAN0_RX: 239 + wakeup |= CANWE; 240 + break; 241 + #endif 242 + #ifdef IRQ_CAN1_RX 243 + case IRQ_CAN1_RX: 244 + wakeup |= CANWE; 245 + break; 246 + #endif 247 + #ifdef IRQ_USB_INT0 248 + case IRQ_USB_INT0: 249 + wakeup |= USBWE; 250 + break; 251 + #endif 252 + #ifdef CONFIG_BF54x 253 + case IRQ_CNT: 254 + wakeup |= ROTWE; 255 + break; 256 + #endif 257 + default: 258 + break; 259 + } 260 + 261 + flags = hard_local_irq_save(); 262 + 263 + if (state) { 264 + bfin_sic_iwr[bank] |= (1 << bit); 265 + vr_wakeup |= wakeup; 266 + 267 + } else { 268 + bfin_sic_iwr[bank] &= ~(1 << bit); 269 + vr_wakeup &= ~wakeup; 270 + } 271 + 272 + hard_local_irq_restore(flags); 273 + 274 + return 0; 275 + } 276 + 277 + static int bfin_internal_set_wake_chip(struct irq_data *d, unsigned int state) 278 + { 279 + return bfin_internal_set_wake(d->irq, state); 280 + } 281 + #else 282 + inline int bfin_internal_set_wake(unsigned int irq, unsigned int state) 283 + { 284 + return 0; 285 + } 286 + # define bfin_internal_set_wake_chip NULL 287 + #endif 288 + 289 + #else /* SEC_GCTL */ 196 290 static void bfin_sec_preflow_handler(struct irq_data *d) 197 291 { 198 292 unsigned long flags = hard_local_irq_save(); 199 - unsigned int sid = SIC_SYSIRQ(d->irq); 293 + unsigned int sid = BFIN_SYSIRQ(d->irq); 200 294 201 295 bfin_write_SEC_SCI(0, SEC_CSID, sid); 202 296 ··· 292 214 static void bfin_sec_mask_ack_irq(struct irq_data *d) 293 215 { 294 216 unsigned long flags = hard_local_irq_save(); 295 - unsigned int sid = SIC_SYSIRQ(d->irq); 217 + unsigned int sid = BFIN_SYSIRQ(d->irq); 296 218 297 219 bfin_write_SEC_SCI(0, SEC_CSID, sid); 298 220 ··· 302 224 static void bfin_sec_unmask_irq(struct irq_data *d) 303 225 { 304 226 unsigned long flags = hard_local_irq_save(); 305 - unsigned int sid = SIC_SYSIRQ(d->irq); 227 + unsigned int sid = BFIN_SYSIRQ(d->irq); 306 228 307 229 bfin_write32(SEC_END, sid); 308 230 ··· 347 269 unsigned long flags = hard_local_irq_save(); 348 270 uint32_t reg_sctl = bfin_read_SEC_SCTL(sid); 349 271 350 - if (sid == SIC_SYSIRQ(IRQ_WATCH0)) 272 + if (sid == BFIN_SYSIRQ(IRQ_WATCH0)) 351 273 reg_sctl |= SEC_SCTL_FAULT_EN; 352 274 else 353 275 reg_sctl |= SEC_SCTL_INT_EN; ··· 370 292 static void bfin_sec_enable(struct irq_data *d) 371 293 { 372 294 unsigned long flags = hard_local_irq_save(); 373 - unsigned int sid = SIC_SYSIRQ(d->irq); 295 + unsigned int sid = BFIN_SYSIRQ(d->irq); 374 296 375 297 bfin_sec_enable_sci(sid); 376 298 bfin_sec_enable_ssi(sid); ··· 381 303 static void bfin_sec_disable(struct irq_data *d) 382 304 { 383 305 unsigned long flags = hard_local_irq_save(); 384 - unsigned int sid = SIC_SYSIRQ(d->irq); 306 + unsigned int sid = BFIN_SYSIRQ(d->irq); 385 307 386 308 bfin_sec_disable_sci(sid); 387 309 bfin_sec_disable_ssi(sid); ··· 406 328 hard_local_irq_restore(flags); 407 329 } 408 330 409 - void bfin_sec_raise_irq(unsigned int sid) 331 + void bfin_sec_raise_irq(unsigned int irq) 410 332 { 411 333 unsigned long flags = hard_local_irq_save(); 334 + unsigned int sid = BFIN_SYSIRQ(irq); 412 335 413 336 bfin_write32(SEC_RAISE, sid); 414 337 ··· 420 341 { 421 342 bfin_sec_set_ssi_coreid(34, 0); 422 343 bfin_sec_set_ssi_coreid(35, 1); 344 + 345 + bfin_sec_enable_sci(35); 346 + bfin_sec_enable_ssi(35); 423 347 bfin_sec_set_ssi_coreid(36, 0); 424 348 bfin_sec_set_ssi_coreid(37, 1); 349 + bfin_sec_enable_sci(37); 350 + bfin_sec_enable_ssi(37); 425 351 } 426 352 427 353 void bfin_sec_resume(void) ··· 496 412 } 497 413 498 414 raw_spin_unlock(&desc->lock); 415 + 416 + handle_fasteoi_irq(irq, desc); 499 417 } 500 418 501 419 void handle_core_fault(unsigned int irq, struct irq_desc *desc) ··· 517 431 printk(KERN_NOTICE "Kernel Stack\n"); 518 432 show_stack(current, NULL); 519 433 print_modules(); 520 - panic("Kernel core hardware error"); 434 + panic("Core 0 hardware error"); 521 435 break; 522 436 case IRQ_C0_NMI_L1_PARITY_ERR: 523 - panic("NMI occurs unexpectedly"); 437 + panic("Core 0 NMI L1 parity error"); 524 438 break; 525 439 default: 526 - panic("Core 1 fault occurs unexpectedly"); 440 + panic("Core 1 fault %d occurs unexpectedly", irq); 527 441 } 528 442 529 443 raw_spin_unlock(&desc->lock); 530 444 } 531 - #endif 532 - 533 - #ifdef CONFIG_SMP 534 - static void bfin_internal_unmask_irq_chip(struct irq_data *d) 535 - { 536 - bfin_internal_unmask_irq_affinity(d->irq, d->affinity); 537 - } 538 - 539 - static int bfin_internal_set_affinity(struct irq_data *d, 540 - const struct cpumask *mask, bool force) 541 - { 542 - bfin_internal_mask_irq(d->irq); 543 - bfin_internal_unmask_irq_affinity(d->irq, mask); 544 - 545 - return 0; 546 - } 547 - #else 548 - static void bfin_internal_unmask_irq_chip(struct irq_data *d) 549 - { 550 - bfin_internal_unmask_irq(d->irq); 551 - } 552 - #endif 553 - 554 - #if defined(CONFIG_PM) && !defined(SEC_GCTL) 555 - int bfin_internal_set_wake(unsigned int irq, unsigned int state) 556 - { 557 - u32 bank, bit, wakeup = 0; 558 - unsigned long flags; 559 - bank = SIC_SYSIRQ(irq) / 32; 560 - bit = SIC_SYSIRQ(irq) % 32; 561 - 562 - switch (irq) { 563 - #ifdef IRQ_RTC 564 - case IRQ_RTC: 565 - wakeup |= WAKE; 566 - break; 567 - #endif 568 - #ifdef IRQ_CAN0_RX 569 - case IRQ_CAN0_RX: 570 - wakeup |= CANWE; 571 - break; 572 - #endif 573 - #ifdef IRQ_CAN1_RX 574 - case IRQ_CAN1_RX: 575 - wakeup |= CANWE; 576 - break; 577 - #endif 578 - #ifdef IRQ_USB_INT0 579 - case IRQ_USB_INT0: 580 - wakeup |= USBWE; 581 - break; 582 - #endif 583 - #ifdef CONFIG_BF54x 584 - case IRQ_CNT: 585 - wakeup |= ROTWE; 586 - break; 587 - #endif 588 - default: 589 - break; 590 - } 591 - 592 - flags = hard_local_irq_save(); 593 - 594 - if (state) { 595 - bfin_sic_iwr[bank] |= (1 << bit); 596 - vr_wakeup |= wakeup; 597 - 598 - } else { 599 - bfin_sic_iwr[bank] &= ~(1 << bit); 600 - vr_wakeup &= ~wakeup; 601 - } 602 - 603 - hard_local_irq_restore(flags); 604 - 605 - return 0; 606 - } 607 - 608 - static int bfin_internal_set_wake_chip(struct irq_data *d, unsigned int state) 609 - { 610 - return bfin_internal_set_wake(d->irq, state); 611 - } 612 - #else 613 - inline int bfin_internal_set_wake(unsigned int irq, unsigned int state) 614 - { 615 - return 0; 616 - } 617 - # define bfin_internal_set_wake_chip NULL 618 - #endif 445 + #endif /* SEC_GCTL */ 619 446 620 447 static struct irq_chip bfin_core_irqchip = { 621 448 .name = "CORE", ··· 536 537 .irq_unmask = bfin_core_unmask_irq, 537 538 }; 538 539 540 + #ifndef SEC_GCTL 539 541 static struct irq_chip bfin_internal_irqchip = { 540 542 .name = "INTN", 541 543 .irq_mask = bfin_internal_mask_irq_chip, ··· 548 548 #endif 549 549 .irq_set_wake = bfin_internal_set_wake_chip, 550 550 }; 551 - 552 - #ifdef SEC_GCTL 551 + #else 553 552 static struct irq_chip bfin_sec_irqchip = { 554 553 .name = "SEC", 555 554 .irq_mask_ack = bfin_sec_mask_ack_irq, ··· 1137 1138 return -EINVAL; 1138 1139 } 1139 1140 1141 + #ifndef SEC_GCTL 1140 1142 bfin_internal_set_wake(pint_irq, state); 1143 + #endif 1141 1144 1142 1145 return 0; 1143 1146 } ··· 1174 1173 u32 bank; 1175 1174 1176 1175 for (bank = 0; bank < NR_PINT_SYS_IRQS; bank++) 1177 - save_pint_sec_ctl[bank] = bfin_read_SEC_SCTL(bank + SIC_SYSIRQ(IRQ_PINT0)); 1176 + save_pint_sec_ctl[bank] = bfin_read_SEC_SCTL(bank + BFIN_SYSIRQ(IRQ_PINT0)); 1178 1177 return 0; 1179 1178 } 1180 1179 ··· 1188 1187 bfin_write_SEC_SCI(0, SEC_CCTL, SEC_CCTL_EN | SEC_CCTL_NMI_EN); 1189 1188 1190 1189 for (bank = 0; bank < NR_PINT_SYS_IRQS; bank++) 1191 - bfin_write_SEC_SCTL(bank + SIC_SYSIRQ(IRQ_PINT0), save_pint_sec_ctl[bank]); 1190 + bfin_write_SEC_SCTL(bank + BFIN_SYSIRQ(IRQ_PINT0), save_pint_sec_ctl[bank]); 1192 1191 } 1193 1192 1194 1193 static struct syscore_ops sec_pm_syscore_ops = { ··· 1539 1538 1540 1539 for (irq = 0; irq <= SYS_IRQS; irq++) { 1541 1540 if (irq <= IRQ_CORETMR) { 1542 - irq_set_chip(irq, &bfin_core_irqchip); 1543 - #ifdef CONFIG_TICKSOURCE_CORETMR 1541 + irq_set_chip_and_handler(irq, &bfin_core_irqchip, 1542 + handle_simple_irq); 1543 + #if defined(CONFIG_TICKSOURCE_CORETMR) && defined(CONFIG_SMP) 1544 1544 if (irq == IRQ_CORETMR) 1545 - # ifdef CONFIG_SMP 1546 1545 irq_set_handler(irq, handle_percpu_irq); 1547 - # else 1548 - irq_set_handler(irq, handle_simple_irq); 1549 - # endif 1550 1546 #endif 1551 - } else if (irq < BFIN_IRQ(0)) { 1552 - irq_set_chip_and_handler(irq, &bfin_internal_irqchip, 1553 - handle_simple_irq); 1554 - } else if (irq == IRQ_SEC_ERR) { 1555 - irq_set_chip_and_handler(irq, &bfin_sec_irqchip, 1556 - handle_sec_fault); 1557 - } else if (irq < CORE_IRQS && irq >= IRQ_C0_DBL_FAULT) { 1558 - irq_set_chip_and_handler(irq, &bfin_sec_irqchip, 1559 - handle_core_fault); 1560 1547 } else if (irq >= BFIN_IRQ(21) && irq <= BFIN_IRQ(26)) { 1561 1548 irq_set_chip(irq, &bfin_sec_irqchip); 1562 1549 irq_set_chained_handler(irq, bfin_demux_gpio_irq); 1563 1550 } else if (irq >= BFIN_IRQ(34) && irq <= BFIN_IRQ(37)) { 1564 - irq_set_chip(irq, &bfin_sec_irqchip); 1565 - irq_set_handler(irq, handle_percpu_irq); 1566 - } else { 1567 1551 irq_set_chip_and_handler(irq, &bfin_sec_irqchip, 1568 - handle_fasteoi_irq); 1552 + handle_percpu_irq); 1553 + } else { 1554 + irq_set_chip(irq, &bfin_sec_irqchip); 1555 + if (irq == IRQ_SEC_ERR) 1556 + irq_set_handler(irq, handle_sec_fault); 1557 + else if (irq >= IRQ_C0_DBL_FAULT && irq < CORE_IRQS) 1558 + irq_set_handler(irq, handle_core_fault); 1559 + else 1560 + irq_set_handler(irq, handle_fasteoi_irq); 1569 1561 __irq_set_preflow_handler(irq, bfin_sec_preflow_handler); 1570 1562 } 1571 1563 } ··· 1587 1593 1588 1594 1589 1595 bfin_write_SEC_FCTL(SEC_FCTL_EN | SEC_FCTL_SYSRST_EN | SEC_FCTL_FLTIN_EN); 1590 - bfin_sec_enable_sci(SIC_SYSIRQ(IRQ_WATCH0)); 1591 - bfin_sec_enable_ssi(SIC_SYSIRQ(IRQ_WATCH0)); 1596 + bfin_sec_enable_sci(BFIN_SYSIRQ(IRQ_WATCH0)); 1597 + bfin_sec_enable_ssi(BFIN_SYSIRQ(IRQ_WATCH0)); 1592 1598 bfin_write_SEC_SCI(0, SEC_CCTL, SEC_CCTL_RESET); 1593 1599 udelay(100); 1594 1600 bfin_write_SEC_GCTL(SEC_GCTL_EN);