diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-29 21:24:20 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-29 21:24:20 -0500 |
commit | 30c867eebfbd1c25310aec9f152578deaf793080 (patch) | |
tree | 1afe19bdda8a45e2842e8c7c3fd02b799242fab0 /arch/blackfin | |
parent | cac9283ca3dc7f4404b4034c6f06a3076c033b04 (diff) | |
parent | 58095fdaaf1cee12d8e01aa20f94b976e3137d27 (diff) |
Merge tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux
Pull blackfin updates from Steven Miao:
"Some minor changes and bug fixes"
* tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux:
From: Eunbong Song <eunb.song@samsung.com>
Add platfrom device resource for bfin-sport on bf533 stamp
fix build error for bf527-ezkit_defconfig for old silicon
blackfin: Support L1 SRAM parity checking feature on bf60x
blackfin: bf609: update the anomaly list to Nov 2013
blackfin: delete non-required instances of <linux/init.h>
From: Paul Walmsley <pwalmsley@nvidia.com>
06/18] smp, blackfin: kill SMP single function call interrupt
arch: blackfin: uapi: be sure of "_UAPI" prefix for all guard macros
Diffstat (limited to 'arch/blackfin')
34 files changed, 166 insertions, 83 deletions
diff --git a/arch/blackfin/configs/BF527-EZKIT_defconfig b/arch/blackfin/configs/BF527-EZKIT_defconfig index 90b175323644..af2738c7441b 100644 --- a/arch/blackfin/configs/BF527-EZKIT_defconfig +++ b/arch/blackfin/configs/BF527-EZKIT_defconfig | |||
@@ -146,6 +146,7 @@ CONFIG_USB_DEVICEFS=y | |||
146 | CONFIG_USB_OTG_BLACKLIST_HUB=y | 146 | CONFIG_USB_OTG_BLACKLIST_HUB=y |
147 | CONFIG_USB_MON=y | 147 | CONFIG_USB_MON=y |
148 | CONFIG_USB_MUSB_HDRC=y | 148 | CONFIG_USB_MUSB_HDRC=y |
149 | CONFIG_MUSB_PIO_ONLY=y | ||
149 | CONFIG_USB_MUSB_BLACKFIN=y | 150 | CONFIG_USB_MUSB_BLACKFIN=y |
150 | CONFIG_MUSB_PIO_ONLY=y | 151 | CONFIG_MUSB_PIO_ONLY=y |
151 | CONFIG_USB_STORAGE=y | 152 | CONFIG_USB_STORAGE=y |
diff --git a/arch/blackfin/configs/BF538-EZKIT_defconfig b/arch/blackfin/configs/BF538-EZKIT_defconfig index 972aa6263ad0..be03be6ba543 100644 --- a/arch/blackfin/configs/BF538-EZKIT_defconfig +++ b/arch/blackfin/configs/BF538-EZKIT_defconfig | |||
@@ -59,7 +59,6 @@ CONFIG_BFIN_SIR=m | |||
59 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 59 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
60 | # CONFIG_FW_LOADER is not set | 60 | # CONFIG_FW_LOADER is not set |
61 | CONFIG_MTD=y | 61 | CONFIG_MTD=y |
62 | CONFIG_MTD_PARTITIONS=y | ||
63 | CONFIG_MTD_CMDLINE_PARTS=y | 62 | CONFIG_MTD_CMDLINE_PARTS=y |
64 | CONFIG_MTD_CHAR=m | 63 | CONFIG_MTD_CHAR=m |
65 | CONFIG_MTD_BLOCK=y | 64 | CONFIG_MTD_BLOCK=y |
diff --git a/arch/blackfin/configs/BF561-ACVILON_defconfig b/arch/blackfin/configs/BF561-ACVILON_defconfig index 91988370b75e..802f9c421621 100644 --- a/arch/blackfin/configs/BF561-ACVILON_defconfig +++ b/arch/blackfin/configs/BF561-ACVILON_defconfig | |||
@@ -49,7 +49,6 @@ CONFIG_SYN_COOKIES=y | |||
49 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 49 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
50 | # CONFIG_FW_LOADER is not set | 50 | # CONFIG_FW_LOADER is not set |
51 | CONFIG_MTD=y | 51 | CONFIG_MTD=y |
52 | CONFIG_MTD_PARTITIONS=y | ||
53 | CONFIG_MTD_CMDLINE_PARTS=y | 52 | CONFIG_MTD_CMDLINE_PARTS=y |
54 | CONFIG_MTD_CHAR=y | 53 | CONFIG_MTD_CHAR=y |
55 | CONFIG_MTD_BLOCK=y | 54 | CONFIG_MTD_BLOCK=y |
diff --git a/arch/blackfin/configs/BlackStamp_defconfig b/arch/blackfin/configs/BlackStamp_defconfig index 7b982d0502ad..3853c473b443 100644 --- a/arch/blackfin/configs/BlackStamp_defconfig +++ b/arch/blackfin/configs/BlackStamp_defconfig | |||
@@ -44,7 +44,6 @@ CONFIG_IP_PNP=y | |||
44 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 44 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
45 | # CONFIG_FW_LOADER is not set | 45 | # CONFIG_FW_LOADER is not set |
46 | CONFIG_MTD=y | 46 | CONFIG_MTD=y |
47 | CONFIG_MTD_PARTITIONS=y | ||
48 | CONFIG_MTD_CMDLINE_PARTS=y | 47 | CONFIG_MTD_CMDLINE_PARTS=y |
49 | CONFIG_MTD_CHAR=m | 48 | CONFIG_MTD_CHAR=m |
50 | CONFIG_MTD_BLOCK=y | 49 | CONFIG_MTD_BLOCK=y |
diff --git a/arch/blackfin/configs/CM-BF533_defconfig b/arch/blackfin/configs/CM-BF533_defconfig index c940a1e3ab36..5e0db82b679e 100644 --- a/arch/blackfin/configs/CM-BF533_defconfig +++ b/arch/blackfin/configs/CM-BF533_defconfig | |||
@@ -36,7 +36,6 @@ CONFIG_UNIX=y | |||
36 | # CONFIG_WIRELESS is not set | 36 | # CONFIG_WIRELESS is not set |
37 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 37 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
38 | CONFIG_MTD=y | 38 | CONFIG_MTD=y |
39 | CONFIG_MTD_PARTITIONS=y | ||
40 | CONFIG_MTD_CMDLINE_PARTS=y | 39 | CONFIG_MTD_CMDLINE_PARTS=y |
41 | CONFIG_MTD_CHAR=y | 40 | CONFIG_MTD_CHAR=y |
42 | CONFIG_MTD_BLOCK=y | 41 | CONFIG_MTD_BLOCK=y |
diff --git a/arch/blackfin/configs/CM-BF548_defconfig b/arch/blackfin/configs/CM-BF548_defconfig index e961483f1879..b9af4fa69984 100644 --- a/arch/blackfin/configs/CM-BF548_defconfig +++ b/arch/blackfin/configs/CM-BF548_defconfig | |||
@@ -53,7 +53,6 @@ CONFIG_INET_XFRM_MODE_BEET=m | |||
53 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 53 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
54 | # CONFIG_FW_LOADER is not set | 54 | # CONFIG_FW_LOADER is not set |
55 | CONFIG_MTD=y | 55 | CONFIG_MTD=y |
56 | CONFIG_MTD_PARTITIONS=y | ||
57 | CONFIG_MTD_CMDLINE_PARTS=y | 56 | CONFIG_MTD_CMDLINE_PARTS=y |
58 | CONFIG_MTD_CHAR=y | 57 | CONFIG_MTD_CHAR=y |
59 | CONFIG_MTD_BLOCK=y | 58 | CONFIG_MTD_BLOCK=y |
diff --git a/arch/blackfin/configs/CM-BF561_defconfig b/arch/blackfin/configs/CM-BF561_defconfig index 24936b91a6ee..d6dd98e67146 100644 --- a/arch/blackfin/configs/CM-BF561_defconfig +++ b/arch/blackfin/configs/CM-BF561_defconfig | |||
@@ -51,7 +51,6 @@ CONFIG_INET=y | |||
51 | # CONFIG_WIRELESS is not set | 51 | # CONFIG_WIRELESS is not set |
52 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 52 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
53 | CONFIG_MTD=y | 53 | CONFIG_MTD=y |
54 | CONFIG_MTD_PARTITIONS=y | ||
55 | CONFIG_MTD_CMDLINE_PARTS=y | 54 | CONFIG_MTD_CMDLINE_PARTS=y |
56 | CONFIG_MTD_CHAR=y | 55 | CONFIG_MTD_CHAR=y |
57 | CONFIG_MTD_BLOCK=y | 56 | CONFIG_MTD_BLOCK=y |
diff --git a/arch/blackfin/configs/DNP5370_defconfig b/arch/blackfin/configs/DNP5370_defconfig index 89162d0fff9e..2b58cb221283 100644 --- a/arch/blackfin/configs/DNP5370_defconfig +++ b/arch/blackfin/configs/DNP5370_defconfig | |||
@@ -36,7 +36,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | |||
36 | CONFIG_MTD=y | 36 | CONFIG_MTD=y |
37 | CONFIG_MTD_DEBUG=y | 37 | CONFIG_MTD_DEBUG=y |
38 | CONFIG_MTD_DEBUG_VERBOSE=1 | 38 | CONFIG_MTD_DEBUG_VERBOSE=1 |
39 | CONFIG_MTD_PARTITIONS=y | ||
40 | CONFIG_MTD_CHAR=y | 39 | CONFIG_MTD_CHAR=y |
41 | CONFIG_MTD_BLOCK=y | 40 | CONFIG_MTD_BLOCK=y |
42 | CONFIG_NFTL=y | 41 | CONFIG_NFTL=y |
diff --git a/arch/blackfin/configs/H8606_defconfig b/arch/blackfin/configs/H8606_defconfig index a26436bf50ff..f754e490bbfd 100644 --- a/arch/blackfin/configs/H8606_defconfig +++ b/arch/blackfin/configs/H8606_defconfig | |||
@@ -36,7 +36,6 @@ CONFIG_IRTTY_SIR=m | |||
36 | # CONFIG_WIRELESS is not set | 36 | # CONFIG_WIRELESS is not set |
37 | # CONFIG_FW_LOADER is not set | 37 | # CONFIG_FW_LOADER is not set |
38 | CONFIG_MTD=y | 38 | CONFIG_MTD=y |
39 | CONFIG_MTD_PARTITIONS=y | ||
40 | CONFIG_MTD_CHAR=y | 39 | CONFIG_MTD_CHAR=y |
41 | CONFIG_MTD_BLOCK=y | 40 | CONFIG_MTD_BLOCK=y |
42 | CONFIG_MTD_RAM=y | 41 | CONFIG_MTD_RAM=y |
diff --git a/arch/blackfin/configs/IP0X_defconfig b/arch/blackfin/configs/IP0X_defconfig index 647991514ac9..629516578760 100644 --- a/arch/blackfin/configs/IP0X_defconfig +++ b/arch/blackfin/configs/IP0X_defconfig | |||
@@ -43,7 +43,6 @@ CONFIG_IP_NF_TARGET_REJECT=y | |||
43 | CONFIG_IP_NF_MANGLE=y | 43 | CONFIG_IP_NF_MANGLE=y |
44 | # CONFIG_WIRELESS is not set | 44 | # CONFIG_WIRELESS is not set |
45 | CONFIG_MTD=y | 45 | CONFIG_MTD=y |
46 | CONFIG_MTD_PARTITIONS=y | ||
47 | CONFIG_MTD_CHAR=y | 46 | CONFIG_MTD_CHAR=y |
48 | CONFIG_MTD_BLOCK=y | 47 | CONFIG_MTD_BLOCK=y |
49 | CONFIG_MTD_CFI=y | 48 | CONFIG_MTD_CFI=y |
diff --git a/arch/blackfin/configs/PNAV-10_defconfig b/arch/blackfin/configs/PNAV-10_defconfig index 8fd9b446d658..a6a7298962ed 100644 --- a/arch/blackfin/configs/PNAV-10_defconfig +++ b/arch/blackfin/configs/PNAV-10_defconfig | |||
@@ -46,7 +46,6 @@ CONFIG_IP_PNP=y | |||
46 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 46 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
47 | # CONFIG_FW_LOADER is not set | 47 | # CONFIG_FW_LOADER is not set |
48 | CONFIG_MTD=y | 48 | CONFIG_MTD=y |
49 | CONFIG_MTD_PARTITIONS=y | ||
50 | CONFIG_MTD_CHAR=m | 49 | CONFIG_MTD_CHAR=m |
51 | CONFIG_MTD_BLOCK=y | 50 | CONFIG_MTD_BLOCK=y |
52 | CONFIG_MTD_RAM=y | 51 | CONFIG_MTD_RAM=y |
diff --git a/arch/blackfin/configs/SRV1_defconfig b/arch/blackfin/configs/SRV1_defconfig index 0520c160230d..bc216646fe18 100644 --- a/arch/blackfin/configs/SRV1_defconfig +++ b/arch/blackfin/configs/SRV1_defconfig | |||
@@ -38,7 +38,6 @@ CONFIG_IRTTY_SIR=m | |||
38 | # CONFIG_WIRELESS is not set | 38 | # CONFIG_WIRELESS is not set |
39 | # CONFIG_FW_LOADER is not set | 39 | # CONFIG_FW_LOADER is not set |
40 | CONFIG_MTD=y | 40 | CONFIG_MTD=y |
41 | CONFIG_MTD_PARTITIONS=y | ||
42 | CONFIG_MTD_CHAR=m | 41 | CONFIG_MTD_CHAR=m |
43 | CONFIG_MTD_BLOCK=y | 42 | CONFIG_MTD_BLOCK=y |
44 | CONFIG_MTD_JEDECPROBE=m | 43 | CONFIG_MTD_JEDECPROBE=m |
diff --git a/arch/blackfin/configs/TCM-BF518_defconfig b/arch/blackfin/configs/TCM-BF518_defconfig index e4ed865b885e..ea88158ab432 100644 --- a/arch/blackfin/configs/TCM-BF518_defconfig +++ b/arch/blackfin/configs/TCM-BF518_defconfig | |||
@@ -54,7 +54,6 @@ CONFIG_IP_PNP=y | |||
54 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 54 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
55 | # CONFIG_FW_LOADER is not set | 55 | # CONFIG_FW_LOADER is not set |
56 | CONFIG_MTD=y | 56 | CONFIG_MTD=y |
57 | CONFIG_MTD_PARTITIONS=y | ||
58 | CONFIG_MTD_CMDLINE_PARTS=y | 57 | CONFIG_MTD_CMDLINE_PARTS=y |
59 | CONFIG_MTD_CHAR=y | 58 | CONFIG_MTD_CHAR=y |
60 | CONFIG_MTD_BLOCK=y | 59 | CONFIG_MTD_BLOCK=y |
diff --git a/arch/blackfin/include/asm/def_LPBlackfin.h b/arch/blackfin/include/asm/def_LPBlackfin.h index ca67145c6a45..c5c8d8a3a5fa 100644 --- a/arch/blackfin/include/asm/def_LPBlackfin.h +++ b/arch/blackfin/include/asm/def_LPBlackfin.h | |||
@@ -544,6 +544,7 @@ do { \ | |||
544 | #define DCBS_P 0x04 /* L1 Data Cache Bank Select */ | 544 | #define DCBS_P 0x04 /* L1 Data Cache Bank Select */ |
545 | #define PORT_PREF0_P 0x12 /* DAG0 Port Preference */ | 545 | #define PORT_PREF0_P 0x12 /* DAG0 Port Preference */ |
546 | #define PORT_PREF1_P 0x13 /* DAG1 Port Preference */ | 546 | #define PORT_PREF1_P 0x13 /* DAG1 Port Preference */ |
547 | #define RDCHK 0x9 /* Enable L1 Parity Check */ | ||
547 | 548 | ||
548 | /* Masks */ | 549 | /* Masks */ |
549 | #define ENDM 0x00000001 /* (doesn't really exist) Enable | 550 | #define ENDM 0x00000001 /* (doesn't really exist) Enable |
diff --git a/arch/blackfin/include/uapi/asm/byteorder.h b/arch/blackfin/include/uapi/asm/byteorder.h index 9558416d578b..3b125da5dcb2 100644 --- a/arch/blackfin/include/uapi/asm/byteorder.h +++ b/arch/blackfin/include/uapi/asm/byteorder.h | |||
@@ -1 +1,6 @@ | |||
1 | #ifndef _UAPI__BFIN_ASM_BYTEORDER_H | ||
2 | #define _UAPI__BFIN_ASM_BYTEORDER_H | ||
3 | |||
1 | #include <linux/byteorder/little_endian.h> | 4 | #include <linux/byteorder/little_endian.h> |
5 | |||
6 | #endif /* _UAPI__BFIN_ASM_BYTEORDER_H */ | ||
diff --git a/arch/blackfin/include/uapi/asm/cachectl.h b/arch/blackfin/include/uapi/asm/cachectl.h index 03255df6c1ea..4fdab75dee15 100644 --- a/arch/blackfin/include/uapi/asm/cachectl.h +++ b/arch/blackfin/include/uapi/asm/cachectl.h | |||
@@ -7,8 +7,8 @@ | |||
7 | * Licensed under the GPL-2 or later. | 7 | * Licensed under the GPL-2 or later. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #ifndef _ASM_CACHECTL | 10 | #ifndef _UAPI_ASM_CACHECTL |
11 | #define _ASM_CACHECTL | 11 | #define _UAPI_ASM_CACHECTL |
12 | 12 | ||
13 | /* | 13 | /* |
14 | * Options for cacheflush system call | 14 | * Options for cacheflush system call |
@@ -17,4 +17,4 @@ | |||
17 | #define DCACHE (1<<1) /* writeback and flush data cache */ | 17 | #define DCACHE (1<<1) /* writeback and flush data cache */ |
18 | #define BCACHE (ICACHE|DCACHE) /* flush both caches */ | 18 | #define BCACHE (ICACHE|DCACHE) /* flush both caches */ |
19 | 19 | ||
20 | #endif /* _ASM_CACHECTL */ | 20 | #endif /* _UAPI_ASM_CACHECTL */ |
diff --git a/arch/blackfin/include/uapi/asm/fcntl.h b/arch/blackfin/include/uapi/asm/fcntl.h index 251c911d59c1..f51ad9a4f617 100644 --- a/arch/blackfin/include/uapi/asm/fcntl.h +++ b/arch/blackfin/include/uapi/asm/fcntl.h | |||
@@ -4,8 +4,8 @@ | |||
4 | * Licensed under the GPL-2 or later. | 4 | * Licensed under the GPL-2 or later. |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #ifndef _BFIN_FCNTL_H | 7 | #ifndef _UAPI_BFIN_FCNTL_H |
8 | #define _BFIN_FCNTL_H | 8 | #define _UAPI_BFIN_FCNTL_H |
9 | 9 | ||
10 | #define O_DIRECTORY 040000 /* must be a directory */ | 10 | #define O_DIRECTORY 040000 /* must be a directory */ |
11 | #define O_NOFOLLOW 0100000 /* don't follow links */ | 11 | #define O_NOFOLLOW 0100000 /* don't follow links */ |
@@ -14,4 +14,4 @@ | |||
14 | 14 | ||
15 | #include <asm-generic/fcntl.h> | 15 | #include <asm-generic/fcntl.h> |
16 | 16 | ||
17 | #endif | 17 | #endif /* _UAPI_BFIN_FCNTL_H */ |
diff --git a/arch/blackfin/include/uapi/asm/ioctls.h b/arch/blackfin/include/uapi/asm/ioctls.h index eca8d75b0a8a..9a41c20fc83d 100644 --- a/arch/blackfin/include/uapi/asm/ioctls.h +++ b/arch/blackfin/include/uapi/asm/ioctls.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef __ARCH_BFIN_IOCTLS_H__ | 1 | #ifndef _UAPI__ARCH_BFIN_IOCTLS_H__ |
2 | #define __ARCH_BFIN_IOCTLS_H__ | 2 | #define _UAPI__ARCH_BFIN_IOCTLS_H__ |
3 | 3 | ||
4 | #define FIOQSIZE 0x545E | 4 | #define FIOQSIZE 0x545E |
5 | #include <asm-generic/ioctls.h> | 5 | #include <asm-generic/ioctls.h> |
6 | 6 | ||
7 | #endif | 7 | #endif /* _UAPI__ARCH_BFIN_IOCTLS_H__ */ |
diff --git a/arch/blackfin/include/uapi/asm/poll.h b/arch/blackfin/include/uapi/asm/poll.h index 072d8966c5c3..99c7d6816da0 100644 --- a/arch/blackfin/include/uapi/asm/poll.h +++ b/arch/blackfin/include/uapi/asm/poll.h | |||
@@ -5,12 +5,12 @@ | |||
5 | * | 5 | * |
6 | */ | 6 | */ |
7 | 7 | ||
8 | #ifndef __BFIN_POLL_H | 8 | #ifndef _UAPI__BFIN_POLL_H |
9 | #define __BFIN_POLL_H | 9 | #define _UAPI__BFIN_POLL_H |
10 | 10 | ||
11 | #define POLLWRNORM 4 /* POLLOUT */ | 11 | #define POLLWRNORM 4 /* POLLOUT */ |
12 | #define POLLWRBAND 256 | 12 | #define POLLWRBAND 256 |
13 | 13 | ||
14 | #include <asm-generic/poll.h> | 14 | #include <asm-generic/poll.h> |
15 | 15 | ||
16 | #endif | 16 | #endif /* _UAPI__BFIN_POLL_H */ |
diff --git a/arch/blackfin/include/uapi/asm/posix_types.h b/arch/blackfin/include/uapi/asm/posix_types.h index 1bd3436db6a7..9608ef64dc47 100644 --- a/arch/blackfin/include/uapi/asm/posix_types.h +++ b/arch/blackfin/include/uapi/asm/posix_types.h | |||
@@ -4,8 +4,8 @@ | |||
4 | * Licensed under the GPL-2 or later. | 4 | * Licensed under the GPL-2 or later. |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #ifndef __ARCH_BFIN_POSIX_TYPES_H | 7 | #ifndef _UAPI__ARCH_BFIN_POSIX_TYPES_H |
8 | #define __ARCH_BFIN_POSIX_TYPES_H | 8 | #define _UAPI__ARCH_BFIN_POSIX_TYPES_H |
9 | 9 | ||
10 | typedef unsigned short __kernel_mode_t; | 10 | typedef unsigned short __kernel_mode_t; |
11 | #define __kernel_mode_t __kernel_mode_t | 11 | #define __kernel_mode_t __kernel_mode_t |
@@ -27,4 +27,4 @@ typedef unsigned short __kernel_old_dev_t; | |||
27 | 27 | ||
28 | #include <asm-generic/posix_types.h> | 28 | #include <asm-generic/posix_types.h> |
29 | 29 | ||
30 | #endif | 30 | #endif /* _UAPI__ARCH_BFIN_POSIX_TYPES_H */ |
diff --git a/arch/blackfin/include/uapi/asm/sigcontext.h b/arch/blackfin/include/uapi/asm/sigcontext.h index 906bdc1f5fda..b58f12dc27bd 100644 --- a/arch/blackfin/include/uapi/asm/sigcontext.h +++ b/arch/blackfin/include/uapi/asm/sigcontext.h | |||
@@ -4,8 +4,8 @@ | |||
4 | * Licensed under the GPL-2 or later. | 4 | * Licensed under the GPL-2 or later. |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #ifndef _ASM_BLACKFIN_SIGCONTEXT_H | 7 | #ifndef _UAPI_ASM_BLACKFIN_SIGCONTEXT_H |
8 | #define _ASM_BLACKFIN_SIGCONTEXT_H | 8 | #define _UAPI_ASM_BLACKFIN_SIGCONTEXT_H |
9 | 9 | ||
10 | /* Add new entries at the end of the structure only. */ | 10 | /* Add new entries at the end of the structure only. */ |
11 | struct sigcontext { | 11 | struct sigcontext { |
@@ -58,4 +58,4 @@ struct sigcontext { | |||
58 | unsigned long sc_seqstat; | 58 | unsigned long sc_seqstat; |
59 | }; | 59 | }; |
60 | 60 | ||
61 | #endif | 61 | #endif /* _UAPI_ASM_BLACKFIN_SIGCONTEXT_H */ |
diff --git a/arch/blackfin/include/uapi/asm/siginfo.h b/arch/blackfin/include/uapi/asm/siginfo.h index 3e81306394e2..c72f4e6e386f 100644 --- a/arch/blackfin/include/uapi/asm/siginfo.h +++ b/arch/blackfin/include/uapi/asm/siginfo.h | |||
@@ -4,8 +4,8 @@ | |||
4 | * Licensed under the GPL-2 or later. | 4 | * Licensed under the GPL-2 or later. |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #ifndef _BFIN_SIGINFO_H | 7 | #ifndef _UAPI_BFIN_SIGINFO_H |
8 | #define _BFIN_SIGINFO_H | 8 | #define _UAPI_BFIN_SIGINFO_H |
9 | 9 | ||
10 | #include <linux/types.h> | 10 | #include <linux/types.h> |
11 | #include <asm-generic/siginfo.h> | 11 | #include <asm-generic/siginfo.h> |
@@ -38,4 +38,4 @@ | |||
38 | */ | 38 | */ |
39 | #define SEGV_STACKFLOW (__SI_FAULT|3) /* stack overflow */ | 39 | #define SEGV_STACKFLOW (__SI_FAULT|3) /* stack overflow */ |
40 | 40 | ||
41 | #endif | 41 | #endif /* _UAPI_BFIN_SIGINFO_H */ |
diff --git a/arch/blackfin/include/uapi/asm/signal.h b/arch/blackfin/include/uapi/asm/signal.h index 77a3bf37b69d..f0a0d8b6663a 100644 --- a/arch/blackfin/include/uapi/asm/signal.h +++ b/arch/blackfin/include/uapi/asm/signal.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _BLACKFIN_SIGNAL_H | 1 | #ifndef _UAPI_BLACKFIN_SIGNAL_H |
2 | #define _BLACKFIN_SIGNAL_H | 2 | #define _UAPI_BLACKFIN_SIGNAL_H |
3 | 3 | ||
4 | #define SA_RESTORER 0x04000000 | 4 | #define SA_RESTORER 0x04000000 |
5 | #include <asm-generic/signal.h> | 5 | #include <asm-generic/signal.h> |
6 | 6 | ||
7 | #endif | 7 | #endif /* _UAPI_BLACKFIN_SIGNAL_H */ |
diff --git a/arch/blackfin/include/uapi/asm/stat.h b/arch/blackfin/include/uapi/asm/stat.h index 2e27665c4e91..d3068a750b94 100644 --- a/arch/blackfin/include/uapi/asm/stat.h +++ b/arch/blackfin/include/uapi/asm/stat.h | |||
@@ -4,8 +4,8 @@ | |||
4 | * Licensed under the GPL-2. | 4 | * Licensed under the GPL-2. |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #ifndef _BFIN_STAT_H | 7 | #ifndef _UAPI_BFIN_STAT_H |
8 | #define _BFIN_STAT_H | 8 | #define _UAPI_BFIN_STAT_H |
9 | 9 | ||
10 | struct stat { | 10 | struct stat { |
11 | unsigned short st_dev; | 11 | unsigned short st_dev; |
@@ -66,4 +66,4 @@ struct stat64 { | |||
66 | unsigned long long st_ino; | 66 | unsigned long long st_ino; |
67 | }; | 67 | }; |
68 | 68 | ||
69 | #endif /* _BFIN_STAT_H */ | 69 | #endif /* _UAPI_BFIN_STAT_H */ |
diff --git a/arch/blackfin/include/uapi/asm/swab.h b/arch/blackfin/include/uapi/asm/swab.h index 89de6507ca2b..f5626b77684a 100644 --- a/arch/blackfin/include/uapi/asm/swab.h +++ b/arch/blackfin/include/uapi/asm/swab.h | |||
@@ -4,8 +4,8 @@ | |||
4 | * Licensed under the GPL-2 or later. | 4 | * Licensed under the GPL-2 or later. |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #ifndef _BLACKFIN_SWAB_H | 7 | #ifndef _UAPI_BLACKFIN_SWAB_H |
8 | #define _BLACKFIN_SWAB_H | 8 | #define _UAPI_BLACKFIN_SWAB_H |
9 | 9 | ||
10 | #include <linux/types.h> | 10 | #include <linux/types.h> |
11 | #include <asm-generic/swab.h> | 11 | #include <asm-generic/swab.h> |
@@ -47,4 +47,4 @@ static __inline__ __attribute_const__ __u16 __arch_swab16(__u16 xx) | |||
47 | 47 | ||
48 | #endif /* __GNUC__ */ | 48 | #endif /* __GNUC__ */ |
49 | 49 | ||
50 | #endif /* _BLACKFIN_SWAB_H */ | 50 | #endif /* _UAPI_BLACKFIN_SWAB_H */ |
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c index 4a8c2e3fd7e5..4da70c47cc05 100644 --- a/arch/blackfin/mach-bf533/boards/stamp.c +++ b/arch/blackfin/mach-bf533/boards/stamp.c | |||
@@ -370,7 +370,8 @@ static struct platform_device bfin_sir0_device = { | |||
370 | #endif | 370 | #endif |
371 | #endif | 371 | #endif |
372 | 372 | ||
373 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 373 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || \ |
374 | defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | ||
374 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART | 375 | #ifdef CONFIG_SERIAL_BFIN_SPORT0_UART |
375 | static struct resource bfin_sport0_uart_resources[] = { | 376 | static struct resource bfin_sport0_uart_resources[] = { |
376 | { | 377 | { |
@@ -441,6 +442,50 @@ static struct platform_device bfin_sport1_uart_device = { | |||
441 | #endif | 442 | #endif |
442 | #endif | 443 | #endif |
443 | 444 | ||
445 | #if defined(CONFIG_BFIN_SPORT) || defined(CONFIG_BFIN_SPORT_MODULE) | ||
446 | static struct resource bfin_sport0_resources[] = { | ||
447 | { | ||
448 | .start = SPORT0_TCR1, | ||
449 | .end = SPORT0_MRCS3+4, | ||
450 | .flags = IORESOURCE_MEM, | ||
451 | }, | ||
452 | { | ||
453 | .start = IRQ_SPORT0_TX, | ||
454 | .end = IRQ_SPORT0_TX+1, | ||
455 | .flags = IORESOURCE_IRQ, | ||
456 | }, | ||
457 | { | ||
458 | .start = IRQ_SPORT0_RX, | ||
459 | .end = IRQ_SPORT0_RX+1, | ||
460 | .flags = IORESOURCE_IRQ, | ||
461 | }, | ||
462 | { | ||
463 | .start = IRQ_SPORT0_ERROR, | ||
464 | .end = IRQ_SPORT0_ERROR, | ||
465 | .flags = IORESOURCE_IRQ, | ||
466 | }, | ||
467 | { | ||
468 | .start = CH_SPORT0_TX, | ||
469 | .end = CH_SPORT0_TX, | ||
470 | .flags = IORESOURCE_DMA, | ||
471 | }, | ||
472 | { | ||
473 | .start = CH_SPORT0_RX, | ||
474 | .end = CH_SPORT0_RX, | ||
475 | .flags = IORESOURCE_DMA, | ||
476 | }, | ||
477 | }; | ||
478 | static struct platform_device bfin_sport0_device = { | ||
479 | .name = "bfin_sport_raw", | ||
480 | .id = 0, | ||
481 | .num_resources = ARRAY_SIZE(bfin_sport0_resources), | ||
482 | .resource = bfin_sport0_resources, | ||
483 | .dev = { | ||
484 | .platform_data = &bfin_sport0_peripherals, | ||
485 | }, | ||
486 | }; | ||
487 | #endif | ||
488 | |||
444 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 489 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
445 | #include <linux/input.h> | 490 | #include <linux/input.h> |
446 | #include <linux/gpio_keys.h> | 491 | #include <linux/gpio_keys.h> |
diff --git a/arch/blackfin/mach-bf609/Kconfig b/arch/blackfin/mach-bf609/Kconfig index b0fca44110b0..6584190faeb8 100644 --- a/arch/blackfin/mach-bf609/Kconfig +++ b/arch/blackfin/mach-bf609/Kconfig | |||
@@ -17,6 +17,12 @@ config SEC_IRQ_PRIORITY_LEVELS | |||
17 | Divide the total number of interrupt priority levels into sub-levels. | 17 | Divide the total number of interrupt priority levels into sub-levels. |
18 | There is 2 ^ (SEC_IRQ_PRIORITY_LEVELS + 1) different levels. | 18 | There is 2 ^ (SEC_IRQ_PRIORITY_LEVELS + 1) different levels. |
19 | 19 | ||
20 | config L1_PARITY_CHECK | ||
21 | bool "Enable L1 parity check" | ||
22 | default n | ||
23 | help | ||
24 | Enable the L1 parity check in L1 sram. A fault event is raised | ||
25 | when L1 parity error is found. | ||
20 | 26 | ||
21 | comment "System Cross Bar Priority Assignment" | 27 | comment "System Cross Bar Priority Assignment" |
22 | 28 | ||
diff --git a/arch/blackfin/mach-bf609/clock.c b/arch/blackfin/mach-bf609/clock.c index dab8849af884..13644ed25489 100644 --- a/arch/blackfin/mach-bf609/clock.c +++ b/arch/blackfin/mach-bf609/clock.c | |||
@@ -120,6 +120,7 @@ void clk_disable(struct clk *clk) | |||
120 | } | 120 | } |
121 | EXPORT_SYMBOL(clk_disable); | 121 | EXPORT_SYMBOL(clk_disable); |
122 | 122 | ||
123 | |||
123 | unsigned long clk_get_rate(struct clk *clk) | 124 | unsigned long clk_get_rate(struct clk *clk) |
124 | { | 125 | { |
125 | unsigned long ret = 0; | 126 | unsigned long ret = 0; |
@@ -131,7 +132,7 @@ EXPORT_SYMBOL(clk_get_rate); | |||
131 | 132 | ||
132 | long clk_round_rate(struct clk *clk, unsigned long rate) | 133 | long clk_round_rate(struct clk *clk, unsigned long rate) |
133 | { | 134 | { |
134 | long ret = -EIO; | 135 | long ret = 0; |
135 | if (clk->ops && clk->ops->round_rate) | 136 | if (clk->ops && clk->ops->round_rate) |
136 | ret = clk->ops->round_rate(clk, rate); | 137 | ret = clk->ops->round_rate(clk, rate); |
137 | return ret; | 138 | return ret; |
diff --git a/arch/blackfin/mach-bf609/include/mach/anomaly.h b/arch/blackfin/mach-bf609/include/mach/anomaly.h index 7a07374308ac..696786e9a531 100644 --- a/arch/blackfin/mach-bf609/include/mach/anomaly.h +++ b/arch/blackfin/mach-bf609/include/mach/anomaly.h | |||
@@ -23,11 +23,11 @@ | |||
23 | /* TRU_STAT.ADDRERR and TRU_ERRADDR.ADDR May Not Reflect the Correct Status */ | 23 | /* TRU_STAT.ADDRERR and TRU_ERRADDR.ADDR May Not Reflect the Correct Status */ |
24 | #define ANOMALY_16000003 (1) | 24 | #define ANOMALY_16000003 (1) |
25 | /* The EPPI Data Enable (DEN) Signal is Not Functional */ | 25 | /* The EPPI Data Enable (DEN) Signal is Not Functional */ |
26 | #define ANOMALY_16000004 (1) | 26 | #define ANOMALY_16000004 (__SILICON_REVISION__ < 1) |
27 | /* Using L1 Instruction Cache with Parity Enabled is Unreliable */ | 27 | /* Using L1 Instruction Cache with Parity Enabled is Unreliable */ |
28 | #define ANOMALY_16000005 (1) | 28 | #define ANOMALY_16000005 (__SILICON_REVISION__ < 1) |
29 | /* SEQSTAT.SYSNMI Clears Upon Entering the NMI ISR */ | 29 | /* SEQSTAT.SYSNMI Clears Upon Entering the NMI ISR */ |
30 | #define ANOMALY_16000006 (1) | 30 | #define ANOMALY_16000006 (__SILICON_REVISION__ < 1) |
31 | /* DDR2 Memory Reads May Fail Intermittently */ | 31 | /* DDR2 Memory Reads May Fail Intermittently */ |
32 | #define ANOMALY_16000007 (1) | 32 | #define ANOMALY_16000007 (1) |
33 | /* Instruction Memory Stalls Can Cause IFLUSH to Fail */ | 33 | /* Instruction Memory Stalls Can Cause IFLUSH to Fail */ |
@@ -49,19 +49,53 @@ | |||
49 | /* Speculative Fetches Can Cause Undesired External FIFO Operations */ | 49 | /* Speculative Fetches Can Cause Undesired External FIFO Operations */ |
50 | #define ANOMALY_16000017 (1) | 50 | #define ANOMALY_16000017 (1) |
51 | /* RSI Boot Cleanup Routine Does Not Clear Registers */ | 51 | /* RSI Boot Cleanup Routine Does Not Clear Registers */ |
52 | #define ANOMALY_16000018 (1) | 52 | #define ANOMALY_16000018 (__SILICON_REVISION__ < 1) |
53 | /* SPI Master Boot Device Auto-detection Frequency is Set Incorrectly */ | 53 | /* SPI Master Boot Device Auto-detection Frequency is Set Incorrectly */ |
54 | #define ANOMALY_16000019 (1) | 54 | #define ANOMALY_16000019 (__SILICON_REVISION__ < 1) |
55 | /* rom_SysControl() Fails to Set DDR0_CTL.INIT for Wakeup From Hibernate */ | 55 | /* rom_SysControl() Fails to Set DDR0_CTL.INIT for Wakeup From Hibernate */ |
56 | #define ANOMALY_16000020 (1) | 56 | #define ANOMALY_16000020 (__SILICON_REVISION__ < 1) |
57 | /* rom_SysControl() Fails to Save and Restore DDR0_PHYCTL3 for Hibernate/Wakeup Sequence */ | 57 | /* rom_SysControl() Fails to Save and Restore DDR0_PHYCTL3 for Hibernate/Wakeup Sequence */ |
58 | #define ANOMALY_16000021 (1) | 58 | #define ANOMALY_16000021 (__SILICON_REVISION__ < 1) |
59 | /* Boot Code Fails to Enable Parity Fault Detection */ | 59 | /* Boot Code Fails to Enable Parity Fault Detection */ |
60 | #define ANOMALY_16000022 (1) | 60 | #define ANOMALY_16000022 (__SILICON_REVISION__ < 1) |
61 | /* Rom_SysControl Does not Update CGU0_CLKOUTSEL */ | ||
62 | #define ANOMALY_16000023 (__SILICON_REVISION__ < 1) | ||
63 | /* Spurious Fault Signaled After Clearing an Externally Generated Fault */ | ||
64 | #define ANOMALY_16000024 (1) | ||
65 | /* SPORT May Drive Data Pins During Inactive Channels in Multichannel Mode */ | ||
66 | #define ANOMALY_16000025 (1) | ||
61 | /* USB DMA interrupt status do not show the DMA channel interrupt in the DMA ISR */ | 67 | /* USB DMA interrupt status do not show the DMA channel interrupt in the DMA ISR */ |
62 | #define ANOMALY_16000027 (1) | 68 | #define ANOMALY_16000027 (__SILICON_REVISION__ < 1) |
69 | /* Default SPI Master Boot Mode Setting is Incorrect */ | ||
70 | #define ANOMALY_16000028 (__SILICON_REVISION__ < 1) | ||
71 | /* PPI tDFSPI Timing Does Not Meet Data Sheet Specification */ | ||
72 | #define ANOMALY_16000027 (__SILICON_REVISION__ < 1) | ||
63 | /* Interrupted Core Reads of MMRs May Cause Data Loss */ | 73 | /* Interrupted Core Reads of MMRs May Cause Data Loss */ |
64 | #define ANOMALY_16000030 (1) | 74 | #define ANOMALY_16000030 (__SILICON_REVISION__ < 1) |
75 | /* Incorrect Default USB_PLL_OSC.PLLM Value */ | ||
76 | #define ANOMALY_16000031 (__SILICON_REVISION__ < 1) | ||
77 | /* Core Reads of System MMRs May Cause the Core to Hang */ | ||
78 | #define ANOMALY_16000032 (__SILICON_REVISION__ < 1) | ||
79 | /* PPI Data Underflow on First Word Not Reported in Certain Modes */ | ||
80 | #define ANOMALY_16000033 (1) | ||
81 | /* CNV1 Red Pixel Substitution feature not functional in the PVP */ | ||
82 | #define ANOMALY_16000034 (__SILICON_REVISION__ < 1) | ||
83 | /* IPF0 Output Port Color Separation feature not functional */ | ||
84 | #define ANOMALY_16000035 (__SILICON_REVISION__ < 1) | ||
85 | /* Spurious USB Wake From Hibernate May Occur When USB_VBUS is Low */ | ||
86 | #define ANOMALY_16000036 (__SILICON_REVISION__ < 1) | ||
87 | /* Core RAISE 2 Instruction Not Latched When Executed at Priority Level 0, 1, or 2 */ | ||
88 | #define ANOMALY_16000037 (__SILICON_REVISION__ < 1) | ||
89 | /* Spurious Unhandled NMI or L1 Memory Parity Error Interrupt May Occur Upon Entering the NMI ISR */ | ||
90 | #define ANOMALY_16000038 (__SILICON_REVISION__ < 1) | ||
91 | /* CGU_STAT.PLOCKERR Bit May be Unreliable */ | ||
92 | #define ANOMALY_16000039 (1) | ||
93 | /* JTAG Emulator Reads of SDU_IDCODE Alter Register Contents */ | ||
94 | #define ANOMALY_16000040 (1) | ||
95 | /* IFLUSH Instruction Causes Parity Error When Parity Is Enabled */ | ||
96 | #define ANOMALY_16000041 (1) | ||
97 | /* Instruction Cache Failure When Parity Is Enabled */ | ||
98 | #define ANOMALY_16000042 (__SILICON_REVISION__ == 1) | ||
65 | 99 | ||
66 | /* Anomalies that don't exist on this proc */ | 100 | /* Anomalies that don't exist on this proc */ |
67 | #define ANOMALY_05000158 (0) | 101 | #define ANOMALY_05000158 (0) |
diff --git a/arch/blackfin/mach-common/cache-c.c b/arch/blackfin/mach-common/cache-c.c index 0e1e451fd7d8..f4adedc92895 100644 --- a/arch/blackfin/mach-common/cache-c.c +++ b/arch/blackfin/mach-common/cache-c.c | |||
@@ -6,7 +6,6 @@ | |||
6 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include <linux/init.h> | ||
10 | #include <asm/blackfin.h> | 9 | #include <asm/blackfin.h> |
11 | #include <asm/cplbinit.h> | 10 | #include <asm/cplbinit.h> |
12 | 11 | ||
@@ -42,6 +41,16 @@ bfin_cache_init(struct cplb_entry *cplb_tbl, unsigned long cplb_addr, | |||
42 | unsigned long mem_mask) | 41 | unsigned long mem_mask) |
43 | { | 42 | { |
44 | int i; | 43 | int i; |
44 | #ifdef CONFIG_L1_PARITY_CHECK | ||
45 | u32 ctrl; | ||
46 | |||
47 | if (cplb_addr == DCPLB_ADDR0) { | ||
48 | ctrl = bfin_read32(mem_control) | (1 << RDCHK); | ||
49 | CSYNC(); | ||
50 | bfin_write32(mem_control, ctrl); | ||
51 | SSYNC(); | ||
52 | } | ||
53 | #endif | ||
45 | 54 | ||
46 | for (i = 0; i < MAX_CPLBS; i++) { | 55 | for (i = 0; i < MAX_CPLBS; i++) { |
47 | bfin_write32(cplb_addr + i * 4, cplb_tbl[i].addr); | 56 | bfin_write32(cplb_addr + i * 4, cplb_tbl[i].addr); |
diff --git a/arch/blackfin/mach-common/clocks-init.c b/arch/blackfin/mach-common/clocks-init.c index 2308ce52f849..d436bd907fc8 100644 --- a/arch/blackfin/mach-common/clocks-init.c +++ b/arch/blackfin/mach-common/clocks-init.c | |||
@@ -7,7 +7,6 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include <linux/linkage.h> | 9 | #include <linux/linkage.h> |
10 | #include <linux/init.h> | ||
11 | #include <asm/blackfin.h> | 10 | #include <asm/blackfin.h> |
12 | 11 | ||
13 | #include <asm/dma.h> | 12 | #include <asm/dma.h> |
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c index ca75613231c8..867b7cef204c 100644 --- a/arch/blackfin/mach-common/ints-priority.c +++ b/arch/blackfin/mach-common/ints-priority.c | |||
@@ -471,13 +471,8 @@ void handle_sec_ssi_fault(uint32_t gstat) | |||
471 | 471 | ||
472 | } | 472 | } |
473 | 473 | ||
474 | void handle_sec_fault(unsigned int irq, struct irq_desc *desc) | 474 | void handle_sec_fault(uint32_t sec_gstat) |
475 | { | 475 | { |
476 | uint32_t sec_gstat; | ||
477 | |||
478 | raw_spin_lock(&desc->lock); | ||
479 | |||
480 | sec_gstat = bfin_read32(SEC_GSTAT); | ||
481 | if (sec_gstat & SEC_GSTAT_ERR) { | 476 | if (sec_gstat & SEC_GSTAT_ERR) { |
482 | 477 | ||
483 | switch (sec_gstat & SEC_GSTAT_ERRC) { | 478 | switch (sec_gstat & SEC_GSTAT_ERRC) { |
@@ -494,18 +489,16 @@ void handle_sec_fault(unsigned int irq, struct irq_desc *desc) | |||
494 | 489 | ||
495 | 490 | ||
496 | } | 491 | } |
497 | |||
498 | raw_spin_unlock(&desc->lock); | ||
499 | |||
500 | handle_fasteoi_irq(irq, desc); | ||
501 | } | 492 | } |
502 | 493 | ||
503 | void handle_core_fault(unsigned int irq, struct irq_desc *desc) | 494 | static struct irqaction bfin_fault_irq = { |
495 | .name = "Blackfin fault", | ||
496 | }; | ||
497 | |||
498 | static irqreturn_t bfin_fault_routine(int irq, void *data) | ||
504 | { | 499 | { |
505 | struct pt_regs *fp = get_irq_regs(); | 500 | struct pt_regs *fp = get_irq_regs(); |
506 | 501 | ||
507 | raw_spin_lock(&desc->lock); | ||
508 | |||
509 | switch (irq) { | 502 | switch (irq) { |
510 | case IRQ_C0_DBL_FAULT: | 503 | case IRQ_C0_DBL_FAULT: |
511 | double_fault_c(fp); | 504 | double_fault_c(fp); |
@@ -522,11 +515,15 @@ void handle_core_fault(unsigned int irq, struct irq_desc *desc) | |||
522 | case IRQ_C0_NMI_L1_PARITY_ERR: | 515 | case IRQ_C0_NMI_L1_PARITY_ERR: |
523 | panic("Core 0 NMI L1 parity error"); | 516 | panic("Core 0 NMI L1 parity error"); |
524 | break; | 517 | break; |
518 | case IRQ_SEC_ERR: | ||
519 | pr_err("SEC error\n"); | ||
520 | handle_sec_fault(bfin_read32(SEC_GSTAT)); | ||
521 | break; | ||
525 | default: | 522 | default: |
526 | panic("Core 1 fault %d occurs unexpectedly", irq); | 523 | panic("Unknown fault %d", irq); |
527 | } | 524 | } |
528 | 525 | ||
529 | raw_spin_unlock(&desc->lock); | 526 | return IRQ_HANDLED; |
530 | } | 527 | } |
531 | #endif /* SEC_GCTL */ | 528 | #endif /* SEC_GCTL */ |
532 | 529 | ||
@@ -1195,12 +1192,7 @@ int __init init_arch_irq(void) | |||
1195 | handle_percpu_irq); | 1192 | handle_percpu_irq); |
1196 | } else { | 1193 | } else { |
1197 | irq_set_chip(irq, &bfin_sec_irqchip); | 1194 | irq_set_chip(irq, &bfin_sec_irqchip); |
1198 | if (irq == IRQ_SEC_ERR) | 1195 | irq_set_handler(irq, handle_fasteoi_irq); |
1199 | irq_set_handler(irq, handle_sec_fault); | ||
1200 | else if (irq >= IRQ_C0_DBL_FAULT && irq < CORE_IRQS) | ||
1201 | irq_set_handler(irq, handle_core_fault); | ||
1202 | else | ||
1203 | irq_set_handler(irq, handle_fasteoi_irq); | ||
1204 | __irq_set_preflow_handler(irq, bfin_sec_preflow_handler); | 1196 | __irq_set_preflow_handler(irq, bfin_sec_preflow_handler); |
1205 | } | 1197 | } |
1206 | } | 1198 | } |
@@ -1239,6 +1231,13 @@ int __init init_arch_irq(void) | |||
1239 | register_syscore_ops(&sec_pm_syscore_ops); | 1231 | register_syscore_ops(&sec_pm_syscore_ops); |
1240 | #endif | 1232 | #endif |
1241 | 1233 | ||
1234 | bfin_fault_irq.handler = bfin_fault_routine; | ||
1235 | #ifdef CONFIG_L1_PARITY_CHECK | ||
1236 | setup_irq(IRQ_C0_NMI_L1_PARITY_ERR, &bfin_fault_irq); | ||
1237 | #endif | ||
1238 | setup_irq(IRQ_C0_DBL_FAULT, &bfin_fault_irq); | ||
1239 | setup_irq(IRQ_SEC_ERR, &bfin_fault_irq); | ||
1240 | |||
1242 | return 0; | 1241 | return 0; |
1243 | } | 1242 | } |
1244 | 1243 | ||
diff --git a/arch/blackfin/mach-common/scb-init.c b/arch/blackfin/mach-common/scb-init.c index 2cbfb0b5679e..8923398db66f 100644 --- a/arch/blackfin/mach-common/scb-init.c +++ b/arch/blackfin/mach-common/scb-init.c | |||
@@ -6,7 +6,6 @@ | |||
6 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include <linux/init.h> | ||
10 | #include <linux/errno.h> | 9 | #include <linux/errno.h> |
11 | #include <linux/kernel.h> | 10 | #include <linux/kernel.h> |
12 | #include <asm/scb.h> | 11 | #include <asm/scb.h> |
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c index 2bbae0783819..ba6c30d8534d 100644 --- a/arch/blackfin/mach-common/smp.c +++ b/arch/blackfin/mach-common/smp.c | |||
@@ -53,7 +53,6 @@ enum ipi_message_type { | |||
53 | BFIN_IPI_TIMER, | 53 | BFIN_IPI_TIMER, |
54 | BFIN_IPI_RESCHEDULE, | 54 | BFIN_IPI_RESCHEDULE, |
55 | BFIN_IPI_CALL_FUNC, | 55 | BFIN_IPI_CALL_FUNC, |
56 | BFIN_IPI_CALL_FUNC_SINGLE, | ||
57 | BFIN_IPI_CPU_STOP, | 56 | BFIN_IPI_CPU_STOP, |
58 | }; | 57 | }; |
59 | 58 | ||
@@ -162,9 +161,6 @@ static irqreturn_t ipi_handler_int1(int irq, void *dev_instance) | |||
162 | case BFIN_IPI_CALL_FUNC: | 161 | case BFIN_IPI_CALL_FUNC: |
163 | generic_smp_call_function_interrupt(); | 162 | generic_smp_call_function_interrupt(); |
164 | break; | 163 | break; |
165 | case BFIN_IPI_CALL_FUNC_SINGLE: | ||
166 | generic_smp_call_function_single_interrupt(); | ||
167 | break; | ||
168 | case BFIN_IPI_CPU_STOP: | 164 | case BFIN_IPI_CPU_STOP: |
169 | ipi_cpu_stop(cpu); | 165 | ipi_cpu_stop(cpu); |
170 | break; | 166 | break; |
@@ -210,7 +206,7 @@ void send_ipi(const struct cpumask *cpumask, enum ipi_message_type msg) | |||
210 | 206 | ||
211 | void arch_send_call_function_single_ipi(int cpu) | 207 | void arch_send_call_function_single_ipi(int cpu) |
212 | { | 208 | { |
213 | send_ipi(cpumask_of(cpu), BFIN_IPI_CALL_FUNC_SINGLE); | 209 | send_ipi(cpumask_of(cpu), BFIN_IPI_CALL_FUNC); |
214 | } | 210 | } |
215 | 211 | ||
216 | void arch_send_call_function_ipi_mask(const struct cpumask *mask) | 212 | void arch_send_call_function_ipi_mask(const struct cpumask *mask) |