diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-10-13 03:31:28 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-10-13 03:31:34 -0400 |
commit | 9dbdd6c41c12fb42ee7188eafa7e1917b192af3a (patch) | |
tree | 06a9eb894bc976c5c20e84ccd74fd82b9b71aed4 /arch | |
parent | 7a693d3f0d10f978ebdf3082c41404ab97106567 (diff) | |
parent | 161291396e76e0832c08f617eb9bd364d1648148 (diff) |
Merge commit 'v2.6.32-rc4' into perf/core
Merge reason: we were on an -rc1 base, merge up to -rc4.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
470 files changed, 4010 insertions, 5747 deletions
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index ef12794c3c68..8ba7044c554d 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c | |||
@@ -1032,6 +1032,7 @@ unsigned int sa1111_pll_clock(struct sa1111_dev *sadev) | |||
1032 | 1032 | ||
1033 | return __sa1111_pll_clock(sachip); | 1033 | return __sa1111_pll_clock(sachip); |
1034 | } | 1034 | } |
1035 | EXPORT_SYMBOL(sa1111_pll_clock); | ||
1035 | 1036 | ||
1036 | /** | 1037 | /** |
1037 | * sa1111_select_audio_mode - select I2S or AC link mode | 1038 | * sa1111_select_audio_mode - select I2S or AC link mode |
@@ -1059,6 +1060,7 @@ void sa1111_select_audio_mode(struct sa1111_dev *sadev, int mode) | |||
1059 | 1060 | ||
1060 | spin_unlock_irqrestore(&sachip->lock, flags); | 1061 | spin_unlock_irqrestore(&sachip->lock, flags); |
1061 | } | 1062 | } |
1063 | EXPORT_SYMBOL(sa1111_select_audio_mode); | ||
1062 | 1064 | ||
1063 | /** | 1065 | /** |
1064 | * sa1111_set_audio_rate - set the audio sample rate | 1066 | * sa1111_set_audio_rate - set the audio sample rate |
@@ -1083,6 +1085,7 @@ int sa1111_set_audio_rate(struct sa1111_dev *sadev, int rate) | |||
1083 | 1085 | ||
1084 | return 0; | 1086 | return 0; |
1085 | } | 1087 | } |
1088 | EXPORT_SYMBOL(sa1111_set_audio_rate); | ||
1086 | 1089 | ||
1087 | /** | 1090 | /** |
1088 | * sa1111_get_audio_rate - get the audio sample rate | 1091 | * sa1111_get_audio_rate - get the audio sample rate |
@@ -1100,6 +1103,7 @@ int sa1111_get_audio_rate(struct sa1111_dev *sadev) | |||
1100 | 1103 | ||
1101 | return __sa1111_pll_clock(sachip) / (256 * div); | 1104 | return __sa1111_pll_clock(sachip) / (256 * div); |
1102 | } | 1105 | } |
1106 | EXPORT_SYMBOL(sa1111_get_audio_rate); | ||
1103 | 1107 | ||
1104 | void sa1111_set_io_dir(struct sa1111_dev *sadev, | 1108 | void sa1111_set_io_dir(struct sa1111_dev *sadev, |
1105 | unsigned int bits, unsigned int dir, | 1109 | unsigned int bits, unsigned int dir, |
@@ -1128,6 +1132,7 @@ void sa1111_set_io_dir(struct sa1111_dev *sadev, | |||
1128 | MODIFY_BITS(gpio + SA1111_GPIO_PCSDR, (bits >> 16) & 255, sleep_dir >> 16); | 1132 | MODIFY_BITS(gpio + SA1111_GPIO_PCSDR, (bits >> 16) & 255, sleep_dir >> 16); |
1129 | spin_unlock_irqrestore(&sachip->lock, flags); | 1133 | spin_unlock_irqrestore(&sachip->lock, flags); |
1130 | } | 1134 | } |
1135 | EXPORT_SYMBOL(sa1111_set_io_dir); | ||
1131 | 1136 | ||
1132 | void sa1111_set_io(struct sa1111_dev *sadev, unsigned int bits, unsigned int v) | 1137 | void sa1111_set_io(struct sa1111_dev *sadev, unsigned int bits, unsigned int v) |
1133 | { | 1138 | { |
@@ -1142,6 +1147,7 @@ void sa1111_set_io(struct sa1111_dev *sadev, unsigned int bits, unsigned int v) | |||
1142 | MODIFY_BITS(gpio + SA1111_GPIO_PCDWR, (bits >> 16) & 255, v >> 16); | 1147 | MODIFY_BITS(gpio + SA1111_GPIO_PCDWR, (bits >> 16) & 255, v >> 16); |
1143 | spin_unlock_irqrestore(&sachip->lock, flags); | 1148 | spin_unlock_irqrestore(&sachip->lock, flags); |
1144 | } | 1149 | } |
1150 | EXPORT_SYMBOL(sa1111_set_io); | ||
1145 | 1151 | ||
1146 | void sa1111_set_sleep_io(struct sa1111_dev *sadev, unsigned int bits, unsigned int v) | 1152 | void sa1111_set_sleep_io(struct sa1111_dev *sadev, unsigned int bits, unsigned int v) |
1147 | { | 1153 | { |
@@ -1156,6 +1162,7 @@ void sa1111_set_sleep_io(struct sa1111_dev *sadev, unsigned int bits, unsigned i | |||
1156 | MODIFY_BITS(gpio + SA1111_GPIO_PCSSR, (bits >> 16) & 255, v >> 16); | 1162 | MODIFY_BITS(gpio + SA1111_GPIO_PCSSR, (bits >> 16) & 255, v >> 16); |
1157 | spin_unlock_irqrestore(&sachip->lock, flags); | 1163 | spin_unlock_irqrestore(&sachip->lock, flags); |
1158 | } | 1164 | } |
1165 | EXPORT_SYMBOL(sa1111_set_sleep_io); | ||
1159 | 1166 | ||
1160 | /* | 1167 | /* |
1161 | * Individual device operations. | 1168 | * Individual device operations. |
@@ -1176,6 +1183,7 @@ void sa1111_enable_device(struct sa1111_dev *sadev) | |||
1176 | sa1111_writel(val | sadev->skpcr_mask, sachip->base + SA1111_SKPCR); | 1183 | sa1111_writel(val | sadev->skpcr_mask, sachip->base + SA1111_SKPCR); |
1177 | spin_unlock_irqrestore(&sachip->lock, flags); | 1184 | spin_unlock_irqrestore(&sachip->lock, flags); |
1178 | } | 1185 | } |
1186 | EXPORT_SYMBOL(sa1111_enable_device); | ||
1179 | 1187 | ||
1180 | /** | 1188 | /** |
1181 | * sa1111_disable_device - disable an on-chip SA1111 function block | 1189 | * sa1111_disable_device - disable an on-chip SA1111 function block |
@@ -1192,6 +1200,7 @@ void sa1111_disable_device(struct sa1111_dev *sadev) | |||
1192 | sa1111_writel(val & ~sadev->skpcr_mask, sachip->base + SA1111_SKPCR); | 1200 | sa1111_writel(val & ~sadev->skpcr_mask, sachip->base + SA1111_SKPCR); |
1193 | spin_unlock_irqrestore(&sachip->lock, flags); | 1201 | spin_unlock_irqrestore(&sachip->lock, flags); |
1194 | } | 1202 | } |
1203 | EXPORT_SYMBOL(sa1111_disable_device); | ||
1195 | 1204 | ||
1196 | /* | 1205 | /* |
1197 | * SA1111 "Register Access Bus." | 1206 | * SA1111 "Register Access Bus." |
@@ -1259,17 +1268,20 @@ struct bus_type sa1111_bus_type = { | |||
1259 | .suspend = sa1111_bus_suspend, | 1268 | .suspend = sa1111_bus_suspend, |
1260 | .resume = sa1111_bus_resume, | 1269 | .resume = sa1111_bus_resume, |
1261 | }; | 1270 | }; |
1271 | EXPORT_SYMBOL(sa1111_bus_type); | ||
1262 | 1272 | ||
1263 | int sa1111_driver_register(struct sa1111_driver *driver) | 1273 | int sa1111_driver_register(struct sa1111_driver *driver) |
1264 | { | 1274 | { |
1265 | driver->drv.bus = &sa1111_bus_type; | 1275 | driver->drv.bus = &sa1111_bus_type; |
1266 | return driver_register(&driver->drv); | 1276 | return driver_register(&driver->drv); |
1267 | } | 1277 | } |
1278 | EXPORT_SYMBOL(sa1111_driver_register); | ||
1268 | 1279 | ||
1269 | void sa1111_driver_unregister(struct sa1111_driver *driver) | 1280 | void sa1111_driver_unregister(struct sa1111_driver *driver) |
1270 | { | 1281 | { |
1271 | driver_unregister(&driver->drv); | 1282 | driver_unregister(&driver->drv); |
1272 | } | 1283 | } |
1284 | EXPORT_SYMBOL(sa1111_driver_unregister); | ||
1273 | 1285 | ||
1274 | static int __init sa1111_init(void) | 1286 | static int __init sa1111_init(void) |
1275 | { | 1287 | { |
@@ -1290,16 +1302,3 @@ module_exit(sa1111_exit); | |||
1290 | 1302 | ||
1291 | MODULE_DESCRIPTION("Intel Corporation SA1111 core driver"); | 1303 | MODULE_DESCRIPTION("Intel Corporation SA1111 core driver"); |
1292 | MODULE_LICENSE("GPL"); | 1304 | MODULE_LICENSE("GPL"); |
1293 | |||
1294 | EXPORT_SYMBOL(sa1111_select_audio_mode); | ||
1295 | EXPORT_SYMBOL(sa1111_set_audio_rate); | ||
1296 | EXPORT_SYMBOL(sa1111_get_audio_rate); | ||
1297 | EXPORT_SYMBOL(sa1111_set_io_dir); | ||
1298 | EXPORT_SYMBOL(sa1111_set_io); | ||
1299 | EXPORT_SYMBOL(sa1111_set_sleep_io); | ||
1300 | EXPORT_SYMBOL(sa1111_enable_device); | ||
1301 | EXPORT_SYMBOL(sa1111_disable_device); | ||
1302 | EXPORT_SYMBOL(sa1111_pll_clock); | ||
1303 | EXPORT_SYMBOL(sa1111_bus_type); | ||
1304 | EXPORT_SYMBOL(sa1111_driver_register); | ||
1305 | EXPORT_SYMBOL(sa1111_driver_unregister); | ||
diff --git a/arch/arm/configs/h3600_defconfig b/arch/arm/configs/h3600_defconfig index 1502957db2c3..f6aed7747d4d 100644 --- a/arch/arm/configs/h3600_defconfig +++ b/arch/arm/configs/h3600_defconfig | |||
@@ -90,7 +90,6 @@ CONFIG_ARCH_SA1100=y | |||
90 | # CONFIG_SA1100_COLLIE is not set | 90 | # CONFIG_SA1100_COLLIE is not set |
91 | # CONFIG_SA1100_H3100 is not set | 91 | # CONFIG_SA1100_H3100 is not set |
92 | CONFIG_SA1100_H3600=y | 92 | CONFIG_SA1100_H3600=y |
93 | CONFIG_SA1100_H3XXX=y | ||
94 | # CONFIG_SA1100_BADGE4 is not set | 93 | # CONFIG_SA1100_BADGE4 is not set |
95 | # CONFIG_SA1100_JORNADA720 is not set | 94 | # CONFIG_SA1100_JORNADA720 is not set |
96 | # CONFIG_SA1100_HACKKIT is not set | 95 | # CONFIG_SA1100_HACKKIT is not set |
diff --git a/arch/arm/configs/iop33x_defconfig b/arch/arm/configs/iop33x_defconfig index eec488298267..ed2d59d01829 100644 --- a/arch/arm/configs/iop33x_defconfig +++ b/arch/arm/configs/iop33x_defconfig | |||
@@ -1,29 +1,26 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.24-rc5 | 3 | # Linux kernel version: 2.6.31-rc6 |
4 | # Wed Dec 12 16:11:27 2007 | 4 | # Tue Aug 18 13:41:41 2009 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
8 | # CONFIG_GENERIC_GPIO is not set | 8 | CONFIG_GENERIC_GPIO=y |
9 | # CONFIG_GENERIC_TIME is not set | ||
10 | # CONFIG_GENERIC_CLOCKEVENTS is not set | ||
11 | CONFIG_MMU=y | 9 | CONFIG_MMU=y |
12 | # CONFIG_NO_IOPORT is not set | ||
13 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
14 | CONFIG_STACKTRACE_SUPPORT=y | 11 | CONFIG_STACKTRACE_SUPPORT=y |
12 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
15 | CONFIG_LOCKDEP_SUPPORT=y | 13 | CONFIG_LOCKDEP_SUPPORT=y |
16 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | 14 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y |
17 | CONFIG_HARDIRQS_SW_RESEND=y | 15 | CONFIG_HARDIRQS_SW_RESEND=y |
18 | CONFIG_GENERIC_IRQ_PROBE=y | 16 | CONFIG_GENERIC_IRQ_PROBE=y |
19 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 17 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
20 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
21 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
22 | CONFIG_GENERIC_HWEIGHT=y | 18 | CONFIG_GENERIC_HWEIGHT=y |
23 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
24 | CONFIG_ZONE_DMA=y | 20 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
25 | CONFIG_VECTORS_BASE=0xffff0000 | 21 | CONFIG_VECTORS_BASE=0xffff0000 |
26 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 22 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
23 | CONFIG_CONSTRUCTORS=y | ||
27 | 24 | ||
28 | # | 25 | # |
29 | # General setup | 26 | # General setup |
@@ -40,21 +37,39 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
40 | CONFIG_BSD_PROCESS_ACCT=y | 37 | CONFIG_BSD_PROCESS_ACCT=y |
41 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 38 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set |
42 | # CONFIG_TASKSTATS is not set | 39 | # CONFIG_TASKSTATS is not set |
43 | # CONFIG_USER_NS is not set | ||
44 | # CONFIG_PID_NS is not set | ||
45 | # CONFIG_AUDIT is not set | 40 | # CONFIG_AUDIT is not set |
41 | |||
42 | # | ||
43 | # RCU Subsystem | ||
44 | # | ||
45 | # CONFIG_CLASSIC_RCU is not set | ||
46 | CONFIG_TREE_RCU=y | ||
47 | # CONFIG_PREEMPT_RCU is not set | ||
48 | # CONFIG_RCU_TRACE is not set | ||
49 | CONFIG_RCU_FANOUT=32 | ||
50 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
51 | # CONFIG_TREE_RCU_TRACE is not set | ||
52 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
46 | # CONFIG_IKCONFIG is not set | 53 | # CONFIG_IKCONFIG is not set |
47 | CONFIG_LOG_BUF_SHIFT=14 | 54 | CONFIG_LOG_BUF_SHIFT=14 |
55 | # CONFIG_GROUP_SCHED is not set | ||
48 | # CONFIG_CGROUPS is not set | 56 | # CONFIG_CGROUPS is not set |
49 | CONFIG_FAIR_GROUP_SCHED=y | 57 | # CONFIG_SYSFS_DEPRECATED_V2 is not set |
50 | CONFIG_FAIR_USER_SCHED=y | ||
51 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
52 | CONFIG_SYSFS_DEPRECATED=y | ||
53 | # CONFIG_RELAY is not set | 58 | # CONFIG_RELAY is not set |
59 | CONFIG_NAMESPACES=y | ||
60 | # CONFIG_UTS_NS is not set | ||
61 | # CONFIG_IPC_NS is not set | ||
62 | # CONFIG_USER_NS is not set | ||
63 | # CONFIG_PID_NS is not set | ||
64 | # CONFIG_NET_NS is not set | ||
54 | CONFIG_BLK_DEV_INITRD=y | 65 | CONFIG_BLK_DEV_INITRD=y |
55 | CONFIG_INITRAMFS_SOURCE="" | 66 | CONFIG_INITRAMFS_SOURCE="" |
67 | CONFIG_RD_GZIP=y | ||
68 | CONFIG_RD_BZIP2=y | ||
69 | CONFIG_RD_LZMA=y | ||
56 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 70 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
57 | CONFIG_SYSCTL=y | 71 | CONFIG_SYSCTL=y |
72 | CONFIG_ANON_INODES=y | ||
58 | # CONFIG_EMBEDDED is not set | 73 | # CONFIG_EMBEDDED is not set |
59 | CONFIG_UID16=y | 74 | CONFIG_UID16=y |
60 | CONFIG_SYSCTL_SYSCALL=y | 75 | CONFIG_SYSCTL_SYSCALL=y |
@@ -67,29 +82,48 @@ CONFIG_BUG=y | |||
67 | CONFIG_ELF_CORE=y | 82 | CONFIG_ELF_CORE=y |
68 | CONFIG_BASE_FULL=y | 83 | CONFIG_BASE_FULL=y |
69 | CONFIG_FUTEX=y | 84 | CONFIG_FUTEX=y |
70 | CONFIG_ANON_INODES=y | ||
71 | CONFIG_EPOLL=y | 85 | CONFIG_EPOLL=y |
72 | CONFIG_SIGNALFD=y | 86 | CONFIG_SIGNALFD=y |
87 | CONFIG_TIMERFD=y | ||
73 | CONFIG_EVENTFD=y | 88 | CONFIG_EVENTFD=y |
74 | CONFIG_SHMEM=y | 89 | CONFIG_SHMEM=y |
90 | CONFIG_AIO=y | ||
91 | |||
92 | # | ||
93 | # Performance Counters | ||
94 | # | ||
75 | CONFIG_VM_EVENT_COUNTERS=y | 95 | CONFIG_VM_EVENT_COUNTERS=y |
96 | CONFIG_PCI_QUIRKS=y | ||
97 | # CONFIG_STRIP_ASM_SYMS is not set | ||
98 | CONFIG_COMPAT_BRK=y | ||
76 | CONFIG_SLAB=y | 99 | CONFIG_SLAB=y |
77 | # CONFIG_SLUB is not set | 100 | # CONFIG_SLUB is not set |
78 | # CONFIG_SLOB is not set | 101 | # CONFIG_SLOB is not set |
102 | # CONFIG_PROFILING is not set | ||
103 | # CONFIG_MARKERS is not set | ||
104 | CONFIG_HAVE_OPROFILE=y | ||
105 | # CONFIG_KPROBES is not set | ||
106 | CONFIG_HAVE_KPROBES=y | ||
107 | CONFIG_HAVE_KRETPROBES=y | ||
108 | |||
109 | # | ||
110 | # GCOV-based kernel profiling | ||
111 | # | ||
112 | # CONFIG_SLOW_WORK is not set | ||
113 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
114 | CONFIG_SLABINFO=y | ||
79 | CONFIG_RT_MUTEXES=y | 115 | CONFIG_RT_MUTEXES=y |
80 | # CONFIG_TINY_SHMEM is not set | ||
81 | CONFIG_BASE_SMALL=0 | 116 | CONFIG_BASE_SMALL=0 |
82 | CONFIG_MODULES=y | 117 | CONFIG_MODULES=y |
118 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
83 | CONFIG_MODULE_UNLOAD=y | 119 | CONFIG_MODULE_UNLOAD=y |
84 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 120 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
85 | # CONFIG_MODVERSIONS is not set | 121 | # CONFIG_MODVERSIONS is not set |
86 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 122 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
87 | CONFIG_KMOD=y | ||
88 | CONFIG_BLOCK=y | 123 | CONFIG_BLOCK=y |
89 | # CONFIG_LBD is not set | 124 | CONFIG_LBDAF=y |
90 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
91 | # CONFIG_LSF is not set | ||
92 | # CONFIG_BLK_DEV_BSG is not set | 125 | # CONFIG_BLK_DEV_BSG is not set |
126 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
93 | 127 | ||
94 | # | 128 | # |
95 | # IO Schedulers | 129 | # IO Schedulers |
@@ -103,6 +137,7 @@ CONFIG_IOSCHED_CFQ=y | |||
103 | CONFIG_DEFAULT_CFQ=y | 137 | CONFIG_DEFAULT_CFQ=y |
104 | # CONFIG_DEFAULT_NOOP is not set | 138 | # CONFIG_DEFAULT_NOOP is not set |
105 | CONFIG_DEFAULT_IOSCHED="cfq" | 139 | CONFIG_DEFAULT_IOSCHED="cfq" |
140 | # CONFIG_FREEZER is not set | ||
106 | 141 | ||
107 | # | 142 | # |
108 | # System Type | 143 | # System Type |
@@ -112,15 +147,15 @@ CONFIG_DEFAULT_IOSCHED="cfq" | |||
112 | # CONFIG_ARCH_REALVIEW is not set | 147 | # CONFIG_ARCH_REALVIEW is not set |
113 | # CONFIG_ARCH_VERSATILE is not set | 148 | # CONFIG_ARCH_VERSATILE is not set |
114 | # CONFIG_ARCH_AT91 is not set | 149 | # CONFIG_ARCH_AT91 is not set |
115 | # CONFIG_ARCH_CLPS7500 is not set | ||
116 | # CONFIG_ARCH_CLPS711X is not set | 150 | # CONFIG_ARCH_CLPS711X is not set |
117 | # CONFIG_ARCH_CO285 is not set | 151 | # CONFIG_ARCH_GEMINI is not set |
118 | # CONFIG_ARCH_EBSA110 is not set | 152 | # CONFIG_ARCH_EBSA110 is not set |
119 | # CONFIG_ARCH_EP93XX is not set | 153 | # CONFIG_ARCH_EP93XX is not set |
120 | # CONFIG_ARCH_FOOTBRIDGE is not set | 154 | # CONFIG_ARCH_FOOTBRIDGE is not set |
155 | # CONFIG_ARCH_MXC is not set | ||
156 | # CONFIG_ARCH_STMP3XXX is not set | ||
121 | # CONFIG_ARCH_NETX is not set | 157 | # CONFIG_ARCH_NETX is not set |
122 | # CONFIG_ARCH_H720X is not set | 158 | # CONFIG_ARCH_H720X is not set |
123 | # CONFIG_ARCH_IMX is not set | ||
124 | # CONFIG_ARCH_IOP13XX is not set | 159 | # CONFIG_ARCH_IOP13XX is not set |
125 | # CONFIG_ARCH_IOP32X is not set | 160 | # CONFIG_ARCH_IOP32X is not set |
126 | CONFIG_ARCH_IOP33X=y | 161 | CONFIG_ARCH_IOP33X=y |
@@ -128,19 +163,26 @@ CONFIG_ARCH_IOP33X=y | |||
128 | # CONFIG_ARCH_IXP2000 is not set | 163 | # CONFIG_ARCH_IXP2000 is not set |
129 | # CONFIG_ARCH_IXP4XX is not set | 164 | # CONFIG_ARCH_IXP4XX is not set |
130 | # CONFIG_ARCH_L7200 is not set | 165 | # CONFIG_ARCH_L7200 is not set |
166 | # CONFIG_ARCH_KIRKWOOD is not set | ||
167 | # CONFIG_ARCH_LOKI is not set | ||
168 | # CONFIG_ARCH_MV78XX0 is not set | ||
169 | # CONFIG_ARCH_ORION5X is not set | ||
170 | # CONFIG_ARCH_MMP is not set | ||
131 | # CONFIG_ARCH_KS8695 is not set | 171 | # CONFIG_ARCH_KS8695 is not set |
132 | # CONFIG_ARCH_NS9XXX is not set | 172 | # CONFIG_ARCH_NS9XXX is not set |
133 | # CONFIG_ARCH_MXC is not set | 173 | # CONFIG_ARCH_W90X900 is not set |
134 | # CONFIG_ARCH_PNX4008 is not set | 174 | # CONFIG_ARCH_PNX4008 is not set |
135 | # CONFIG_ARCH_PXA is not set | 175 | # CONFIG_ARCH_PXA is not set |
176 | # CONFIG_ARCH_MSM is not set | ||
136 | # CONFIG_ARCH_RPC is not set | 177 | # CONFIG_ARCH_RPC is not set |
137 | # CONFIG_ARCH_SA1100 is not set | 178 | # CONFIG_ARCH_SA1100 is not set |
138 | # CONFIG_ARCH_S3C2410 is not set | 179 | # CONFIG_ARCH_S3C2410 is not set |
180 | # CONFIG_ARCH_S3C64XX is not set | ||
139 | # CONFIG_ARCH_SHARK is not set | 181 | # CONFIG_ARCH_SHARK is not set |
140 | # CONFIG_ARCH_LH7A40X is not set | 182 | # CONFIG_ARCH_LH7A40X is not set |
183 | # CONFIG_ARCH_U300 is not set | ||
141 | # CONFIG_ARCH_DAVINCI is not set | 184 | # CONFIG_ARCH_DAVINCI is not set |
142 | # CONFIG_ARCH_OMAP is not set | 185 | # CONFIG_ARCH_OMAP is not set |
143 | CONFIG_IOP3XX_ATU=y | ||
144 | 186 | ||
145 | # | 187 | # |
146 | # IOP33x Implementation Options | 188 | # IOP33x Implementation Options |
@@ -151,14 +193,6 @@ CONFIG_IOP3XX_ATU=y | |||
151 | # | 193 | # |
152 | CONFIG_ARCH_IQ80331=y | 194 | CONFIG_ARCH_IQ80331=y |
153 | CONFIG_MACH_IQ80332=y | 195 | CONFIG_MACH_IQ80332=y |
154 | |||
155 | # | ||
156 | # Boot options | ||
157 | # | ||
158 | |||
159 | # | ||
160 | # Power management | ||
161 | # | ||
162 | CONFIG_PLAT_IOP=y | 196 | CONFIG_PLAT_IOP=y |
163 | 197 | ||
164 | # | 198 | # |
@@ -168,6 +202,7 @@ CONFIG_CPU_32=y | |||
168 | CONFIG_CPU_XSCALE=y | 202 | CONFIG_CPU_XSCALE=y |
169 | CONFIG_CPU_32v5=y | 203 | CONFIG_CPU_32v5=y |
170 | CONFIG_CPU_ABRT_EV5T=y | 204 | CONFIG_CPU_ABRT_EV5T=y |
205 | CONFIG_CPU_PABRT_NOIFAR=y | ||
171 | CONFIG_CPU_CACHE_VIVT=y | 206 | CONFIG_CPU_CACHE_VIVT=y |
172 | CONFIG_CPU_TLB_V4WBI=y | 207 | CONFIG_CPU_TLB_V4WBI=y |
173 | CONFIG_CPU_CP15=y | 208 | CONFIG_CPU_CP15=y |
@@ -178,7 +213,6 @@ CONFIG_CPU_CP15_MMU=y | |||
178 | # | 213 | # |
179 | # CONFIG_ARM_THUMB is not set | 214 | # CONFIG_ARM_THUMB is not set |
180 | # CONFIG_CPU_DCACHE_DISABLE is not set | 215 | # CONFIG_CPU_DCACHE_DISABLE is not set |
181 | # CONFIG_OUTER_CACHE is not set | ||
182 | # CONFIG_IWMMXT is not set | 216 | # CONFIG_IWMMXT is not set |
183 | CONFIG_XSCALE_PMU=y | 217 | CONFIG_XSCALE_PMU=y |
184 | 218 | ||
@@ -190,41 +224,55 @@ CONFIG_PCI_SYSCALL=y | |||
190 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 224 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
191 | CONFIG_PCI_LEGACY=y | 225 | CONFIG_PCI_LEGACY=y |
192 | # CONFIG_PCI_DEBUG is not set | 226 | # CONFIG_PCI_DEBUG is not set |
227 | # CONFIG_PCI_STUB is not set | ||
228 | # CONFIG_PCI_IOV is not set | ||
193 | # CONFIG_PCCARD is not set | 229 | # CONFIG_PCCARD is not set |
194 | 230 | ||
195 | # | 231 | # |
196 | # Kernel Features | 232 | # Kernel Features |
197 | # | 233 | # |
198 | # CONFIG_TICK_ONESHOT is not set | 234 | CONFIG_VMSPLIT_3G=y |
235 | # CONFIG_VMSPLIT_2G is not set | ||
236 | # CONFIG_VMSPLIT_1G is not set | ||
237 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
199 | # CONFIG_PREEMPT is not set | 238 | # CONFIG_PREEMPT is not set |
200 | CONFIG_HZ=100 | 239 | CONFIG_HZ=100 |
201 | # CONFIG_AEABI is not set | 240 | # CONFIG_AEABI is not set |
202 | # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | 241 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set |
242 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
243 | # CONFIG_HIGHMEM is not set | ||
203 | CONFIG_SELECT_MEMORY_MODEL=y | 244 | CONFIG_SELECT_MEMORY_MODEL=y |
204 | CONFIG_FLATMEM_MANUAL=y | 245 | CONFIG_FLATMEM_MANUAL=y |
205 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 246 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
206 | # CONFIG_SPARSEMEM_MANUAL is not set | 247 | # CONFIG_SPARSEMEM_MANUAL is not set |
207 | CONFIG_FLATMEM=y | 248 | CONFIG_FLATMEM=y |
208 | CONFIG_FLAT_NODE_MEM_MAP=y | 249 | CONFIG_FLAT_NODE_MEM_MAP=y |
209 | # CONFIG_SPARSEMEM_STATIC is not set | 250 | CONFIG_PAGEFLAGS_EXTENDED=y |
210 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
211 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 251 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
212 | # CONFIG_RESOURCES_64BIT is not set | 252 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
213 | CONFIG_ZONE_DMA_FLAG=1 | 253 | CONFIG_ZONE_DMA_FLAG=0 |
214 | CONFIG_BOUNCE=y | ||
215 | CONFIG_VIRT_TO_BUS=y | 254 | CONFIG_VIRT_TO_BUS=y |
255 | CONFIG_HAVE_MLOCK=y | ||
256 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
257 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
216 | CONFIG_ALIGNMENT_TRAP=y | 258 | CONFIG_ALIGNMENT_TRAP=y |
259 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
217 | 260 | ||
218 | # | 261 | # |
219 | # Boot options | 262 | # Boot options |
220 | # | 263 | # |
221 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 264 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
222 | CONFIG_ZBOOT_ROM_BSS=0x0 | 265 | CONFIG_ZBOOT_ROM_BSS=0x0 |
223 | CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp cachepolicy=writealloc" | 266 | CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp cachepolicy=writealloc iop3xx_init_atu=y" |
224 | # CONFIG_XIP_KERNEL is not set | 267 | # CONFIG_XIP_KERNEL is not set |
225 | # CONFIG_KEXEC is not set | 268 | # CONFIG_KEXEC is not set |
226 | 269 | ||
227 | # | 270 | # |
271 | # CPU Power Management | ||
272 | # | ||
273 | # CONFIG_CPU_IDLE is not set | ||
274 | |||
275 | # | ||
228 | # Floating point emulation | 276 | # Floating point emulation |
229 | # | 277 | # |
230 | 278 | ||
@@ -239,6 +287,8 @@ CONFIG_FPE_NWFPE=y | |||
239 | # Userspace binary formats | 287 | # Userspace binary formats |
240 | # | 288 | # |
241 | CONFIG_BINFMT_ELF=y | 289 | CONFIG_BINFMT_ELF=y |
290 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
291 | CONFIG_HAVE_AOUT=y | ||
242 | CONFIG_BINFMT_AOUT=y | 292 | CONFIG_BINFMT_AOUT=y |
243 | # CONFIG_BINFMT_MISC is not set | 293 | # CONFIG_BINFMT_MISC is not set |
244 | # CONFIG_ARTHUR is not set | 294 | # CONFIG_ARTHUR is not set |
@@ -247,11 +297,7 @@ CONFIG_BINFMT_AOUT=y | |||
247 | # Power management options | 297 | # Power management options |
248 | # | 298 | # |
249 | # CONFIG_PM is not set | 299 | # CONFIG_PM is not set |
250 | CONFIG_SUSPEND_UP_POSSIBLE=y | 300 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
251 | |||
252 | # | ||
253 | # Networking | ||
254 | # | ||
255 | CONFIG_NET=y | 301 | CONFIG_NET=y |
256 | 302 | ||
257 | # | 303 | # |
@@ -264,6 +310,7 @@ CONFIG_XFRM=y | |||
264 | # CONFIG_XFRM_USER is not set | 310 | # CONFIG_XFRM_USER is not set |
265 | # CONFIG_XFRM_SUB_POLICY is not set | 311 | # CONFIG_XFRM_SUB_POLICY is not set |
266 | # CONFIG_XFRM_MIGRATE is not set | 312 | # CONFIG_XFRM_MIGRATE is not set |
313 | # CONFIG_XFRM_STATISTICS is not set | ||
267 | # CONFIG_NET_KEY is not set | 314 | # CONFIG_NET_KEY is not set |
268 | CONFIG_INET=y | 315 | CONFIG_INET=y |
269 | CONFIG_IP_MULTICAST=y | 316 | CONFIG_IP_MULTICAST=y |
@@ -310,6 +357,7 @@ CONFIG_IPV6=y | |||
310 | # CONFIG_IPV6_SIT is not set | 357 | # CONFIG_IPV6_SIT is not set |
311 | # CONFIG_IPV6_TUNNEL is not set | 358 | # CONFIG_IPV6_TUNNEL is not set |
312 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 359 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
360 | # CONFIG_IPV6_MROUTE is not set | ||
313 | # CONFIG_NETWORK_SECMARK is not set | 361 | # CONFIG_NETWORK_SECMARK is not set |
314 | # CONFIG_NETFILTER is not set | 362 | # CONFIG_NETFILTER is not set |
315 | # CONFIG_IP_DCCP is not set | 363 | # CONFIG_IP_DCCP is not set |
@@ -317,6 +365,7 @@ CONFIG_IPV6=y | |||
317 | # CONFIG_TIPC is not set | 365 | # CONFIG_TIPC is not set |
318 | # CONFIG_ATM is not set | 366 | # CONFIG_ATM is not set |
319 | # CONFIG_BRIDGE is not set | 367 | # CONFIG_BRIDGE is not set |
368 | # CONFIG_NET_DSA is not set | ||
320 | # CONFIG_VLAN_8021Q is not set | 369 | # CONFIG_VLAN_8021Q is not set |
321 | # CONFIG_DECNET is not set | 370 | # CONFIG_DECNET is not set |
322 | # CONFIG_LLC2 is not set | 371 | # CONFIG_LLC2 is not set |
@@ -326,24 +375,31 @@ CONFIG_IPV6=y | |||
326 | # CONFIG_LAPB is not set | 375 | # CONFIG_LAPB is not set |
327 | # CONFIG_ECONET is not set | 376 | # CONFIG_ECONET is not set |
328 | # CONFIG_WAN_ROUTER is not set | 377 | # CONFIG_WAN_ROUTER is not set |
378 | # CONFIG_PHONET is not set | ||
379 | # CONFIG_IEEE802154 is not set | ||
329 | # CONFIG_NET_SCHED is not set | 380 | # CONFIG_NET_SCHED is not set |
381 | # CONFIG_DCB is not set | ||
330 | 382 | ||
331 | # | 383 | # |
332 | # Network testing | 384 | # Network testing |
333 | # | 385 | # |
334 | # CONFIG_NET_PKTGEN is not set | 386 | # CONFIG_NET_PKTGEN is not set |
335 | # CONFIG_HAMRADIO is not set | 387 | # CONFIG_HAMRADIO is not set |
388 | # CONFIG_CAN is not set | ||
336 | # CONFIG_IRDA is not set | 389 | # CONFIG_IRDA is not set |
337 | # CONFIG_BT is not set | 390 | # CONFIG_BT is not set |
338 | # CONFIG_AF_RXRPC is not set | 391 | # CONFIG_AF_RXRPC is not set |
392 | CONFIG_WIRELESS=y | ||
393 | # CONFIG_CFG80211 is not set | ||
394 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
395 | # CONFIG_WIRELESS_EXT is not set | ||
396 | # CONFIG_LIB80211 is not set | ||
339 | 397 | ||
340 | # | 398 | # |
341 | # Wireless | 399 | # CFG80211 needs to be enabled for MAC80211 |
342 | # | 400 | # |
343 | # CONFIG_CFG80211 is not set | 401 | CONFIG_MAC80211_DEFAULT_PS_VALUE=0 |
344 | # CONFIG_WIRELESS_EXT is not set | 402 | # CONFIG_WIMAX is not set |
345 | # CONFIG_MAC80211 is not set | ||
346 | # CONFIG_IEEE80211 is not set | ||
347 | # CONFIG_RFKILL is not set | 403 | # CONFIG_RFKILL is not set |
348 | # CONFIG_NET_9P is not set | 404 | # CONFIG_NET_9P is not set |
349 | 405 | ||
@@ -357,7 +413,9 @@ CONFIG_IPV6=y | |||
357 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 413 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
358 | CONFIG_STANDALONE=y | 414 | CONFIG_STANDALONE=y |
359 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 415 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
360 | # CONFIG_FW_LOADER is not set | 416 | CONFIG_FW_LOADER=y |
417 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
418 | CONFIG_EXTRA_FIRMWARE="" | ||
361 | # CONFIG_DEBUG_DRIVER is not set | 419 | # CONFIG_DEBUG_DRIVER is not set |
362 | # CONFIG_DEBUG_DEVRES is not set | 420 | # CONFIG_DEBUG_DEVRES is not set |
363 | # CONFIG_SYS_HYPERVISOR is not set | 421 | # CONFIG_SYS_HYPERVISOR is not set |
@@ -366,12 +424,14 @@ CONFIG_MTD=y | |||
366 | # CONFIG_MTD_DEBUG is not set | 424 | # CONFIG_MTD_DEBUG is not set |
367 | # CONFIG_MTD_CONCAT is not set | 425 | # CONFIG_MTD_CONCAT is not set |
368 | CONFIG_MTD_PARTITIONS=y | 426 | CONFIG_MTD_PARTITIONS=y |
427 | # CONFIG_MTD_TESTS is not set | ||
369 | CONFIG_MTD_REDBOOT_PARTS=y | 428 | CONFIG_MTD_REDBOOT_PARTS=y |
370 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | 429 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 |
371 | CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y | 430 | CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y |
372 | CONFIG_MTD_REDBOOT_PARTS_READONLY=y | 431 | CONFIG_MTD_REDBOOT_PARTS_READONLY=y |
373 | # CONFIG_MTD_CMDLINE_PARTS is not set | 432 | # CONFIG_MTD_CMDLINE_PARTS is not set |
374 | # CONFIG_MTD_AFS_PARTS is not set | 433 | # CONFIG_MTD_AFS_PARTS is not set |
434 | # CONFIG_MTD_AR7_PARTS is not set | ||
375 | 435 | ||
376 | # | 436 | # |
377 | # User Modules And Translation Layers | 437 | # User Modules And Translation Layers |
@@ -421,9 +481,7 @@ CONFIG_MTD_CFI_UTIL=y | |||
421 | # | 481 | # |
422 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | 482 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set |
423 | CONFIG_MTD_PHYSMAP=y | 483 | CONFIG_MTD_PHYSMAP=y |
424 | CONFIG_MTD_PHYSMAP_START=0x0 | 484 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
425 | CONFIG_MTD_PHYSMAP_LEN=0x0 | ||
426 | CONFIG_MTD_PHYSMAP_BANKWIDTH=1 | ||
427 | # CONFIG_MTD_ARM_INTEGRATOR is not set | 485 | # CONFIG_MTD_ARM_INTEGRATOR is not set |
428 | # CONFIG_MTD_INTEL_VR_NOR is not set | 486 | # CONFIG_MTD_INTEL_VR_NOR is not set |
429 | # CONFIG_MTD_PLATRAM is not set | 487 | # CONFIG_MTD_PLATRAM is not set |
@@ -447,6 +505,11 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1 | |||
447 | # CONFIG_MTD_ONENAND is not set | 505 | # CONFIG_MTD_ONENAND is not set |
448 | 506 | ||
449 | # | 507 | # |
508 | # LPDDR flash memory drivers | ||
509 | # | ||
510 | # CONFIG_MTD_LPDDR is not set | ||
511 | |||
512 | # | ||
450 | # UBI - Unsorted block images | 513 | # UBI - Unsorted block images |
451 | # | 514 | # |
452 | # CONFIG_MTD_UBI is not set | 515 | # CONFIG_MTD_UBI is not set |
@@ -463,14 +526,29 @@ CONFIG_BLK_DEV_NBD=y | |||
463 | CONFIG_BLK_DEV_RAM=y | 526 | CONFIG_BLK_DEV_RAM=y |
464 | CONFIG_BLK_DEV_RAM_COUNT=16 | 527 | CONFIG_BLK_DEV_RAM_COUNT=16 |
465 | CONFIG_BLK_DEV_RAM_SIZE=8192 | 528 | CONFIG_BLK_DEV_RAM_SIZE=8192 |
466 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 529 | # CONFIG_BLK_DEV_XIP is not set |
467 | # CONFIG_CDROM_PKTCDVD is not set | 530 | # CONFIG_CDROM_PKTCDVD is not set |
468 | # CONFIG_ATA_OVER_ETH is not set | 531 | # CONFIG_ATA_OVER_ETH is not set |
532 | # CONFIG_MG_DISK is not set | ||
469 | CONFIG_MISC_DEVICES=y | 533 | CONFIG_MISC_DEVICES=y |
470 | # CONFIG_PHANTOM is not set | 534 | # CONFIG_PHANTOM is not set |
471 | # CONFIG_EEPROM_93CX6 is not set | ||
472 | # CONFIG_SGI_IOC4 is not set | 535 | # CONFIG_SGI_IOC4 is not set |
473 | # CONFIG_TIFM_CORE is not set | 536 | # CONFIG_TIFM_CORE is not set |
537 | # CONFIG_ICS932S401 is not set | ||
538 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
539 | # CONFIG_HP_ILO is not set | ||
540 | # CONFIG_ISL29003 is not set | ||
541 | # CONFIG_C2PORT is not set | ||
542 | |||
543 | # | ||
544 | # EEPROM support | ||
545 | # | ||
546 | # CONFIG_EEPROM_AT24 is not set | ||
547 | # CONFIG_EEPROM_LEGACY is not set | ||
548 | # CONFIG_EEPROM_MAX6875 is not set | ||
549 | # CONFIG_EEPROM_93CX6 is not set | ||
550 | # CONFIG_CB710_CORE is not set | ||
551 | CONFIG_HAVE_IDE=y | ||
474 | # CONFIG_IDE is not set | 552 | # CONFIG_IDE is not set |
475 | 553 | ||
476 | # | 554 | # |
@@ -492,10 +570,6 @@ CONFIG_BLK_DEV_SD=y | |||
492 | # CONFIG_BLK_DEV_SR is not set | 570 | # CONFIG_BLK_DEV_SR is not set |
493 | CONFIG_CHR_DEV_SG=y | 571 | CONFIG_CHR_DEV_SG=y |
494 | # CONFIG_CHR_DEV_SCH is not set | 572 | # CONFIG_CHR_DEV_SCH is not set |
495 | |||
496 | # | ||
497 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
498 | # | ||
499 | # CONFIG_SCSI_MULTI_LUN is not set | 573 | # CONFIG_SCSI_MULTI_LUN is not set |
500 | # CONFIG_SCSI_CONSTANTS is not set | 574 | # CONFIG_SCSI_CONSTANTS is not set |
501 | # CONFIG_SCSI_LOGGING is not set | 575 | # CONFIG_SCSI_LOGGING is not set |
@@ -512,6 +586,8 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
512 | # CONFIG_SCSI_SRP_ATTRS is not set | 586 | # CONFIG_SCSI_SRP_ATTRS is not set |
513 | CONFIG_SCSI_LOWLEVEL=y | 587 | CONFIG_SCSI_LOWLEVEL=y |
514 | # CONFIG_ISCSI_TCP is not set | 588 | # CONFIG_ISCSI_TCP is not set |
589 | # CONFIG_SCSI_CXGB3_ISCSI is not set | ||
590 | # CONFIG_SCSI_BNX2_ISCSI is not set | ||
515 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 591 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
516 | # CONFIG_SCSI_3W_9XXX is not set | 592 | # CONFIG_SCSI_3W_9XXX is not set |
517 | # CONFIG_SCSI_ACARD is not set | 593 | # CONFIG_SCSI_ACARD is not set |
@@ -520,13 +596,18 @@ CONFIG_SCSI_LOWLEVEL=y | |||
520 | # CONFIG_SCSI_AIC7XXX_OLD is not set | 596 | # CONFIG_SCSI_AIC7XXX_OLD is not set |
521 | # CONFIG_SCSI_AIC79XX is not set | 597 | # CONFIG_SCSI_AIC79XX is not set |
522 | # CONFIG_SCSI_AIC94XX is not set | 598 | # CONFIG_SCSI_AIC94XX is not set |
599 | # CONFIG_SCSI_MVSAS is not set | ||
523 | # CONFIG_SCSI_DPT_I2O is not set | 600 | # CONFIG_SCSI_DPT_I2O is not set |
524 | # CONFIG_SCSI_ADVANSYS is not set | 601 | # CONFIG_SCSI_ADVANSYS is not set |
525 | # CONFIG_SCSI_ARCMSR is not set | 602 | # CONFIG_SCSI_ARCMSR is not set |
526 | # CONFIG_MEGARAID_NEWGEN is not set | 603 | # CONFIG_MEGARAID_NEWGEN is not set |
527 | # CONFIG_MEGARAID_LEGACY is not set | 604 | # CONFIG_MEGARAID_LEGACY is not set |
528 | # CONFIG_MEGARAID_SAS is not set | 605 | # CONFIG_MEGARAID_SAS is not set |
606 | # CONFIG_SCSI_MPT2SAS is not set | ||
529 | # CONFIG_SCSI_HPTIOP is not set | 607 | # CONFIG_SCSI_HPTIOP is not set |
608 | # CONFIG_LIBFC is not set | ||
609 | # CONFIG_LIBFCOE is not set | ||
610 | # CONFIG_FCOE is not set | ||
530 | # CONFIG_SCSI_DMX3191D is not set | 611 | # CONFIG_SCSI_DMX3191D is not set |
531 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 612 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
532 | # CONFIG_SCSI_IPS is not set | 613 | # CONFIG_SCSI_IPS is not set |
@@ -543,15 +624,18 @@ CONFIG_SCSI_LOWLEVEL=y | |||
543 | # CONFIG_SCSI_NSP32 is not set | 624 | # CONFIG_SCSI_NSP32 is not set |
544 | # CONFIG_SCSI_DEBUG is not set | 625 | # CONFIG_SCSI_DEBUG is not set |
545 | # CONFIG_SCSI_SRP is not set | 626 | # CONFIG_SCSI_SRP is not set |
627 | # CONFIG_SCSI_DH is not set | ||
628 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
546 | # CONFIG_ATA is not set | 629 | # CONFIG_ATA is not set |
547 | CONFIG_MD=y | 630 | CONFIG_MD=y |
548 | CONFIG_BLK_DEV_MD=y | 631 | CONFIG_BLK_DEV_MD=y |
632 | CONFIG_MD_AUTODETECT=y | ||
549 | CONFIG_MD_LINEAR=y | 633 | CONFIG_MD_LINEAR=y |
550 | CONFIG_MD_RAID0=y | 634 | CONFIG_MD_RAID0=y |
551 | CONFIG_MD_RAID1=y | 635 | CONFIG_MD_RAID1=y |
552 | # CONFIG_MD_RAID10 is not set | 636 | # CONFIG_MD_RAID10 is not set |
553 | CONFIG_MD_RAID456=y | 637 | CONFIG_MD_RAID456=y |
554 | # CONFIG_MD_RAID5_RESHAPE is not set | 638 | CONFIG_MD_RAID6_PQ=y |
555 | # CONFIG_MD_MULTIPATH is not set | 639 | # CONFIG_MD_MULTIPATH is not set |
556 | # CONFIG_MD_FAULTY is not set | 640 | # CONFIG_MD_FAULTY is not set |
557 | CONFIG_BLK_DEV_DM=y | 641 | CONFIG_BLK_DEV_DM=y |
@@ -568,27 +652,34 @@ CONFIG_BLK_DEV_DM=y | |||
568 | # | 652 | # |
569 | # IEEE 1394 (FireWire) support | 653 | # IEEE 1394 (FireWire) support |
570 | # | 654 | # |
655 | |||
656 | # | ||
657 | # You can enable one or both FireWire driver stacks. | ||
658 | # | ||
659 | |||
660 | # | ||
661 | # See the help texts for more information. | ||
662 | # | ||
571 | # CONFIG_FIREWIRE is not set | 663 | # CONFIG_FIREWIRE is not set |
572 | # CONFIG_IEEE1394 is not set | 664 | # CONFIG_IEEE1394 is not set |
573 | # CONFIG_I2O is not set | 665 | # CONFIG_I2O is not set |
574 | CONFIG_NETDEVICES=y | 666 | CONFIG_NETDEVICES=y |
575 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
576 | # CONFIG_DUMMY is not set | 667 | # CONFIG_DUMMY is not set |
577 | # CONFIG_BONDING is not set | 668 | # CONFIG_BONDING is not set |
578 | # CONFIG_MACVLAN is not set | 669 | # CONFIG_MACVLAN is not set |
579 | # CONFIG_EQUALIZER is not set | 670 | # CONFIG_EQUALIZER is not set |
580 | # CONFIG_TUN is not set | 671 | # CONFIG_TUN is not set |
581 | # CONFIG_VETH is not set | 672 | # CONFIG_VETH is not set |
582 | # CONFIG_IP1000 is not set | ||
583 | # CONFIG_ARCNET is not set | 673 | # CONFIG_ARCNET is not set |
584 | # CONFIG_NET_ETHERNET is not set | 674 | # CONFIG_NET_ETHERNET is not set |
585 | CONFIG_NETDEV_1000=y | 675 | CONFIG_NETDEV_1000=y |
586 | # CONFIG_ACENIC is not set | 676 | # CONFIG_ACENIC is not set |
587 | # CONFIG_DL2K is not set | 677 | # CONFIG_DL2K is not set |
588 | CONFIG_E1000=y | 678 | CONFIG_E1000=y |
589 | CONFIG_E1000_NAPI=y | ||
590 | # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set | ||
591 | # CONFIG_E1000E is not set | 679 | # CONFIG_E1000E is not set |
680 | # CONFIG_IP1000 is not set | ||
681 | # CONFIG_IGB is not set | ||
682 | # CONFIG_IGBVF is not set | ||
592 | # CONFIG_NS83820 is not set | 683 | # CONFIG_NS83820 is not set |
593 | # CONFIG_HAMACHI is not set | 684 | # CONFIG_HAMACHI is not set |
594 | # CONFIG_YELLOWFIN is not set | 685 | # CONFIG_YELLOWFIN is not set |
@@ -596,23 +687,34 @@ CONFIG_E1000_NAPI=y | |||
596 | # CONFIG_SIS190 is not set | 687 | # CONFIG_SIS190 is not set |
597 | # CONFIG_SKGE is not set | 688 | # CONFIG_SKGE is not set |
598 | # CONFIG_SKY2 is not set | 689 | # CONFIG_SKY2 is not set |
599 | # CONFIG_SK98LIN is not set | ||
600 | # CONFIG_VIA_VELOCITY is not set | 690 | # CONFIG_VIA_VELOCITY is not set |
601 | # CONFIG_TIGON3 is not set | 691 | # CONFIG_TIGON3 is not set |
602 | # CONFIG_BNX2 is not set | 692 | # CONFIG_BNX2 is not set |
693 | # CONFIG_CNIC is not set | ||
603 | # CONFIG_QLA3XXX is not set | 694 | # CONFIG_QLA3XXX is not set |
604 | # CONFIG_ATL1 is not set | 695 | # CONFIG_ATL1 is not set |
696 | # CONFIG_ATL1E is not set | ||
697 | # CONFIG_ATL1C is not set | ||
698 | # CONFIG_JME is not set | ||
605 | CONFIG_NETDEV_10000=y | 699 | CONFIG_NETDEV_10000=y |
606 | # CONFIG_CHELSIO_T1 is not set | 700 | # CONFIG_CHELSIO_T1 is not set |
701 | CONFIG_CHELSIO_T3_DEPENDS=y | ||
607 | # CONFIG_CHELSIO_T3 is not set | 702 | # CONFIG_CHELSIO_T3 is not set |
703 | # CONFIG_ENIC is not set | ||
608 | # CONFIG_IXGBE is not set | 704 | # CONFIG_IXGBE is not set |
609 | # CONFIG_IXGB is not set | 705 | # CONFIG_IXGB is not set |
610 | # CONFIG_S2IO is not set | 706 | # CONFIG_S2IO is not set |
707 | # CONFIG_VXGE is not set | ||
611 | # CONFIG_MYRI10GE is not set | 708 | # CONFIG_MYRI10GE is not set |
612 | # CONFIG_NETXEN_NIC is not set | 709 | # CONFIG_NETXEN_NIC is not set |
613 | # CONFIG_NIU is not set | 710 | # CONFIG_NIU is not set |
711 | # CONFIG_MLX4_EN is not set | ||
614 | # CONFIG_MLX4_CORE is not set | 712 | # CONFIG_MLX4_CORE is not set |
615 | # CONFIG_TEHUTI is not set | 713 | # CONFIG_TEHUTI is not set |
714 | # CONFIG_BNX2X is not set | ||
715 | # CONFIG_QLGE is not set | ||
716 | # CONFIG_SFC is not set | ||
717 | # CONFIG_BE2NET is not set | ||
616 | # CONFIG_TR is not set | 718 | # CONFIG_TR is not set |
617 | 719 | ||
618 | # | 720 | # |
@@ -620,13 +722,16 @@ CONFIG_NETDEV_10000=y | |||
620 | # | 722 | # |
621 | # CONFIG_WLAN_PRE80211 is not set | 723 | # CONFIG_WLAN_PRE80211 is not set |
622 | # CONFIG_WLAN_80211 is not set | 724 | # CONFIG_WLAN_80211 is not set |
725 | |||
726 | # | ||
727 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
728 | # | ||
623 | # CONFIG_WAN is not set | 729 | # CONFIG_WAN is not set |
624 | # CONFIG_FDDI is not set | 730 | # CONFIG_FDDI is not set |
625 | # CONFIG_HIPPI is not set | 731 | # CONFIG_HIPPI is not set |
626 | # CONFIG_PPP is not set | 732 | # CONFIG_PPP is not set |
627 | # CONFIG_SLIP is not set | 733 | # CONFIG_SLIP is not set |
628 | # CONFIG_NET_FC is not set | 734 | # CONFIG_NET_FC is not set |
629 | # CONFIG_SHAPER is not set | ||
630 | # CONFIG_NETCONSOLE is not set | 735 | # CONFIG_NETCONSOLE is not set |
631 | # CONFIG_NETPOLL is not set | 736 | # CONFIG_NETPOLL is not set |
632 | # CONFIG_NET_POLL_CONTROLLER is not set | 737 | # CONFIG_NET_POLL_CONTROLLER is not set |
@@ -670,10 +775,13 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | |||
670 | # Character devices | 775 | # Character devices |
671 | # | 776 | # |
672 | CONFIG_VT=y | 777 | CONFIG_VT=y |
778 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
673 | CONFIG_VT_CONSOLE=y | 779 | CONFIG_VT_CONSOLE=y |
674 | CONFIG_HW_CONSOLE=y | 780 | CONFIG_HW_CONSOLE=y |
675 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | 781 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
782 | CONFIG_DEVKMEM=y | ||
676 | # CONFIG_SERIAL_NONSTANDARD is not set | 783 | # CONFIG_SERIAL_NONSTANDARD is not set |
784 | # CONFIG_NOZOMI is not set | ||
677 | 785 | ||
678 | # | 786 | # |
679 | # Serial drivers | 787 | # Serial drivers |
@@ -692,11 +800,12 @@ CONFIG_SERIAL_CORE=y | |||
692 | CONFIG_SERIAL_CORE_CONSOLE=y | 800 | CONFIG_SERIAL_CORE_CONSOLE=y |
693 | # CONFIG_SERIAL_JSM is not set | 801 | # CONFIG_SERIAL_JSM is not set |
694 | CONFIG_UNIX98_PTYS=y | 802 | CONFIG_UNIX98_PTYS=y |
803 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
695 | CONFIG_LEGACY_PTYS=y | 804 | CONFIG_LEGACY_PTYS=y |
696 | CONFIG_LEGACY_PTY_COUNT=256 | 805 | CONFIG_LEGACY_PTY_COUNT=256 |
697 | # CONFIG_IPMI_HANDLER is not set | 806 | # CONFIG_IPMI_HANDLER is not set |
698 | CONFIG_HW_RANDOM=y | 807 | CONFIG_HW_RANDOM=y |
699 | # CONFIG_NVRAM is not set | 808 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set |
700 | # CONFIG_R3964 is not set | 809 | # CONFIG_R3964 is not set |
701 | # CONFIG_APPLICOM is not set | 810 | # CONFIG_APPLICOM is not set |
702 | # CONFIG_RAW_DRIVER is not set | 811 | # CONFIG_RAW_DRIVER is not set |
@@ -705,16 +814,14 @@ CONFIG_DEVPORT=y | |||
705 | CONFIG_I2C=y | 814 | CONFIG_I2C=y |
706 | CONFIG_I2C_BOARDINFO=y | 815 | CONFIG_I2C_BOARDINFO=y |
707 | CONFIG_I2C_CHARDEV=y | 816 | CONFIG_I2C_CHARDEV=y |
817 | CONFIG_I2C_HELPER_AUTO=y | ||
708 | 818 | ||
709 | # | 819 | # |
710 | # I2C Algorithms | 820 | # I2C Hardware Bus support |
711 | # | 821 | # |
712 | # CONFIG_I2C_ALGOBIT is not set | ||
713 | # CONFIG_I2C_ALGOPCF is not set | ||
714 | # CONFIG_I2C_ALGOPCA is not set | ||
715 | 822 | ||
716 | # | 823 | # |
717 | # I2C Hardware Bus support | 824 | # PC SMBus host controller drivers |
718 | # | 825 | # |
719 | # CONFIG_I2C_ALI1535 is not set | 826 | # CONFIG_I2C_ALI1535 is not set |
720 | # CONFIG_I2C_ALI1563 is not set | 827 | # CONFIG_I2C_ALI1563 is not set |
@@ -722,50 +829,82 @@ CONFIG_I2C_CHARDEV=y | |||
722 | # CONFIG_I2C_AMD756 is not set | 829 | # CONFIG_I2C_AMD756 is not set |
723 | # CONFIG_I2C_AMD8111 is not set | 830 | # CONFIG_I2C_AMD8111 is not set |
724 | # CONFIG_I2C_I801 is not set | 831 | # CONFIG_I2C_I801 is not set |
725 | # CONFIG_I2C_I810 is not set | 832 | # CONFIG_I2C_ISCH is not set |
726 | # CONFIG_I2C_PIIX4 is not set | 833 | # CONFIG_I2C_PIIX4 is not set |
727 | CONFIG_I2C_IOP3XX=y | ||
728 | # CONFIG_I2C_NFORCE2 is not set | 834 | # CONFIG_I2C_NFORCE2 is not set |
729 | # CONFIG_I2C_OCORES is not set | ||
730 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
731 | # CONFIG_I2C_PROSAVAGE is not set | ||
732 | # CONFIG_I2C_SAVAGE4 is not set | ||
733 | # CONFIG_I2C_SIMTEC is not set | ||
734 | # CONFIG_I2C_SIS5595 is not set | 835 | # CONFIG_I2C_SIS5595 is not set |
735 | # CONFIG_I2C_SIS630 is not set | 836 | # CONFIG_I2C_SIS630 is not set |
736 | # CONFIG_I2C_SIS96X is not set | 837 | # CONFIG_I2C_SIS96X is not set |
737 | # CONFIG_I2C_TAOS_EVM is not set | ||
738 | # CONFIG_I2C_STUB is not set | ||
739 | # CONFIG_I2C_VIA is not set | 838 | # CONFIG_I2C_VIA is not set |
740 | # CONFIG_I2C_VIAPRO is not set | 839 | # CONFIG_I2C_VIAPRO is not set |
840 | |||
841 | # | ||
842 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
843 | # | ||
844 | # CONFIG_I2C_GPIO is not set | ||
845 | CONFIG_I2C_IOP3XX=y | ||
846 | # CONFIG_I2C_OCORES is not set | ||
847 | # CONFIG_I2C_SIMTEC is not set | ||
848 | |||
849 | # | ||
850 | # External I2C/SMBus adapter drivers | ||
851 | # | ||
852 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
853 | # CONFIG_I2C_TAOS_EVM is not set | ||
854 | |||
855 | # | ||
856 | # Graphics adapter I2C/DDC channel drivers | ||
857 | # | ||
741 | # CONFIG_I2C_VOODOO3 is not set | 858 | # CONFIG_I2C_VOODOO3 is not set |
742 | 859 | ||
743 | # | 860 | # |
861 | # Other I2C/SMBus bus drivers | ||
862 | # | ||
863 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
864 | # CONFIG_I2C_STUB is not set | ||
865 | |||
866 | # | ||
744 | # Miscellaneous I2C Chip support | 867 | # Miscellaneous I2C Chip support |
745 | # | 868 | # |
746 | # CONFIG_SENSORS_DS1337 is not set | ||
747 | # CONFIG_SENSORS_DS1374 is not set | ||
748 | # CONFIG_DS1682 is not set | 869 | # CONFIG_DS1682 is not set |
749 | # CONFIG_EEPROM_LEGACY is not set | ||
750 | # CONFIG_SENSORS_PCF8574 is not set | 870 | # CONFIG_SENSORS_PCF8574 is not set |
871 | # CONFIG_PCF8575 is not set | ||
751 | # CONFIG_SENSORS_PCA9539 is not set | 872 | # CONFIG_SENSORS_PCA9539 is not set |
752 | # CONFIG_SENSORS_PCF8591 is not set | ||
753 | # CONFIG_SENSORS_MAX6875 is not set | ||
754 | # CONFIG_SENSORS_TSL2550 is not set | 873 | # CONFIG_SENSORS_TSL2550 is not set |
755 | # CONFIG_I2C_DEBUG_CORE is not set | 874 | # CONFIG_I2C_DEBUG_CORE is not set |
756 | # CONFIG_I2C_DEBUG_ALGO is not set | 875 | # CONFIG_I2C_DEBUG_ALGO is not set |
757 | # CONFIG_I2C_DEBUG_BUS is not set | 876 | # CONFIG_I2C_DEBUG_BUS is not set |
758 | # CONFIG_I2C_DEBUG_CHIP is not set | 877 | # CONFIG_I2C_DEBUG_CHIP is not set |
878 | # CONFIG_SPI is not set | ||
879 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
880 | CONFIG_GPIOLIB=y | ||
881 | # CONFIG_DEBUG_GPIO is not set | ||
882 | # CONFIG_GPIO_SYSFS is not set | ||
759 | 883 | ||
760 | # | 884 | # |
761 | # SPI support | 885 | # Memory mapped GPIO expanders: |
886 | # | ||
887 | |||
888 | # | ||
889 | # I2C GPIO expanders: | ||
890 | # | ||
891 | # CONFIG_GPIO_MAX732X is not set | ||
892 | # CONFIG_GPIO_PCA953X is not set | ||
893 | # CONFIG_GPIO_PCF857X is not set | ||
894 | |||
895 | # | ||
896 | # PCI GPIO expanders: | ||
897 | # | ||
898 | # CONFIG_GPIO_BT8XX is not set | ||
899 | |||
900 | # | ||
901 | # SPI GPIO expanders: | ||
762 | # | 902 | # |
763 | # CONFIG_SPI is not set | ||
764 | # CONFIG_SPI_MASTER is not set | ||
765 | # CONFIG_W1 is not set | 903 | # CONFIG_W1 is not set |
766 | # CONFIG_POWER_SUPPLY is not set | 904 | # CONFIG_POWER_SUPPLY is not set |
767 | CONFIG_HWMON=y | 905 | CONFIG_HWMON=y |
768 | # CONFIG_HWMON_VID is not set | 906 | # CONFIG_HWMON_VID is not set |
907 | # CONFIG_SENSORS_AD7414 is not set | ||
769 | # CONFIG_SENSORS_AD7418 is not set | 908 | # CONFIG_SENSORS_AD7418 is not set |
770 | # CONFIG_SENSORS_ADM1021 is not set | 909 | # CONFIG_SENSORS_ADM1021 is not set |
771 | # CONFIG_SENSORS_ADM1025 is not set | 910 | # CONFIG_SENSORS_ADM1025 is not set |
@@ -773,13 +912,17 @@ CONFIG_HWMON=y | |||
773 | # CONFIG_SENSORS_ADM1029 is not set | 912 | # CONFIG_SENSORS_ADM1029 is not set |
774 | # CONFIG_SENSORS_ADM1031 is not set | 913 | # CONFIG_SENSORS_ADM1031 is not set |
775 | # CONFIG_SENSORS_ADM9240 is not set | 914 | # CONFIG_SENSORS_ADM9240 is not set |
915 | # CONFIG_SENSORS_ADT7462 is not set | ||
776 | # CONFIG_SENSORS_ADT7470 is not set | 916 | # CONFIG_SENSORS_ADT7470 is not set |
917 | # CONFIG_SENSORS_ADT7473 is not set | ||
918 | # CONFIG_SENSORS_ADT7475 is not set | ||
777 | # CONFIG_SENSORS_ATXP1 is not set | 919 | # CONFIG_SENSORS_ATXP1 is not set |
778 | # CONFIG_SENSORS_DS1621 is not set | 920 | # CONFIG_SENSORS_DS1621 is not set |
779 | # CONFIG_SENSORS_I5K_AMB is not set | 921 | # CONFIG_SENSORS_I5K_AMB is not set |
780 | # CONFIG_SENSORS_F71805F is not set | 922 | # CONFIG_SENSORS_F71805F is not set |
781 | # CONFIG_SENSORS_F71882FG is not set | 923 | # CONFIG_SENSORS_F71882FG is not set |
782 | # CONFIG_SENSORS_F75375S is not set | 924 | # CONFIG_SENSORS_F75375S is not set |
925 | # CONFIG_SENSORS_G760A is not set | ||
783 | # CONFIG_SENSORS_GL518SM is not set | 926 | # CONFIG_SENSORS_GL518SM is not set |
784 | # CONFIG_SENSORS_GL520SM is not set | 927 | # CONFIG_SENSORS_GL520SM is not set |
785 | # CONFIG_SENSORS_IT87 is not set | 928 | # CONFIG_SENSORS_IT87 is not set |
@@ -794,16 +937,23 @@ CONFIG_HWMON=y | |||
794 | # CONFIG_SENSORS_LM90 is not set | 937 | # CONFIG_SENSORS_LM90 is not set |
795 | # CONFIG_SENSORS_LM92 is not set | 938 | # CONFIG_SENSORS_LM92 is not set |
796 | # CONFIG_SENSORS_LM93 is not set | 939 | # CONFIG_SENSORS_LM93 is not set |
940 | # CONFIG_SENSORS_LTC4215 is not set | ||
941 | # CONFIG_SENSORS_LTC4245 is not set | ||
942 | # CONFIG_SENSORS_LM95241 is not set | ||
797 | # CONFIG_SENSORS_MAX1619 is not set | 943 | # CONFIG_SENSORS_MAX1619 is not set |
798 | # CONFIG_SENSORS_MAX6650 is not set | 944 | # CONFIG_SENSORS_MAX6650 is not set |
799 | # CONFIG_SENSORS_PC87360 is not set | 945 | # CONFIG_SENSORS_PC87360 is not set |
800 | # CONFIG_SENSORS_PC87427 is not set | 946 | # CONFIG_SENSORS_PC87427 is not set |
947 | # CONFIG_SENSORS_PCF8591 is not set | ||
948 | # CONFIG_SENSORS_SHT15 is not set | ||
801 | # CONFIG_SENSORS_SIS5595 is not set | 949 | # CONFIG_SENSORS_SIS5595 is not set |
802 | # CONFIG_SENSORS_DME1737 is not set | 950 | # CONFIG_SENSORS_DME1737 is not set |
803 | # CONFIG_SENSORS_SMSC47M1 is not set | 951 | # CONFIG_SENSORS_SMSC47M1 is not set |
804 | # CONFIG_SENSORS_SMSC47M192 is not set | 952 | # CONFIG_SENSORS_SMSC47M192 is not set |
805 | # CONFIG_SENSORS_SMSC47B397 is not set | 953 | # CONFIG_SENSORS_SMSC47B397 is not set |
954 | # CONFIG_SENSORS_ADS7828 is not set | ||
806 | # CONFIG_SENSORS_THMC50 is not set | 955 | # CONFIG_SENSORS_THMC50 is not set |
956 | # CONFIG_SENSORS_TMP401 is not set | ||
807 | # CONFIG_SENSORS_VIA686A is not set | 957 | # CONFIG_SENSORS_VIA686A is not set |
808 | # CONFIG_SENSORS_VT1211 is not set | 958 | # CONFIG_SENSORS_VT1211 is not set |
809 | # CONFIG_SENSORS_VT8231 is not set | 959 | # CONFIG_SENSORS_VT8231 is not set |
@@ -812,28 +962,38 @@ CONFIG_HWMON=y | |||
812 | # CONFIG_SENSORS_W83792D is not set | 962 | # CONFIG_SENSORS_W83792D is not set |
813 | # CONFIG_SENSORS_W83793 is not set | 963 | # CONFIG_SENSORS_W83793 is not set |
814 | # CONFIG_SENSORS_W83L785TS is not set | 964 | # CONFIG_SENSORS_W83L785TS is not set |
965 | # CONFIG_SENSORS_W83L786NG is not set | ||
815 | # CONFIG_SENSORS_W83627HF is not set | 966 | # CONFIG_SENSORS_W83627HF is not set |
816 | # CONFIG_SENSORS_W83627EHF is not set | 967 | # CONFIG_SENSORS_W83627EHF is not set |
817 | # CONFIG_HWMON_DEBUG_CHIP is not set | 968 | # CONFIG_HWMON_DEBUG_CHIP is not set |
969 | # CONFIG_THERMAL is not set | ||
970 | # CONFIG_THERMAL_HWMON is not set | ||
818 | # CONFIG_WATCHDOG is not set | 971 | # CONFIG_WATCHDOG is not set |
972 | CONFIG_SSB_POSSIBLE=y | ||
819 | 973 | ||
820 | # | 974 | # |
821 | # Sonics Silicon Backplane | 975 | # Sonics Silicon Backplane |
822 | # | 976 | # |
823 | CONFIG_SSB_POSSIBLE=y | ||
824 | # CONFIG_SSB is not set | 977 | # CONFIG_SSB is not set |
825 | 978 | ||
826 | # | 979 | # |
827 | # Multifunction device drivers | 980 | # Multifunction device drivers |
828 | # | 981 | # |
982 | # CONFIG_MFD_CORE is not set | ||
829 | # CONFIG_MFD_SM501 is not set | 983 | # CONFIG_MFD_SM501 is not set |
830 | 984 | # CONFIG_MFD_ASIC3 is not set | |
831 | # | 985 | # CONFIG_HTC_EGPIO is not set |
832 | # Multimedia devices | 986 | # CONFIG_HTC_PASIC3 is not set |
833 | # | 987 | # CONFIG_TPS65010 is not set |
834 | # CONFIG_VIDEO_DEV is not set | 988 | # CONFIG_TWL4030_CORE is not set |
835 | # CONFIG_DVB_CORE is not set | 989 | # CONFIG_MFD_TMIO is not set |
836 | CONFIG_DAB=y | 990 | # CONFIG_MFD_TC6393XB is not set |
991 | # CONFIG_PMIC_DA903X is not set | ||
992 | # CONFIG_MFD_WM8400 is not set | ||
993 | # CONFIG_MFD_WM8350_I2C is not set | ||
994 | # CONFIG_MFD_PCF50633 is not set | ||
995 | # CONFIG_AB3100_CORE is not set | ||
996 | # CONFIG_MEDIA_SUPPORT is not set | ||
837 | 997 | ||
838 | # | 998 | # |
839 | # Graphics support | 999 | # Graphics support |
@@ -854,15 +1014,16 @@ CONFIG_DAB=y | |||
854 | # | 1014 | # |
855 | # CONFIG_VGA_CONSOLE is not set | 1015 | # CONFIG_VGA_CONSOLE is not set |
856 | CONFIG_DUMMY_CONSOLE=y | 1016 | CONFIG_DUMMY_CONSOLE=y |
857 | |||
858 | # | ||
859 | # Sound | ||
860 | # | ||
861 | # CONFIG_SOUND is not set | 1017 | # CONFIG_SOUND is not set |
862 | CONFIG_HID_SUPPORT=y | 1018 | CONFIG_HID_SUPPORT=y |
863 | CONFIG_HID=y | 1019 | CONFIG_HID=y |
864 | # CONFIG_HID_DEBUG is not set | 1020 | # CONFIG_HID_DEBUG is not set |
865 | # CONFIG_HIDRAW is not set | 1021 | # CONFIG_HIDRAW is not set |
1022 | # CONFIG_HID_PID is not set | ||
1023 | |||
1024 | # | ||
1025 | # Special HID drivers | ||
1026 | # | ||
866 | CONFIG_USB_SUPPORT=y | 1027 | CONFIG_USB_SUPPORT=y |
867 | CONFIG_USB_ARCH_HAS_HCD=y | 1028 | CONFIG_USB_ARCH_HAS_HCD=y |
868 | CONFIG_USB_ARCH_HAS_OHCI=y | 1029 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -870,14 +1031,21 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
870 | # CONFIG_USB is not set | 1031 | # CONFIG_USB is not set |
871 | 1032 | ||
872 | # | 1033 | # |
873 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 1034 | # Enable Host or Gadget support to see Inventra options |
874 | # | 1035 | # |
875 | 1036 | ||
876 | # | 1037 | # |
877 | # USB Gadget Support | 1038 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may |
878 | # | 1039 | # |
879 | # CONFIG_USB_GADGET is not set | 1040 | # CONFIG_USB_GADGET is not set |
1041 | |||
1042 | # | ||
1043 | # OTG and related infrastructure | ||
1044 | # | ||
1045 | # CONFIG_UWB is not set | ||
880 | # CONFIG_MMC is not set | 1046 | # CONFIG_MMC is not set |
1047 | # CONFIG_MEMSTICK is not set | ||
1048 | # CONFIG_ACCESSIBILITY is not set | ||
881 | # CONFIG_NEW_LEDS is not set | 1049 | # CONFIG_NEW_LEDS is not set |
882 | CONFIG_RTC_LIB=y | 1050 | CONFIG_RTC_LIB=y |
883 | # CONFIG_RTC_CLASS is not set | 1051 | # CONFIG_RTC_CLASS is not set |
@@ -893,6 +1061,12 @@ CONFIG_DMA_ENGINE=y | |||
893 | # DMA Clients | 1061 | # DMA Clients |
894 | # | 1062 | # |
895 | CONFIG_NET_DMA=y | 1063 | CONFIG_NET_DMA=y |
1064 | # CONFIG_ASYNC_TX_DMA is not set | ||
1065 | # CONFIG_DMATEST is not set | ||
1066 | # CONFIG_AUXDISPLAY is not set | ||
1067 | # CONFIG_REGULATOR is not set | ||
1068 | # CONFIG_UIO is not set | ||
1069 | # CONFIG_STAGING is not set | ||
896 | 1070 | ||
897 | # | 1071 | # |
898 | # File systems | 1072 | # File systems |
@@ -901,10 +1075,11 @@ CONFIG_EXT2_FS=y | |||
901 | # CONFIG_EXT2_FS_XATTR is not set | 1075 | # CONFIG_EXT2_FS_XATTR is not set |
902 | # CONFIG_EXT2_FS_XIP is not set | 1076 | # CONFIG_EXT2_FS_XIP is not set |
903 | CONFIG_EXT3_FS=y | 1077 | CONFIG_EXT3_FS=y |
1078 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
904 | CONFIG_EXT3_FS_XATTR=y | 1079 | CONFIG_EXT3_FS_XATTR=y |
905 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1080 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
906 | # CONFIG_EXT3_FS_SECURITY is not set | 1081 | # CONFIG_EXT3_FS_SECURITY is not set |
907 | # CONFIG_EXT4DEV_FS is not set | 1082 | # CONFIG_EXT4_FS is not set |
908 | CONFIG_JBD=y | 1083 | CONFIG_JBD=y |
909 | CONFIG_FS_MBCACHE=y | 1084 | CONFIG_FS_MBCACHE=y |
910 | # CONFIG_REISERFS_FS is not set | 1085 | # CONFIG_REISERFS_FS is not set |
@@ -913,17 +1088,23 @@ CONFIG_FS_MBCACHE=y | |||
913 | # CONFIG_XFS_FS is not set | 1088 | # CONFIG_XFS_FS is not set |
914 | # CONFIG_GFS2_FS is not set | 1089 | # CONFIG_GFS2_FS is not set |
915 | # CONFIG_OCFS2_FS is not set | 1090 | # CONFIG_OCFS2_FS is not set |
916 | # CONFIG_MINIX_FS is not set | 1091 | # CONFIG_BTRFS_FS is not set |
917 | # CONFIG_ROMFS_FS is not set | 1092 | CONFIG_FILE_LOCKING=y |
1093 | CONFIG_FSNOTIFY=y | ||
1094 | CONFIG_DNOTIFY=y | ||
918 | CONFIG_INOTIFY=y | 1095 | CONFIG_INOTIFY=y |
919 | CONFIG_INOTIFY_USER=y | 1096 | CONFIG_INOTIFY_USER=y |
920 | # CONFIG_QUOTA is not set | 1097 | # CONFIG_QUOTA is not set |
921 | CONFIG_DNOTIFY=y | ||
922 | # CONFIG_AUTOFS_FS is not set | 1098 | # CONFIG_AUTOFS_FS is not set |
923 | # CONFIG_AUTOFS4_FS is not set | 1099 | # CONFIG_AUTOFS4_FS is not set |
924 | # CONFIG_FUSE_FS is not set | 1100 | # CONFIG_FUSE_FS is not set |
925 | 1101 | ||
926 | # | 1102 | # |
1103 | # Caches | ||
1104 | # | ||
1105 | # CONFIG_FSCACHE is not set | ||
1106 | |||
1107 | # | ||
927 | # CD-ROM/DVD Filesystems | 1108 | # CD-ROM/DVD Filesystems |
928 | # | 1109 | # |
929 | # CONFIG_ISO9660_FS is not set | 1110 | # CONFIG_ISO9660_FS is not set |
@@ -941,15 +1122,13 @@ CONFIG_DNOTIFY=y | |||
941 | # | 1122 | # |
942 | CONFIG_PROC_FS=y | 1123 | CONFIG_PROC_FS=y |
943 | CONFIG_PROC_SYSCTL=y | 1124 | CONFIG_PROC_SYSCTL=y |
1125 | CONFIG_PROC_PAGE_MONITOR=y | ||
944 | CONFIG_SYSFS=y | 1126 | CONFIG_SYSFS=y |
945 | CONFIG_TMPFS=y | 1127 | CONFIG_TMPFS=y |
946 | # CONFIG_TMPFS_POSIX_ACL is not set | 1128 | # CONFIG_TMPFS_POSIX_ACL is not set |
947 | # CONFIG_HUGETLB_PAGE is not set | 1129 | # CONFIG_HUGETLB_PAGE is not set |
948 | # CONFIG_CONFIGFS_FS is not set | 1130 | # CONFIG_CONFIGFS_FS is not set |
949 | 1131 | CONFIG_MISC_FILESYSTEMS=y | |
950 | # | ||
951 | # Miscellaneous filesystems | ||
952 | # | ||
953 | # CONFIG_ADFS_FS is not set | 1132 | # CONFIG_ADFS_FS is not set |
954 | # CONFIG_AFFS_FS is not set | 1133 | # CONFIG_AFFS_FS is not set |
955 | # CONFIG_HFS_FS is not set | 1134 | # CONFIG_HFS_FS is not set |
@@ -959,29 +1138,31 @@ CONFIG_TMPFS=y | |||
959 | # CONFIG_EFS_FS is not set | 1138 | # CONFIG_EFS_FS is not set |
960 | # CONFIG_JFFS2_FS is not set | 1139 | # CONFIG_JFFS2_FS is not set |
961 | CONFIG_CRAMFS=y | 1140 | CONFIG_CRAMFS=y |
1141 | # CONFIG_SQUASHFS is not set | ||
962 | # CONFIG_VXFS_FS is not set | 1142 | # CONFIG_VXFS_FS is not set |
1143 | # CONFIG_MINIX_FS is not set | ||
1144 | # CONFIG_OMFS_FS is not set | ||
963 | # CONFIG_HPFS_FS is not set | 1145 | # CONFIG_HPFS_FS is not set |
964 | # CONFIG_QNX4FS_FS is not set | 1146 | # CONFIG_QNX4FS_FS is not set |
1147 | # CONFIG_ROMFS_FS is not set | ||
965 | # CONFIG_SYSV_FS is not set | 1148 | # CONFIG_SYSV_FS is not set |
966 | # CONFIG_UFS_FS is not set | 1149 | # CONFIG_UFS_FS is not set |
1150 | # CONFIG_NILFS2_FS is not set | ||
967 | CONFIG_NETWORK_FILESYSTEMS=y | 1151 | CONFIG_NETWORK_FILESYSTEMS=y |
968 | CONFIG_NFS_FS=y | 1152 | CONFIG_NFS_FS=y |
969 | CONFIG_NFS_V3=y | 1153 | CONFIG_NFS_V3=y |
970 | # CONFIG_NFS_V3_ACL is not set | 1154 | # CONFIG_NFS_V3_ACL is not set |
971 | # CONFIG_NFS_V4 is not set | 1155 | # CONFIG_NFS_V4 is not set |
972 | # CONFIG_NFS_DIRECTIO is not set | 1156 | CONFIG_ROOT_NFS=y |
973 | CONFIG_NFSD=y | 1157 | CONFIG_NFSD=y |
974 | CONFIG_NFSD_V3=y | 1158 | CONFIG_NFSD_V3=y |
975 | # CONFIG_NFSD_V3_ACL is not set | 1159 | # CONFIG_NFSD_V3_ACL is not set |
976 | # CONFIG_NFSD_V4 is not set | 1160 | # CONFIG_NFSD_V4 is not set |
977 | # CONFIG_NFSD_TCP is not set | ||
978 | CONFIG_ROOT_NFS=y | ||
979 | CONFIG_LOCKD=y | 1161 | CONFIG_LOCKD=y |
980 | CONFIG_LOCKD_V4=y | 1162 | CONFIG_LOCKD_V4=y |
981 | CONFIG_EXPORTFS=y | 1163 | CONFIG_EXPORTFS=y |
982 | CONFIG_NFS_COMMON=y | 1164 | CONFIG_NFS_COMMON=y |
983 | CONFIG_SUNRPC=y | 1165 | CONFIG_SUNRPC=y |
984 | # CONFIG_SUNRPC_BIND34 is not set | ||
985 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 1166 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
986 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1167 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
987 | # CONFIG_SMB_FS is not set | 1168 | # CONFIG_SMB_FS is not set |
@@ -1013,9 +1194,6 @@ CONFIG_MSDOS_PARTITION=y | |||
1013 | # CONFIG_SYSV68_PARTITION is not set | 1194 | # CONFIG_SYSV68_PARTITION is not set |
1014 | # CONFIG_NLS is not set | 1195 | # CONFIG_NLS is not set |
1015 | # CONFIG_DLM is not set | 1196 | # CONFIG_DLM is not set |
1016 | CONFIG_INSTRUMENTATION=y | ||
1017 | # CONFIG_PROFILING is not set | ||
1018 | # CONFIG_MARKERS is not set | ||
1019 | 1197 | ||
1020 | # | 1198 | # |
1021 | # Kernel hacking | 1199 | # Kernel hacking |
@@ -1023,6 +1201,7 @@ CONFIG_INSTRUMENTATION=y | |||
1023 | # CONFIG_PRINTK_TIME is not set | 1201 | # CONFIG_PRINTK_TIME is not set |
1024 | CONFIG_ENABLE_WARN_DEPRECATED=y | 1202 | CONFIG_ENABLE_WARN_DEPRECATED=y |
1025 | CONFIG_ENABLE_MUST_CHECK=y | 1203 | CONFIG_ENABLE_MUST_CHECK=y |
1204 | CONFIG_FRAME_WARN=1024 | ||
1026 | CONFIG_MAGIC_SYSRQ=y | 1205 | CONFIG_MAGIC_SYSRQ=y |
1027 | # CONFIG_UNUSED_SYMBOLS is not set | 1206 | # CONFIG_UNUSED_SYMBOLS is not set |
1028 | # CONFIG_DEBUG_FS is not set | 1207 | # CONFIG_DEBUG_FS is not set |
@@ -1030,10 +1209,17 @@ CONFIG_MAGIC_SYSRQ=y | |||
1030 | CONFIG_DEBUG_KERNEL=y | 1209 | CONFIG_DEBUG_KERNEL=y |
1031 | # CONFIG_DEBUG_SHIRQ is not set | 1210 | # CONFIG_DEBUG_SHIRQ is not set |
1032 | CONFIG_DETECT_SOFTLOCKUP=y | 1211 | CONFIG_DETECT_SOFTLOCKUP=y |
1212 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1213 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1214 | CONFIG_DETECT_HUNG_TASK=y | ||
1215 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
1216 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
1033 | CONFIG_SCHED_DEBUG=y | 1217 | CONFIG_SCHED_DEBUG=y |
1034 | # CONFIG_SCHEDSTATS is not set | 1218 | # CONFIG_SCHEDSTATS is not set |
1035 | # CONFIG_TIMER_STATS is not set | 1219 | # CONFIG_TIMER_STATS is not set |
1220 | # CONFIG_DEBUG_OBJECTS is not set | ||
1036 | # CONFIG_DEBUG_SLAB is not set | 1221 | # CONFIG_DEBUG_SLAB is not set |
1222 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
1037 | # CONFIG_DEBUG_RT_MUTEXES is not set | 1223 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1038 | # CONFIG_RT_MUTEX_TESTER is not set | 1224 | # CONFIG_RT_MUTEX_TESTER is not set |
1039 | # CONFIG_DEBUG_SPINLOCK is not set | 1225 | # CONFIG_DEBUG_SPINLOCK is not set |
@@ -1047,16 +1233,41 @@ CONFIG_SCHED_DEBUG=y | |||
1047 | CONFIG_DEBUG_BUGVERBOSE=y | 1233 | CONFIG_DEBUG_BUGVERBOSE=y |
1048 | # CONFIG_DEBUG_INFO is not set | 1234 | # CONFIG_DEBUG_INFO is not set |
1049 | # CONFIG_DEBUG_VM is not set | 1235 | # CONFIG_DEBUG_VM is not set |
1236 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1237 | CONFIG_DEBUG_MEMORY_INIT=y | ||
1050 | # CONFIG_DEBUG_LIST is not set | 1238 | # CONFIG_DEBUG_LIST is not set |
1051 | # CONFIG_DEBUG_SG is not set | 1239 | # CONFIG_DEBUG_SG is not set |
1240 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
1052 | CONFIG_FRAME_POINTER=y | 1241 | CONFIG_FRAME_POINTER=y |
1053 | # CONFIG_FORCED_INLINING is not set | ||
1054 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1242 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1055 | # CONFIG_RCU_TORTURE_TEST is not set | 1243 | # CONFIG_RCU_TORTURE_TEST is not set |
1244 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1245 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1246 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1056 | # CONFIG_FAULT_INJECTION is not set | 1247 | # CONFIG_FAULT_INJECTION is not set |
1248 | # CONFIG_LATENCYTOP is not set | ||
1249 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1250 | # CONFIG_PAGE_POISONING is not set | ||
1251 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
1252 | CONFIG_TRACING_SUPPORT=y | ||
1253 | CONFIG_FTRACE=y | ||
1254 | # CONFIG_FUNCTION_TRACER is not set | ||
1255 | # CONFIG_SCHED_TRACER is not set | ||
1256 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1257 | # CONFIG_BOOT_TRACER is not set | ||
1258 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1259 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1260 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1261 | # CONFIG_STACK_TRACER is not set | ||
1262 | # CONFIG_KMEMTRACE is not set | ||
1263 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1264 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1057 | # CONFIG_SAMPLES is not set | 1265 | # CONFIG_SAMPLES is not set |
1266 | CONFIG_HAVE_ARCH_KGDB=y | ||
1267 | # CONFIG_KGDB is not set | ||
1058 | CONFIG_DEBUG_USER=y | 1268 | CONFIG_DEBUG_USER=y |
1059 | # CONFIG_DEBUG_ERRORS is not set | 1269 | # CONFIG_DEBUG_ERRORS is not set |
1270 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1060 | CONFIG_DEBUG_LL=y | 1271 | CONFIG_DEBUG_LL=y |
1061 | # CONFIG_DEBUG_ICEDCC is not set | 1272 | # CONFIG_DEBUG_ICEDCC is not set |
1062 | 1273 | ||
@@ -1065,24 +1276,117 @@ CONFIG_DEBUG_LL=y | |||
1065 | # | 1276 | # |
1066 | # CONFIG_KEYS is not set | 1277 | # CONFIG_KEYS is not set |
1067 | # CONFIG_SECURITY is not set | 1278 | # CONFIG_SECURITY is not set |
1279 | # CONFIG_SECURITYFS is not set | ||
1068 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1280 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1069 | CONFIG_XOR_BLOCKS=y | 1281 | CONFIG_XOR_BLOCKS=y |
1070 | CONFIG_ASYNC_CORE=y | 1282 | CONFIG_ASYNC_CORE=y |
1071 | CONFIG_ASYNC_MEMCPY=y | 1283 | CONFIG_ASYNC_MEMCPY=y |
1072 | CONFIG_ASYNC_XOR=y | 1284 | CONFIG_ASYNC_XOR=y |
1073 | # CONFIG_CRYPTO is not set | 1285 | CONFIG_CRYPTO=y |
1286 | |||
1287 | # | ||
1288 | # Crypto core or helper | ||
1289 | # | ||
1290 | # CONFIG_CRYPTO_FIPS is not set | ||
1291 | # CONFIG_CRYPTO_MANAGER is not set | ||
1292 | # CONFIG_CRYPTO_MANAGER2 is not set | ||
1293 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1294 | # CONFIG_CRYPTO_NULL is not set | ||
1295 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1296 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1297 | # CONFIG_CRYPTO_TEST is not set | ||
1298 | |||
1299 | # | ||
1300 | # Authenticated Encryption with Associated Data | ||
1301 | # | ||
1302 | # CONFIG_CRYPTO_CCM is not set | ||
1303 | # CONFIG_CRYPTO_GCM is not set | ||
1304 | # CONFIG_CRYPTO_SEQIV is not set | ||
1305 | |||
1306 | # | ||
1307 | # Block modes | ||
1308 | # | ||
1309 | # CONFIG_CRYPTO_CBC is not set | ||
1310 | # CONFIG_CRYPTO_CTR is not set | ||
1311 | # CONFIG_CRYPTO_CTS is not set | ||
1312 | # CONFIG_CRYPTO_ECB is not set | ||
1313 | # CONFIG_CRYPTO_LRW is not set | ||
1314 | # CONFIG_CRYPTO_PCBC is not set | ||
1315 | # CONFIG_CRYPTO_XTS is not set | ||
1316 | |||
1317 | # | ||
1318 | # Hash modes | ||
1319 | # | ||
1320 | # CONFIG_CRYPTO_HMAC is not set | ||
1321 | # CONFIG_CRYPTO_XCBC is not set | ||
1322 | |||
1323 | # | ||
1324 | # Digest | ||
1325 | # | ||
1326 | # CONFIG_CRYPTO_CRC32C is not set | ||
1327 | # CONFIG_CRYPTO_MD4 is not set | ||
1328 | # CONFIG_CRYPTO_MD5 is not set | ||
1329 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1330 | # CONFIG_CRYPTO_RMD128 is not set | ||
1331 | # CONFIG_CRYPTO_RMD160 is not set | ||
1332 | # CONFIG_CRYPTO_RMD256 is not set | ||
1333 | # CONFIG_CRYPTO_RMD320 is not set | ||
1334 | # CONFIG_CRYPTO_SHA1 is not set | ||
1335 | # CONFIG_CRYPTO_SHA256 is not set | ||
1336 | # CONFIG_CRYPTO_SHA512 is not set | ||
1337 | # CONFIG_CRYPTO_TGR192 is not set | ||
1338 | # CONFIG_CRYPTO_WP512 is not set | ||
1339 | |||
1340 | # | ||
1341 | # Ciphers | ||
1342 | # | ||
1343 | # CONFIG_CRYPTO_AES is not set | ||
1344 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1345 | # CONFIG_CRYPTO_ARC4 is not set | ||
1346 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1347 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1348 | # CONFIG_CRYPTO_CAST5 is not set | ||
1349 | # CONFIG_CRYPTO_CAST6 is not set | ||
1350 | # CONFIG_CRYPTO_DES is not set | ||
1351 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1352 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1353 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1354 | # CONFIG_CRYPTO_SEED is not set | ||
1355 | # CONFIG_CRYPTO_SERPENT is not set | ||
1356 | # CONFIG_CRYPTO_TEA is not set | ||
1357 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1358 | |||
1359 | # | ||
1360 | # Compression | ||
1361 | # | ||
1362 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1363 | # CONFIG_CRYPTO_ZLIB is not set | ||
1364 | # CONFIG_CRYPTO_LZO is not set | ||
1365 | |||
1366 | # | ||
1367 | # Random Number Generation | ||
1368 | # | ||
1369 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1370 | CONFIG_CRYPTO_HW=y | ||
1371 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | ||
1372 | # CONFIG_BINARY_PRINTF is not set | ||
1074 | 1373 | ||
1075 | # | 1374 | # |
1076 | # Library routines | 1375 | # Library routines |
1077 | # | 1376 | # |
1377 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1078 | # CONFIG_CRC_CCITT is not set | 1378 | # CONFIG_CRC_CCITT is not set |
1079 | # CONFIG_CRC16 is not set | 1379 | # CONFIG_CRC16 is not set |
1380 | # CONFIG_CRC_T10DIF is not set | ||
1080 | # CONFIG_CRC_ITU_T is not set | 1381 | # CONFIG_CRC_ITU_T is not set |
1081 | # CONFIG_CRC32 is not set | 1382 | # CONFIG_CRC32 is not set |
1082 | # CONFIG_CRC7 is not set | 1383 | # CONFIG_CRC7 is not set |
1083 | # CONFIG_LIBCRC32C is not set | 1384 | # CONFIG_LIBCRC32C is not set |
1084 | CONFIG_ZLIB_INFLATE=y | 1385 | CONFIG_ZLIB_INFLATE=y |
1085 | CONFIG_PLIST=y | 1386 | CONFIG_DECOMPRESS_GZIP=y |
1387 | CONFIG_DECOMPRESS_BZIP2=y | ||
1388 | CONFIG_DECOMPRESS_LZMA=y | ||
1086 | CONFIG_HAS_IOMEM=y | 1389 | CONFIG_HAS_IOMEM=y |
1087 | CONFIG_HAS_IOPORT=y | 1390 | CONFIG_HAS_IOPORT=y |
1088 | CONFIG_HAS_DMA=y | 1391 | CONFIG_HAS_DMA=y |
1392 | CONFIG_NLATTR=y | ||
diff --git a/arch/arm/include/asm/glue.h b/arch/arm/include/asm/glue.h index a0e39d5d00c9..234a3fc1c78e 100644 --- a/arch/arm/include/asm/glue.h +++ b/arch/arm/include/asm/glue.h | |||
@@ -120,25 +120,39 @@ | |||
120 | #endif | 120 | #endif |
121 | 121 | ||
122 | /* | 122 | /* |
123 | * Prefetch abort handler. If the CPU has an IFAR use that, otherwise | 123 | * Prefetch Abort Model |
124 | * use the address of the aborted instruction | 124 | * ================ |
125 | * | ||
126 | * We have the following to choose from: | ||
127 | * legacy - no IFSR, no IFAR | ||
128 | * v6 - ARMv6: IFSR, no IFAR | ||
129 | * v7 - ARMv7: IFSR and IFAR | ||
125 | */ | 130 | */ |
131 | |||
126 | #undef CPU_PABORT_HANDLER | 132 | #undef CPU_PABORT_HANDLER |
127 | #undef MULTI_PABORT | 133 | #undef MULTI_PABORT |
128 | 134 | ||
129 | #ifdef CONFIG_CPU_PABRT_IFAR | 135 | #ifdef CONFIG_CPU_PABRT_LEGACY |
136 | # ifdef CPU_PABORT_HANDLER | ||
137 | # define MULTI_PABORT 1 | ||
138 | # else | ||
139 | # define CPU_PABORT_HANDLER legacy_pabort | ||
140 | # endif | ||
141 | #endif | ||
142 | |||
143 | #ifdef CONFIG_CPU_PABRT_V6 | ||
130 | # ifdef CPU_PABORT_HANDLER | 144 | # ifdef CPU_PABORT_HANDLER |
131 | # define MULTI_PABORT 1 | 145 | # define MULTI_PABORT 1 |
132 | # else | 146 | # else |
133 | # define CPU_PABORT_HANDLER(reg, insn) mrc p15, 0, reg, cr6, cr0, 2 | 147 | # define CPU_PABORT_HANDLER v6_pabort |
134 | # endif | 148 | # endif |
135 | #endif | 149 | #endif |
136 | 150 | ||
137 | #ifdef CONFIG_CPU_PABRT_NOIFAR | 151 | #ifdef CONFIG_CPU_PABRT_V7 |
138 | # ifdef CPU_PABORT_HANDLER | 152 | # ifdef CPU_PABORT_HANDLER |
139 | # define MULTI_PABORT 1 | 153 | # define MULTI_PABORT 1 |
140 | # else | 154 | # else |
141 | # define CPU_PABORT_HANDLER(reg, insn) mov reg, insn | 155 | # define CPU_PABORT_HANDLER v7_pabort |
142 | # endif | 156 | # endif |
143 | #endif | 157 | #endif |
144 | 158 | ||
diff --git a/arch/arm/include/asm/hardware/iop3xx.h b/arch/arm/include/asm/hardware/iop3xx.h index 4b8e7f559929..8d60ad267e3a 100644 --- a/arch/arm/include/asm/hardware/iop3xx.h +++ b/arch/arm/include/asm/hardware/iop3xx.h | |||
@@ -215,6 +215,7 @@ extern int iop3xx_get_init_atu(void); | |||
215 | * IOP3XX I/O and Mem space regions for PCI autoconfiguration | 215 | * IOP3XX I/O and Mem space regions for PCI autoconfiguration |
216 | */ | 216 | */ |
217 | #define IOP3XX_PCI_LOWER_MEM_PA 0x80000000 | 217 | #define IOP3XX_PCI_LOWER_MEM_PA 0x80000000 |
218 | #define IOP3XX_PCI_MEM_WINDOW_SIZE 0x08000000 | ||
218 | 219 | ||
219 | #define IOP3XX_PCI_IO_WINDOW_SIZE 0x00010000 | 220 | #define IOP3XX_PCI_IO_WINDOW_SIZE 0x00010000 |
220 | #define IOP3XX_PCI_LOWER_IO_PA 0x90000000 | 221 | #define IOP3XX_PCI_LOWER_IO_PA 0x90000000 |
diff --git a/arch/arm/include/asm/smp_plat.h b/arch/arm/include/asm/smp_plat.h new file mode 100644 index 000000000000..59303e200845 --- /dev/null +++ b/arch/arm/include/asm/smp_plat.h | |||
@@ -0,0 +1,16 @@ | |||
1 | /* | ||
2 | * ARM specific SMP header, this contains our implementation | ||
3 | * details. | ||
4 | */ | ||
5 | #ifndef __ASMARM_SMP_PLAT_H | ||
6 | #define __ASMARM_SMP_PLAT_H | ||
7 | |||
8 | #include <asm/cputype.h> | ||
9 | |||
10 | /* all SMP configurations have the extended CPUID registers */ | ||
11 | static inline int tlb_ops_need_broadcast(void) | ||
12 | { | ||
13 | return ((read_cpuid_ext(CPUID_EXT_MMFR3) >> 12) & 0xf) < 2; | ||
14 | } | ||
15 | |||
16 | #endif | ||
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h index 89f7eade20af..7020217fc49f 100644 --- a/arch/arm/include/asm/unistd.h +++ b/arch/arm/include/asm/unistd.h | |||
@@ -456,6 +456,7 @@ | |||
456 | * Unimplemented (or alternatively implemented) syscalls | 456 | * Unimplemented (or alternatively implemented) syscalls |
457 | */ | 457 | */ |
458 | #define __IGNORE_fadvise64_64 1 | 458 | #define __IGNORE_fadvise64_64 1 |
459 | #define __IGNORE_migrate_pages 1 | ||
459 | 460 | ||
460 | #endif /* __KERNEL__ */ | 461 | #endif /* __KERNEL__ */ |
461 | #endif /* __ASM_ARM_UNISTD_H */ | 462 | #endif /* __ASM_ARM_UNISTD_H */ |
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 0a2ba51cf35d..322410be573c 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -311,22 +311,16 @@ __pabt_svc: | |||
311 | tst r3, #PSR_I_BIT | 311 | tst r3, #PSR_I_BIT |
312 | biceq r9, r9, #PSR_I_BIT | 312 | biceq r9, r9, #PSR_I_BIT |
313 | 313 | ||
314 | @ | ||
315 | @ set args, then call main handler | ||
316 | @ | ||
317 | @ r0 - address of faulting instruction | ||
318 | @ r1 - pointer to registers on stack | ||
319 | @ | ||
320 | #ifdef MULTI_PABORT | ||
321 | mov r0, r2 @ pass address of aborted instruction. | 314 | mov r0, r2 @ pass address of aborted instruction. |
315 | #ifdef MULTI_PABORT | ||
322 | ldr r4, .LCprocfns | 316 | ldr r4, .LCprocfns |
323 | mov lr, pc | 317 | mov lr, pc |
324 | ldr pc, [r4, #PROCESSOR_PABT_FUNC] | 318 | ldr pc, [r4, #PROCESSOR_PABT_FUNC] |
325 | #else | 319 | #else |
326 | CPU_PABORT_HANDLER(r0, r2) | 320 | bl CPU_PABORT_HANDLER |
327 | #endif | 321 | #endif |
328 | msr cpsr_c, r9 @ Maybe enable interrupts | 322 | msr cpsr_c, r9 @ Maybe enable interrupts |
329 | mov r1, sp @ regs | 323 | mov r2, sp @ regs |
330 | bl do_PrefetchAbort @ call abort handler | 324 | bl do_PrefetchAbort @ call abort handler |
331 | 325 | ||
332 | @ | 326 | @ |
@@ -701,16 +695,16 @@ ENDPROC(__und_usr_unknown) | |||
701 | __pabt_usr: | 695 | __pabt_usr: |
702 | usr_entry | 696 | usr_entry |
703 | 697 | ||
704 | #ifdef MULTI_PABORT | ||
705 | mov r0, r2 @ pass address of aborted instruction. | 698 | mov r0, r2 @ pass address of aborted instruction. |
699 | #ifdef MULTI_PABORT | ||
706 | ldr r4, .LCprocfns | 700 | ldr r4, .LCprocfns |
707 | mov lr, pc | 701 | mov lr, pc |
708 | ldr pc, [r4, #PROCESSOR_PABT_FUNC] | 702 | ldr pc, [r4, #PROCESSOR_PABT_FUNC] |
709 | #else | 703 | #else |
710 | CPU_PABORT_HANDLER(r0, r2) | 704 | bl CPU_PABORT_HANDLER |
711 | #endif | 705 | #endif |
712 | enable_irq @ Enable interrupts | 706 | enable_irq @ Enable interrupts |
713 | mov r1, sp @ regs | 707 | mov r2, sp @ regs |
714 | bl do_PrefetchAbort @ call abort handler | 708 | bl do_PrefetchAbort @ call abort handler |
715 | UNWIND(.fnend ) | 709 | UNWIND(.fnend ) |
716 | /* fall through */ | 710 | /* fall through */ |
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 807cfebb0f44..f0fe95b7085d 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S | |||
@@ -126,7 +126,7 @@ ENTRY(__gnu_mcount_nc) | |||
126 | cmp r0, r2 | 126 | cmp r0, r2 |
127 | bne gnu_trace | 127 | bne gnu_trace |
128 | ldmia sp!, {r0-r3, ip, lr} | 128 | ldmia sp!, {r0-r3, ip, lr} |
129 | bx ip | 129 | mov pc, ip |
130 | 130 | ||
131 | gnu_trace: | 131 | gnu_trace: |
132 | ldr r1, [sp, #20] @ lr of instrumented routine | 132 | ldr r1, [sp, #20] @ lr of instrumented routine |
@@ -135,7 +135,7 @@ gnu_trace: | |||
135 | mov lr, pc | 135 | mov lr, pc |
136 | mov pc, r2 | 136 | mov pc, r2 |
137 | ldmia sp!, {r0-r3, ip, lr} | 137 | ldmia sp!, {r0-r3, ip, lr} |
138 | bx ip | 138 | mov pc, ip |
139 | 139 | ||
140 | ENTRY(mcount) | 140 | ENTRY(mcount) |
141 | stmdb sp!, {r0-r3, lr} | 141 | stmdb sp!, {r0-r3, lr} |
@@ -425,13 +425,6 @@ sys_mmap2: | |||
425 | #endif | 425 | #endif |
426 | ENDPROC(sys_mmap2) | 426 | ENDPROC(sys_mmap2) |
427 | 427 | ||
428 | ENTRY(pabort_ifar) | ||
429 | mrc p15, 0, r0, cr6, cr0, 2 | ||
430 | ENTRY(pabort_noifar) | ||
431 | mov pc, lr | ||
432 | ENDPROC(pabort_ifar) | ||
433 | ENDPROC(pabort_noifar) | ||
434 | |||
435 | #ifdef CONFIG_OABI_COMPAT | 428 | #ifdef CONFIG_OABI_COMPAT |
436 | 429 | ||
437 | /* | 430 | /* |
diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S index 93ad576b2d74..885a7214418d 100644 --- a/arch/arm/kernel/head-common.S +++ b/arch/arm/kernel/head-common.S | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | #define ATAG_CORE 0x54410001 | 14 | #define ATAG_CORE 0x54410001 |
15 | #define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2) | 15 | #define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2) |
16 | #define ATAG_CORE_SIZE_EMPTY ((2*4) >> 2) | ||
16 | 17 | ||
17 | .align 2 | 18 | .align 2 |
18 | .type __switch_data, %object | 19 | .type __switch_data, %object |
@@ -251,7 +252,8 @@ __vet_atags: | |||
251 | bne 1f | 252 | bne 1f |
252 | 253 | ||
253 | ldr r5, [r2, #0] @ is first tag ATAG_CORE? | 254 | ldr r5, [r2, #0] @ is first tag ATAG_CORE? |
254 | subs r5, r5, #ATAG_CORE_SIZE | 255 | cmp r5, #ATAG_CORE_SIZE |
256 | cmpne r5, #ATAG_CORE_SIZE_EMPTY | ||
255 | bne 1f | 257 | bne 1f |
256 | ldr r5, [r2, #4] | 258 | ldr r5, [r2, #4] |
257 | ldr r6, =ATAG_CORE | 259 | ldr r6, =ATAG_CORE |
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index e0d32770bb3d..57162af53dc9 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <asm/tlbflush.h> | 36 | #include <asm/tlbflush.h> |
37 | #include <asm/ptrace.h> | 37 | #include <asm/ptrace.h> |
38 | #include <asm/localtimer.h> | 38 | #include <asm/localtimer.h> |
39 | #include <asm/smp_plat.h> | ||
39 | 40 | ||
40 | /* | 41 | /* |
41 | * as from 2.5, kernels no longer have an init_tasks structure | 42 | * as from 2.5, kernels no longer have an init_tasks structure |
@@ -153,7 +154,7 @@ int __cpuinit __cpu_up(unsigned int cpu) | |||
153 | /* | 154 | /* |
154 | * __cpu_disable runs on the processor to be shutdown. | 155 | * __cpu_disable runs on the processor to be shutdown. |
155 | */ | 156 | */ |
156 | int __cpuexit __cpu_disable(void) | 157 | int __cpu_disable(void) |
157 | { | 158 | { |
158 | unsigned int cpu = smp_processor_id(); | 159 | unsigned int cpu = smp_processor_id(); |
159 | struct task_struct *p; | 160 | struct task_struct *p; |
@@ -200,7 +201,7 @@ int __cpuexit __cpu_disable(void) | |||
200 | * called on the thread which is asking for a CPU to be shutdown - | 201 | * called on the thread which is asking for a CPU to be shutdown - |
201 | * waits until shutdown has completed, or it is timed out. | 202 | * waits until shutdown has completed, or it is timed out. |
202 | */ | 203 | */ |
203 | void __cpuexit __cpu_die(unsigned int cpu) | 204 | void __cpu_die(unsigned int cpu) |
204 | { | 205 | { |
205 | if (!platform_cpu_kill(cpu)) | 206 | if (!platform_cpu_kill(cpu)) |
206 | printk("CPU%u: unable to kill\n", cpu); | 207 | printk("CPU%u: unable to kill\n", cpu); |
@@ -214,7 +215,7 @@ void __cpuexit __cpu_die(unsigned int cpu) | |||
214 | * of the other hotplug-cpu capable cores, so presumably coming | 215 | * of the other hotplug-cpu capable cores, so presumably coming |
215 | * out of idle fixes this. | 216 | * out of idle fixes this. |
216 | */ | 217 | */ |
217 | void __cpuexit cpu_die(void) | 218 | void __ref cpu_die(void) |
218 | { | 219 | { |
219 | unsigned int cpu = smp_processor_id(); | 220 | unsigned int cpu = smp_processor_id(); |
220 | 221 | ||
@@ -586,12 +587,6 @@ struct tlb_args { | |||
586 | unsigned long ta_end; | 587 | unsigned long ta_end; |
587 | }; | 588 | }; |
588 | 589 | ||
589 | /* all SMP configurations have the extended CPUID registers */ | ||
590 | static inline int tlb_ops_need_broadcast(void) | ||
591 | { | ||
592 | return ((read_cpuid_ext(CPUID_EXT_MMFR3) >> 12) & 0xf) < 2; | ||
593 | } | ||
594 | |||
595 | static inline void ipi_flush_tlb_all(void *ignored) | 590 | static inline void ipi_flush_tlb_all(void *ignored) |
596 | { | 591 | { |
597 | local_flush_tlb_all(); | 592 | local_flush_tlb_all(); |
diff --git a/arch/arm/kernel/smp_twd.c b/arch/arm/kernel/smp_twd.c index d8c88c633c6f..a73a34dccf2a 100644 --- a/arch/arm/kernel/smp_twd.c +++ b/arch/arm/kernel/smp_twd.c | |||
@@ -166,10 +166,12 @@ void __cpuinit twd_timer_setup(struct clock_event_device *clk) | |||
166 | clockevents_register_device(clk); | 166 | clockevents_register_device(clk); |
167 | } | 167 | } |
168 | 168 | ||
169 | #ifdef CONFIG_HOTPLUG_CPU | ||
169 | /* | 170 | /* |
170 | * take a local timer down | 171 | * take a local timer down |
171 | */ | 172 | */ |
172 | void __cpuexit twd_timer_stop(void) | 173 | void twd_timer_stop(void) |
173 | { | 174 | { |
174 | __raw_writel(0, twd_base + TWD_TIMER_CONTROL); | 175 | __raw_writel(0, twd_base + TWD_TIMER_CONTROL); |
175 | } | 176 | } |
177 | #endif | ||
diff --git a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c index 4cdc4a0bd02d..d38cdf2c8276 100644 --- a/arch/arm/kernel/time.c +++ b/arch/arm/kernel/time.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
22 | #include <linux/time.h> | 22 | #include <linux/time.h> |
23 | #include <linux/init.h> | 23 | #include <linux/init.h> |
24 | #include <linux/sched.h> | ||
24 | #include <linux/smp.h> | 25 | #include <linux/smp.h> |
25 | #include <linux/timex.h> | 26 | #include <linux/timex.h> |
26 | #include <linux/errno.h> | 27 | #include <linux/errno.h> |
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 57eb0f6f6005..467b69ed1021 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -418,12 +418,14 @@ static int bad_syscall(int n, struct pt_regs *regs) | |||
418 | static inline void | 418 | static inline void |
419 | do_cache_op(unsigned long start, unsigned long end, int flags) | 419 | do_cache_op(unsigned long start, unsigned long end, int flags) |
420 | { | 420 | { |
421 | struct mm_struct *mm = current->active_mm; | ||
421 | struct vm_area_struct *vma; | 422 | struct vm_area_struct *vma; |
422 | 423 | ||
423 | if (end < start || flags) | 424 | if (end < start || flags) |
424 | return; | 425 | return; |
425 | 426 | ||
426 | vma = find_vma(current->active_mm, start); | 427 | down_read(&mm->mmap_sem); |
428 | vma = find_vma(mm, start); | ||
427 | if (vma && vma->vm_start < end) { | 429 | if (vma && vma->vm_start < end) { |
428 | if (start < vma->vm_start) | 430 | if (start < vma->vm_start) |
429 | start = vma->vm_start; | 431 | start = vma->vm_start; |
@@ -432,6 +434,7 @@ do_cache_op(unsigned long start, unsigned long end, int flags) | |||
432 | 434 | ||
433 | flush_cache_user_range(vma, start, end); | 435 | flush_cache_user_range(vma, start, end); |
434 | } | 436 | } |
437 | up_read(&mm->mmap_sem); | ||
435 | } | 438 | } |
436 | 439 | ||
437 | /* | 440 | /* |
diff --git a/arch/arm/mach-bcmring/core.c b/arch/arm/mach-bcmring/core.c index 492c649f451e..4b4f69251b31 100644 --- a/arch/arm/mach-bcmring/core.c +++ b/arch/arm/mach-bcmring/core.c | |||
@@ -31,7 +31,6 @@ | |||
31 | #include <linux/clocksource.h> | 31 | #include <linux/clocksource.h> |
32 | #include <linux/clockchips.h> | 32 | #include <linux/clockchips.h> |
33 | 33 | ||
34 | #include <linux/amba/bus.h> | ||
35 | #include <mach/csp/mm_addr.h> | 34 | #include <mach/csp/mm_addr.h> |
36 | #include <mach/hardware.h> | 35 | #include <mach/hardware.h> |
37 | #include <asm/clkdev.h> | 36 | #include <asm/clkdev.h> |
@@ -45,7 +44,6 @@ | |||
45 | #include <asm/mach/irq.h> | 44 | #include <asm/mach/irq.h> |
46 | #include <asm/mach/time.h> | 45 | #include <asm/mach/time.h> |
47 | #include <asm/mach/map.h> | 46 | #include <asm/mach/map.h> |
48 | #include <asm/mach/mmc.h> | ||
49 | 47 | ||
50 | #include <cfg_global.h> | 48 | #include <cfg_global.h> |
51 | 49 | ||
diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c index a1d5e7dac741..52dd8046b305 100644 --- a/arch/arm/mach-davinci/board-dm365-evm.c +++ b/arch/arm/mach-davinci/board-dm365-evm.c | |||
@@ -35,7 +35,6 @@ | |||
35 | #include <mach/common.h> | 35 | #include <mach/common.h> |
36 | #include <mach/i2c.h> | 36 | #include <mach/i2c.h> |
37 | #include <mach/serial.h> | 37 | #include <mach/serial.h> |
38 | #include <mach/common.h> | ||
39 | #include <mach/mmc.h> | 38 | #include <mach/mmc.h> |
40 | #include <mach/nand.h> | 39 | #include <mach/nand.h> |
41 | 40 | ||
diff --git a/arch/arm/mach-integrator/pci_v3.c b/arch/arm/mach-integrator/pci_v3.c index f1d72b225450..148d25fc636f 100644 --- a/arch/arm/mach-integrator/pci_v3.c +++ b/arch/arm/mach-integrator/pci_v3.c | |||
@@ -31,6 +31,7 @@ | |||
31 | 31 | ||
32 | #include <mach/hardware.h> | 32 | #include <mach/hardware.h> |
33 | #include <asm/irq.h> | 33 | #include <asm/irq.h> |
34 | #include <asm/signal.h> | ||
34 | #include <asm/system.h> | 35 | #include <asm/system.h> |
35 | #include <asm/mach/pci.h> | 36 | #include <asm/mach/pci.h> |
36 | #include <asm/irq_regs.h> | 37 | #include <asm/irq_regs.h> |
@@ -486,7 +487,7 @@ int __init pci_v3_setup(int nr, struct pci_sys_data *sys) | |||
486 | return ret; | 487 | return ret; |
487 | } | 488 | } |
488 | 489 | ||
489 | struct pci_bus *pci_v3_scan_bus(int nr, struct pci_sys_data *sys) | 490 | struct pci_bus * __init pci_v3_scan_bus(int nr, struct pci_sys_data *sys) |
490 | { | 491 | { |
491 | return pci_scan_bus(sys->busnr, &pci_v3_ops, sys); | 492 | return pci_scan_bus(sys->busnr, &pci_v3_ops, sys); |
492 | } | 493 | } |
diff --git a/arch/arm/mach-iop32x/include/mach/iop32x.h b/arch/arm/mach-iop32x/include/mach/iop32x.h index abd9eb49f103..941f363aca56 100644 --- a/arch/arm/mach-iop32x/include/mach/iop32x.h +++ b/arch/arm/mach-iop32x/include/mach/iop32x.h | |||
@@ -31,7 +31,5 @@ | |||
31 | #define IOP32X_MAX_RAM_SIZE 0x40000000UL | 31 | #define IOP32X_MAX_RAM_SIZE 0x40000000UL |
32 | #define IOP3XX_MAX_RAM_SIZE IOP32X_MAX_RAM_SIZE | 32 | #define IOP3XX_MAX_RAM_SIZE IOP32X_MAX_RAM_SIZE |
33 | #define IOP3XX_PCI_LOWER_MEM_BA 0x80000000 | 33 | #define IOP3XX_PCI_LOWER_MEM_BA 0x80000000 |
34 | #define IOP32X_PCI_MEM_WINDOW_SIZE 0x04000000 | ||
35 | #define IOP3XX_PCI_MEM_WINDOW_SIZE IOP32X_PCI_MEM_WINDOW_SIZE | ||
36 | 34 | ||
37 | #endif | 35 | #endif |
diff --git a/arch/arm/mach-iop33x/include/mach/iop33x.h b/arch/arm/mach-iop33x/include/mach/iop33x.h index 24567316ec88..a89c0a234bff 100644 --- a/arch/arm/mach-iop33x/include/mach/iop33x.h +++ b/arch/arm/mach-iop33x/include/mach/iop33x.h | |||
@@ -36,8 +36,6 @@ | |||
36 | #define IOP33X_MAX_RAM_SIZE 0x80000000UL | 36 | #define IOP33X_MAX_RAM_SIZE 0x80000000UL |
37 | #define IOP3XX_MAX_RAM_SIZE IOP33X_MAX_RAM_SIZE | 37 | #define IOP3XX_MAX_RAM_SIZE IOP33X_MAX_RAM_SIZE |
38 | #define IOP3XX_PCI_LOWER_MEM_BA (PHYS_OFFSET + IOP33X_MAX_RAM_SIZE) | 38 | #define IOP3XX_PCI_LOWER_MEM_BA (PHYS_OFFSET + IOP33X_MAX_RAM_SIZE) |
39 | #define IOP33X_PCI_MEM_WINDOW_SIZE 0x08000000 | ||
40 | #define IOP3XX_PCI_MEM_WINDOW_SIZE IOP33X_PCI_MEM_WINDOW_SIZE | ||
41 | 39 | ||
42 | 40 | ||
43 | #endif | 41 | #endif |
diff --git a/arch/arm/mach-ns9xxx/clock.c b/arch/arm/mach-ns9xxx/clock.c index 44ed20d4a388..cf81cbc57544 100644 --- a/arch/arm/mach-ns9xxx/clock.c +++ b/arch/arm/mach-ns9xxx/clock.c | |||
@@ -195,7 +195,7 @@ static int clk_debugfs_open(struct inode *inode, struct file *file) | |||
195 | return single_open(file, clk_debugfs_show, NULL); | 195 | return single_open(file, clk_debugfs_show, NULL); |
196 | } | 196 | } |
197 | 197 | ||
198 | static struct file_operations clk_debugfs_operations = { | 198 | static const struct file_operations clk_debugfs_operations = { |
199 | .open = clk_debugfs_open, | 199 | .open = clk_debugfs_open, |
200 | .read = seq_read, | 200 | .read = seq_read, |
201 | .llseek = seq_lseek, | 201 | .llseek = seq_lseek, |
diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c index 4ef26faf083e..e5dcdf764c91 100644 --- a/arch/arm/mach-omap1/id.c +++ b/arch/arm/mach-omap1/id.c | |||
@@ -38,7 +38,7 @@ static struct omap_id omap_ids[] __initdata = { | |||
38 | { .jtag_id = 0xb574, .die_rev = 0x2, .omap_id = 0x03310315, .type = 0x03100000}, | 38 | { .jtag_id = 0xb574, .die_rev = 0x2, .omap_id = 0x03310315, .type = 0x03100000}, |
39 | { .jtag_id = 0x355f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300100}, | 39 | { .jtag_id = 0x355f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300100}, |
40 | { .jtag_id = 0xb55f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300300}, | 40 | { .jtag_id = 0xb55f, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x07300300}, |
41 | { .jtag_id = 0xb55f, .die_rev = 0x0, .omap_id = 0x03320500, .type = 0x08500000}, | 41 | { .jtag_id = 0xb62c, .die_rev = 0x1, .omap_id = 0x03320500, .type = 0x08500000}, |
42 | { .jtag_id = 0xb470, .die_rev = 0x0, .omap_id = 0x03310100, .type = 0x15100000}, | 42 | { .jtag_id = 0xb470, .die_rev = 0x0, .omap_id = 0x03310100, .type = 0x15100000}, |
43 | { .jtag_id = 0xb576, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x16100000}, | 43 | { .jtag_id = 0xb576, .die_rev = 0x0, .omap_id = 0x03320000, .type = 0x16100000}, |
44 | { .jtag_id = 0xb576, .die_rev = 0x2, .omap_id = 0x03320100, .type = 0x16110000}, | 44 | { .jtag_id = 0xb576, .die_rev = 0x2, .omap_id = 0x03320100, .type = 0x16110000}, |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index bd57ec76dc5e..efaf053eba85 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
@@ -54,7 +54,7 @@ | |||
54 | 54 | ||
55 | #define TWL4030_MSECURE_GPIO 22 | 55 | #define TWL4030_MSECURE_GPIO 22 |
56 | 56 | ||
57 | static int sdp3430_keymap[] = { | 57 | static int board_keymap[] = { |
58 | KEY(0, 0, KEY_LEFT), | 58 | KEY(0, 0, KEY_LEFT), |
59 | KEY(0, 1, KEY_RIGHT), | 59 | KEY(0, 1, KEY_RIGHT), |
60 | KEY(0, 2, KEY_A), | 60 | KEY(0, 2, KEY_A), |
@@ -88,11 +88,15 @@ static int sdp3430_keymap[] = { | |||
88 | 0 | 88 | 0 |
89 | }; | 89 | }; |
90 | 90 | ||
91 | static struct matrix_keymap_data board_map_data = { | ||
92 | .keymap = board_keymap, | ||
93 | .keymap_size = ARRAY_SIZE(board_keymap), | ||
94 | }; | ||
95 | |||
91 | static struct twl4030_keypad_data sdp3430_kp_data = { | 96 | static struct twl4030_keypad_data sdp3430_kp_data = { |
97 | .keymap_data = &board_map_data, | ||
92 | .rows = 5, | 98 | .rows = 5, |
93 | .cols = 6, | 99 | .cols = 6, |
94 | .keymap = sdp3430_keymap, | ||
95 | .keymapsize = ARRAY_SIZE(sdp3430_keymap), | ||
96 | .rep = 1, | 100 | .rep = 1, |
97 | }; | 101 | }; |
98 | 102 | ||
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index ec6854cbdd9f..d110a7fdfbd8 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c | |||
@@ -80,7 +80,7 @@ static struct platform_device ldp_smsc911x_device = { | |||
80 | }, | 80 | }, |
81 | }; | 81 | }; |
82 | 82 | ||
83 | static int ldp_twl4030_keymap[] = { | 83 | static int board_keymap[] = { |
84 | KEY(0, 0, KEY_1), | 84 | KEY(0, 0, KEY_1), |
85 | KEY(1, 0, KEY_2), | 85 | KEY(1, 0, KEY_2), |
86 | KEY(2, 0, KEY_3), | 86 | KEY(2, 0, KEY_3), |
@@ -101,11 +101,15 @@ static int ldp_twl4030_keymap[] = { | |||
101 | 0 | 101 | 0 |
102 | }; | 102 | }; |
103 | 103 | ||
104 | static struct matrix_keymap_data board_map_data = { | ||
105 | .keymap = board_keymap, | ||
106 | .keymap_size = ARRAY_SIZE(board_keymap), | ||
107 | }; | ||
108 | |||
104 | static struct twl4030_keypad_data ldp_kp_twl4030_data = { | 109 | static struct twl4030_keypad_data ldp_kp_twl4030_data = { |
110 | .keymap_data = &board_map_data, | ||
105 | .rows = 6, | 111 | .rows = 6, |
106 | .cols = 6, | 112 | .cols = 6, |
107 | .keymap = ldp_twl4030_keymap, | ||
108 | .keymapsize = ARRAY_SIZE(ldp_twl4030_keymap), | ||
109 | .rep = 1, | 113 | .rep = 1, |
110 | }; | 114 | }; |
111 | 115 | ||
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 500c9956876d..70df6b4dbcd4 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
@@ -139,8 +139,13 @@ static struct gpio_led gpio_leds[]; | |||
139 | static int beagle_twl_gpio_setup(struct device *dev, | 139 | static int beagle_twl_gpio_setup(struct device *dev, |
140 | unsigned gpio, unsigned ngpio) | 140 | unsigned gpio, unsigned ngpio) |
141 | { | 141 | { |
142 | if (system_rev >= 0x20 && system_rev <= 0x34301000) { | ||
143 | omap_cfg_reg(AG9_34XX_GPIO23); | ||
144 | mmc[0].gpio_wp = 23; | ||
145 | } else { | ||
146 | omap_cfg_reg(AH8_34XX_GPIO29); | ||
147 | } | ||
142 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ | 148 | /* gpio + 0 is "mmc0_cd" (input/IRQ) */ |
143 | omap_cfg_reg(AH8_34XX_GPIO29); | ||
144 | mmc[0].gpio_cd = gpio + 0; | 149 | mmc[0].gpio_cd = gpio + 0; |
145 | twl4030_mmc_init(mmc); | 150 | twl4030_mmc_init(mmc); |
146 | 151 | ||
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index d50b9be90580..e4ec0c591216 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
@@ -159,7 +159,7 @@ static struct twl4030_usb_data omap3evm_usb_data = { | |||
159 | .usb_mode = T2_USB_MODE_ULPI, | 159 | .usb_mode = T2_USB_MODE_ULPI, |
160 | }; | 160 | }; |
161 | 161 | ||
162 | static int omap3evm_keymap[] = { | 162 | static int board_keymap[] = { |
163 | KEY(0, 0, KEY_LEFT), | 163 | KEY(0, 0, KEY_LEFT), |
164 | KEY(0, 1, KEY_RIGHT), | 164 | KEY(0, 1, KEY_RIGHT), |
165 | KEY(0, 2, KEY_A), | 165 | KEY(0, 2, KEY_A), |
@@ -178,11 +178,15 @@ static int omap3evm_keymap[] = { | |||
178 | KEY(3, 3, KEY_P) | 178 | KEY(3, 3, KEY_P) |
179 | }; | 179 | }; |
180 | 180 | ||
181 | static struct matrix_keymap_data board_map_data = { | ||
182 | .keymap = board_keymap, | ||
183 | .keymap_size = ARRAY_SIZE(board_keymap), | ||
184 | }; | ||
185 | |||
181 | static struct twl4030_keypad_data omap3evm_kp_data = { | 186 | static struct twl4030_keypad_data omap3evm_kp_data = { |
187 | .keymap_data = &board_map_data, | ||
182 | .rows = 4, | 188 | .rows = 4, |
183 | .cols = 4, | 189 | .cols = 4, |
184 | .keymap = omap3evm_keymap, | ||
185 | .keymapsize = ARRAY_SIZE(omap3evm_keymap), | ||
186 | .rep = 1, | 190 | .rep = 1, |
187 | }; | 191 | }; |
188 | 192 | ||
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index b43f6e36b6d9..7f6bf8772af7 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
@@ -133,7 +133,7 @@ static void __init pandora_keys_gpio_init(void) | |||
133 | omap_set_gpio_debounce_time(32 * 5, GPIO_DEBOUNCE_TIME); | 133 | omap_set_gpio_debounce_time(32 * 5, GPIO_DEBOUNCE_TIME); |
134 | } | 134 | } |
135 | 135 | ||
136 | static int pandora_keypad_map[] = { | 136 | static int board_keymap[] = { |
137 | /* col, row, code */ | 137 | /* col, row, code */ |
138 | KEY(0, 0, KEY_9), | 138 | KEY(0, 0, KEY_9), |
139 | KEY(0, 1, KEY_0), | 139 | KEY(0, 1, KEY_0), |
@@ -180,11 +180,15 @@ static int pandora_keypad_map[] = { | |||
180 | KEY(5, 2, KEY_FN), | 180 | KEY(5, 2, KEY_FN), |
181 | }; | 181 | }; |
182 | 182 | ||
183 | static struct matrix_keymap_data board_map_data = { | ||
184 | .keymap = board_keymap, | ||
185 | .keymap_size = ARRAY_SIZE(board_keymap), | ||
186 | }; | ||
187 | |||
183 | static struct twl4030_keypad_data pandora_kp_data = { | 188 | static struct twl4030_keypad_data pandora_kp_data = { |
189 | .keymap_data = &board_map_data, | ||
184 | .rows = 8, | 190 | .rows = 8, |
185 | .cols = 6, | 191 | .cols = 6, |
186 | .keymap = pandora_keypad_map, | ||
187 | .keymapsize = ARRAY_SIZE(pandora_keypad_map), | ||
188 | .rep = 1, | 192 | .rep = 1, |
189 | }; | 193 | }; |
190 | 194 | ||
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index e6e8290b7828..c1af5326e92f 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -36,58 +36,62 @@ | |||
36 | #define SYSTEM_REV_B_USES_VAUX3 0x1699 | 36 | #define SYSTEM_REV_B_USES_VAUX3 0x1699 |
37 | #define SYSTEM_REV_S_USES_VAUX3 0x8 | 37 | #define SYSTEM_REV_S_USES_VAUX3 0x8 |
38 | 38 | ||
39 | static int rx51_keymap[] = { | 39 | static int board_keymap[] = { |
40 | KEY(0, 0, KEY_Q), | 40 | KEY(0, 0, KEY_Q), |
41 | KEY(0, 1, KEY_W), | 41 | KEY(0, 1, KEY_O), |
42 | KEY(0, 2, KEY_E), | 42 | KEY(0, 2, KEY_P), |
43 | KEY(0, 3, KEY_R), | 43 | KEY(0, 3, KEY_COMMA), |
44 | KEY(0, 4, KEY_T), | 44 | KEY(0, 4, KEY_BACKSPACE), |
45 | KEY(0, 5, KEY_Y), | 45 | KEY(0, 6, KEY_A), |
46 | KEY(0, 6, KEY_U), | 46 | KEY(0, 7, KEY_S), |
47 | KEY(0, 7, KEY_I), | 47 | KEY(1, 0, KEY_W), |
48 | KEY(1, 0, KEY_O), | ||
49 | KEY(1, 1, KEY_D), | 48 | KEY(1, 1, KEY_D), |
50 | KEY(1, 2, KEY_DOT), | 49 | KEY(1, 2, KEY_F), |
51 | KEY(1, 3, KEY_V), | 50 | KEY(1, 3, KEY_G), |
52 | KEY(1, 4, KEY_DOWN), | 51 | KEY(1, 4, KEY_H), |
53 | KEY(2, 0, KEY_P), | 52 | KEY(1, 5, KEY_J), |
54 | KEY(2, 1, KEY_F), | 53 | KEY(1, 6, KEY_K), |
54 | KEY(1, 7, KEY_L), | ||
55 | KEY(2, 0, KEY_E), | ||
56 | KEY(2, 1, KEY_DOT), | ||
55 | KEY(2, 2, KEY_UP), | 57 | KEY(2, 2, KEY_UP), |
56 | KEY(2, 3, KEY_B), | 58 | KEY(2, 3, KEY_ENTER), |
57 | KEY(2, 4, KEY_RIGHT), | 59 | KEY(2, 5, KEY_Z), |
58 | KEY(3, 0, KEY_COMMA), | 60 | KEY(2, 6, KEY_X), |
59 | KEY(3, 1, KEY_G), | 61 | KEY(2, 7, KEY_C), |
60 | KEY(3, 2, KEY_ENTER), | 62 | KEY(3, 0, KEY_R), |
63 | KEY(3, 1, KEY_V), | ||
64 | KEY(3, 2, KEY_B), | ||
61 | KEY(3, 3, KEY_N), | 65 | KEY(3, 3, KEY_N), |
62 | KEY(4, 0, KEY_BACKSPACE), | 66 | KEY(3, 4, KEY_M), |
63 | KEY(4, 1, KEY_H), | 67 | KEY(3, 5, KEY_SPACE), |
64 | KEY(4, 3, KEY_M), | 68 | KEY(3, 6, KEY_SPACE), |
69 | KEY(3, 7, KEY_LEFT), | ||
70 | KEY(4, 0, KEY_T), | ||
71 | KEY(4, 1, KEY_DOWN), | ||
72 | KEY(4, 2, KEY_RIGHT), | ||
65 | KEY(4, 4, KEY_LEFTCTRL), | 73 | KEY(4, 4, KEY_LEFTCTRL), |
66 | KEY(5, 1, KEY_J), | 74 | KEY(4, 5, KEY_RIGHTALT), |
67 | KEY(5, 2, KEY_Z), | 75 | KEY(4, 6, KEY_LEFTSHIFT), |
68 | KEY(5, 3, KEY_SPACE), | 76 | KEY(5, 0, KEY_Y), |
69 | KEY(5, 4, KEY_LEFTSHIFT), | 77 | KEY(6, 0, KEY_U), |
70 | KEY(6, 0, KEY_A), | 78 | KEY(7, 0, KEY_I), |
71 | KEY(6, 1, KEY_K), | 79 | KEY(7, 1, KEY_F7), |
72 | KEY(6, 2, KEY_X), | 80 | KEY(7, 2, KEY_F8), |
73 | KEY(6, 3, KEY_SPACE), | 81 | KEY(0xff, 2, KEY_F9), |
74 | KEY(6, 4, KEY_FN), | 82 | KEY(0xff, 4, KEY_F10), |
75 | KEY(7, 0, KEY_S), | 83 | KEY(0xff, 5, KEY_F11), |
76 | KEY(7, 1, KEY_L), | 84 | }; |
77 | KEY(7, 2, KEY_C), | 85 | |
78 | KEY(7, 3, KEY_LEFT), | 86 | static struct matrix_keymap_data board_map_data = { |
79 | KEY(0xff, 0, KEY_F6), | 87 | .keymap = board_keymap, |
80 | KEY(0xff, 1, KEY_F7), | 88 | .keymap_size = ARRAY_SIZE(board_keymap), |
81 | KEY(0xff, 2, KEY_F8), | ||
82 | KEY(0xff, 4, KEY_F9), | ||
83 | KEY(0xff, 5, KEY_F10), | ||
84 | }; | 89 | }; |
85 | 90 | ||
86 | static struct twl4030_keypad_data rx51_kp_data = { | 91 | static struct twl4030_keypad_data rx51_kp_data = { |
92 | .keymap_data = &board_map_data, | ||
87 | .rows = 8, | 93 | .rows = 8, |
88 | .cols = 8, | 94 | .cols = 8, |
89 | .keymap = rx51_keymap, | ||
90 | .keymapsize = ARRAY_SIZE(rx51_keymap), | ||
91 | .rep = 1, | 95 | .rep = 1, |
92 | }; | 96 | }; |
93 | 97 | ||
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c index 324009edbd53..b7b32208ced7 100644 --- a/arch/arm/mach-omap2/board-zoom2.c +++ b/arch/arm/mach-omap2/board-zoom2.c | |||
@@ -27,7 +27,7 @@ | |||
27 | #include "mmc-twl4030.h" | 27 | #include "mmc-twl4030.h" |
28 | 28 | ||
29 | /* Zoom2 has Qwerty keyboard*/ | 29 | /* Zoom2 has Qwerty keyboard*/ |
30 | static int zoom2_twl4030_keymap[] = { | 30 | static int board_keymap[] = { |
31 | KEY(0, 0, KEY_E), | 31 | KEY(0, 0, KEY_E), |
32 | KEY(1, 0, KEY_R), | 32 | KEY(1, 0, KEY_R), |
33 | KEY(2, 0, KEY_T), | 33 | KEY(2, 0, KEY_T), |
@@ -82,11 +82,15 @@ static int zoom2_twl4030_keymap[] = { | |||
82 | 0 | 82 | 0 |
83 | }; | 83 | }; |
84 | 84 | ||
85 | static struct matrix_keymap_data board_map_data = { | ||
86 | .keymap = board_keymap, | ||
87 | .keymap_size = ARRAY_SIZE(board_keymap), | ||
88 | }; | ||
89 | |||
85 | static struct twl4030_keypad_data zoom2_kp_twl4030_data = { | 90 | static struct twl4030_keypad_data zoom2_kp_twl4030_data = { |
91 | .keymap_data = &board_map_data, | ||
86 | .rows = 8, | 92 | .rows = 8, |
87 | .cols = 8, | 93 | .cols = 8, |
88 | .keymap = zoom2_twl4030_keymap, | ||
89 | .keymapsize = ARRAY_SIZE(zoom2_twl4030_keymap), | ||
90 | .rep = 1, | 94 | .rep = 1, |
91 | }; | 95 | }; |
92 | 96 | ||
diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c index fafcd32e6907..489556eecbd1 100644 --- a/arch/arm/mach-omap2/clock34xx.c +++ b/arch/arm/mach-omap2/clock34xx.c | |||
@@ -338,6 +338,13 @@ static struct omap_clk omap34xx_clks[] = { | |||
338 | */ | 338 | */ |
339 | #define SDRC_MPURATE_LOOPS 96 | 339 | #define SDRC_MPURATE_LOOPS 96 |
340 | 340 | ||
341 | /* | ||
342 | * DPLL5_FREQ_FOR_USBHOST: USBHOST and USBTLL are the only clocks | ||
343 | * that are sourced by DPLL5, and both of these require this clock | ||
344 | * to be at 120 MHz for proper operation. | ||
345 | */ | ||
346 | #define DPLL5_FREQ_FOR_USBHOST 120000000 | ||
347 | |||
341 | /** | 348 | /** |
342 | * omap3430es2_clk_ssi_find_idlest - return CM_IDLEST info for SSI | 349 | * omap3430es2_clk_ssi_find_idlest - return CM_IDLEST info for SSI |
343 | * @clk: struct clk * being enabled | 350 | * @clk: struct clk * being enabled |
@@ -1056,6 +1063,28 @@ void omap2_clk_prepare_for_reboot(void) | |||
1056 | #endif | 1063 | #endif |
1057 | } | 1064 | } |
1058 | 1065 | ||
1066 | static void omap3_clk_lock_dpll5(void) | ||
1067 | { | ||
1068 | struct clk *dpll5_clk; | ||
1069 | struct clk *dpll5_m2_clk; | ||
1070 | |||
1071 | dpll5_clk = clk_get(NULL, "dpll5_ck"); | ||
1072 | clk_set_rate(dpll5_clk, DPLL5_FREQ_FOR_USBHOST); | ||
1073 | clk_enable(dpll5_clk); | ||
1074 | |||
1075 | /* Enable autoidle to allow it to enter low power bypass */ | ||
1076 | omap3_dpll_allow_idle(dpll5_clk); | ||
1077 | |||
1078 | /* Program dpll5_m2_clk divider for no division */ | ||
1079 | dpll5_m2_clk = clk_get(NULL, "dpll5_m2_ck"); | ||
1080 | clk_enable(dpll5_m2_clk); | ||
1081 | clk_set_rate(dpll5_m2_clk, DPLL5_FREQ_FOR_USBHOST); | ||
1082 | |||
1083 | clk_disable(dpll5_m2_clk); | ||
1084 | clk_disable(dpll5_clk); | ||
1085 | return; | ||
1086 | } | ||
1087 | |||
1059 | /* REVISIT: Move this init stuff out into clock.c */ | 1088 | /* REVISIT: Move this init stuff out into clock.c */ |
1060 | 1089 | ||
1061 | /* | 1090 | /* |
@@ -1148,6 +1177,12 @@ int __init omap2_clk_init(void) | |||
1148 | */ | 1177 | */ |
1149 | clk_enable_init_clocks(); | 1178 | clk_enable_init_clocks(); |
1150 | 1179 | ||
1180 | /* | ||
1181 | * Lock DPLL5 and put it in autoidle. | ||
1182 | */ | ||
1183 | if (omap_rev() >= OMAP3430_REV_ES2_0) | ||
1184 | omap3_clk_lock_dpll5(); | ||
1185 | |||
1151 | /* Avoid sleeping during omap2_clk_prepare_for_reboot() */ | 1186 | /* Avoid sleeping during omap2_clk_prepare_for_reboot() */ |
1152 | /* REVISIT: not yet ready for 343x */ | 1187 | /* REVISIT: not yet ready for 343x */ |
1153 | #if 0 | 1188 | #if 0 |
diff --git a/arch/arm/mach-omap2/cm4xxx.c b/arch/arm/mach-omap2/cm4xxx.c index e4ebd6d53135..4af76bb1003a 100644 --- a/arch/arm/mach-omap2/cm4xxx.c +++ b/arch/arm/mach-omap2/cm4xxx.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <asm/atomic.h> | 22 | #include <asm/atomic.h> |
23 | 23 | ||
24 | #include "cm.h" | 24 | #include "cm.h" |
25 | #include "cm-regbits-4xxx.h" | ||
26 | 25 | ||
27 | /* XXX move this to cm.h */ | 26 | /* XXX move this to cm.h */ |
28 | /* MAX_MODULE_READY_TIME: max milliseconds for module to leave idle */ | 27 | /* MAX_MODULE_READY_TIME: max milliseconds for module to leave idle */ |
@@ -50,19 +49,7 @@ | |||
50 | */ | 49 | */ |
51 | int omap4_cm_wait_idlest_ready(u32 prcm_mod, u8 prcm_dev_offs) | 50 | int omap4_cm_wait_idlest_ready(u32 prcm_mod, u8 prcm_dev_offs) |
52 | { | 51 | { |
53 | int i = 0; | 52 | /* FIXME: Add clock manager related code */ |
54 | u8 cm_id; | 53 | return 0; |
55 | u16 prcm_mod_offs; | ||
56 | u32 mask = OMAP4_PRCM_CM_CLKCTRL_IDLEST_MASK; | ||
57 | |||
58 | cm_id = prcm_mod >> OMAP4_PRCM_MOD_CM_ID_SHIFT; | ||
59 | prcm_mod_offs = prcm_mod & OMAP4_PRCM_MOD_OFFS_MASK; | ||
60 | |||
61 | while (((omap4_cm_read_mod_reg(cm_id, prcm_mod_offs, prcm_dev_offs, | ||
62 | OMAP4_CM_CLKCTRL_DREG) & mask) != 0) && | ||
63 | (i++ < MAX_MODULE_READY_TIME)) | ||
64 | udelay(1); | ||
65 | |||
66 | return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY; | ||
67 | } | 54 | } |
68 | 55 | ||
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index bcfcfc7fdb9b..faf7a1e0c525 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -355,29 +355,60 @@ static struct platform_device omap2_mcspi4 = { | |||
355 | }; | 355 | }; |
356 | #endif | 356 | #endif |
357 | 357 | ||
358 | static void omap_init_mcspi(void) | 358 | #ifdef CONFIG_ARCH_OMAP4 |
359 | static inline void omap4_mcspi_fixup(void) | ||
359 | { | 360 | { |
360 | if (cpu_is_omap44xx()) { | 361 | omap2_mcspi1_resources[0].start = OMAP4_MCSPI1_BASE; |
361 | omap2_mcspi1_resources[0].start = OMAP4_MCSPI1_BASE; | 362 | omap2_mcspi1_resources[0].end = OMAP4_MCSPI1_BASE + 0xff; |
362 | omap2_mcspi1_resources[0].end = OMAP4_MCSPI1_BASE + 0xff; | 363 | omap2_mcspi2_resources[0].start = OMAP4_MCSPI2_BASE; |
363 | omap2_mcspi2_resources[0].start = OMAP4_MCSPI2_BASE; | 364 | omap2_mcspi2_resources[0].end = OMAP4_MCSPI2_BASE + 0xff; |
364 | omap2_mcspi2_resources[0].end = OMAP4_MCSPI2_BASE + 0xff; | 365 | omap2_mcspi3_resources[0].start = OMAP4_MCSPI3_BASE; |
365 | omap2_mcspi3_resources[0].start = OMAP4_MCSPI3_BASE; | 366 | omap2_mcspi3_resources[0].end = OMAP4_MCSPI3_BASE + 0xff; |
366 | omap2_mcspi3_resources[0].end = OMAP4_MCSPI3_BASE + 0xff; | 367 | omap2_mcspi4_resources[0].start = OMAP4_MCSPI4_BASE; |
367 | omap2_mcspi4_resources[0].start = OMAP4_MCSPI4_BASE; | 368 | omap2_mcspi4_resources[0].end = OMAP4_MCSPI4_BASE + 0xff; |
368 | omap2_mcspi4_resources[0].end = OMAP4_MCSPI4_BASE + 0xff; | 369 | } |
369 | } | 370 | #else |
370 | platform_device_register(&omap2_mcspi1); | 371 | static inline void omap4_mcspi_fixup(void) |
371 | platform_device_register(&omap2_mcspi2); | 372 | { |
373 | } | ||
374 | #endif | ||
375 | |||
372 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \ | 376 | #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \ |
373 | defined(CONFIG_ARCH_OMAP4) | 377 | defined(CONFIG_ARCH_OMAP4) |
374 | if (cpu_is_omap2430() || cpu_is_omap343x() || cpu_is_omap44xx()) | 378 | static inline void omap2_mcspi3_init(void) |
375 | platform_device_register(&omap2_mcspi3); | 379 | { |
380 | platform_device_register(&omap2_mcspi3); | ||
381 | } | ||
382 | #else | ||
383 | static inline void omap2_mcspi3_init(void) | ||
384 | { | ||
385 | } | ||
376 | #endif | 386 | #endif |
387 | |||
377 | #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) | 388 | #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) |
378 | if (cpu_is_omap343x() || cpu_is_omap44xx()) | 389 | static inline void omap2_mcspi4_init(void) |
379 | platform_device_register(&omap2_mcspi4); | 390 | { |
391 | platform_device_register(&omap2_mcspi4); | ||
392 | } | ||
393 | #else | ||
394 | static inline void omap2_mcspi4_init(void) | ||
395 | { | ||
396 | } | ||
380 | #endif | 397 | #endif |
398 | |||
399 | static void omap_init_mcspi(void) | ||
400 | { | ||
401 | if (cpu_is_omap44xx()) | ||
402 | omap4_mcspi_fixup(); | ||
403 | |||
404 | platform_device_register(&omap2_mcspi1); | ||
405 | platform_device_register(&omap2_mcspi2); | ||
406 | |||
407 | if (cpu_is_omap2430() || cpu_is_omap343x() || cpu_is_omap44xx()) | ||
408 | omap2_mcspi3_init(); | ||
409 | |||
410 | if (cpu_is_omap343x() || cpu_is_omap44xx()) | ||
411 | omap2_mcspi4_init(); | ||
381 | } | 412 | } |
382 | 413 | ||
383 | #else | 414 | #else |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 7574b6f20e8e..e3a3bad1d84f 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -294,10 +294,10 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, | |||
294 | else if (cpu_is_omap34xx()) | 294 | else if (cpu_is_omap34xx()) |
295 | hwmods = omap34xx_hwmods; | 295 | hwmods = omap34xx_hwmods; |
296 | 296 | ||
297 | omap_hwmod_init(hwmods); | ||
298 | omap2_mux_init(); | ||
299 | #ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once the clkdev is ready */ | 297 | #ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once the clkdev is ready */ |
300 | /* The OPP tables have to be registered before a clk init */ | 298 | /* The OPP tables have to be registered before a clk init */ |
299 | omap_hwmod_init(hwmods); | ||
300 | omap2_mux_init(); | ||
301 | omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps); | 301 | omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps); |
302 | pwrdm_init(powerdomains_omap); | 302 | pwrdm_init(powerdomains_omap); |
303 | clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps); | 303 | clkdm_init(clockdomains_omap, clkdm_pwrdm_autodeps); |
diff --git a/arch/arm/mach-omap2/iommu2.c b/arch/arm/mach-omap2/iommu2.c index 2d9b5cc981cd..4a0e1cd5c1f4 100644 --- a/arch/arm/mach-omap2/iommu2.c +++ b/arch/arm/mach-omap2/iommu2.c | |||
@@ -79,7 +79,7 @@ static int omap2_iommu_enable(struct iommu *obj) | |||
79 | l = iommu_read_reg(obj, MMU_SYSSTATUS); | 79 | l = iommu_read_reg(obj, MMU_SYSSTATUS); |
80 | if (l & MMU_SYS_RESETDONE) | 80 | if (l & MMU_SYS_RESETDONE) |
81 | break; | 81 | break; |
82 | } while (time_after(jiffies, timeout)); | 82 | } while (!time_after(jiffies, timeout)); |
83 | 83 | ||
84 | if (!(l & MMU_SYS_RESETDONE)) { | 84 | if (!(l & MMU_SYS_RESETDONE)) { |
85 | dev_err(obj->dev, "can't take mmu out of reset\n"); | 85 | dev_err(obj->dev, "can't take mmu out of reset\n"); |
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c index 6f71f3730c97..c035ad3426d0 100644 --- a/arch/arm/mach-omap2/mailbox.c +++ b/arch/arm/mach-omap2/mailbox.c | |||
@@ -30,6 +30,14 @@ | |||
30 | #define MAILBOX_IRQ_NEWMSG(u) (1 << (2 * (u))) | 30 | #define MAILBOX_IRQ_NEWMSG(u) (1 << (2 * (u))) |
31 | #define MAILBOX_IRQ_NOTFULL(u) (1 << (2 * (u) + 1)) | 31 | #define MAILBOX_IRQ_NOTFULL(u) (1 << (2 * (u) + 1)) |
32 | 32 | ||
33 | /* SYSCONFIG: register bit definition */ | ||
34 | #define AUTOIDLE (1 << 0) | ||
35 | #define SOFTRESET (1 << 1) | ||
36 | #define SMARTIDLE (2 << 3) | ||
37 | |||
38 | /* SYSSTATUS: register bit definition */ | ||
39 | #define RESETDONE (1 << 0) | ||
40 | |||
33 | #define MBOX_REG_SIZE 0x120 | 41 | #define MBOX_REG_SIZE 0x120 |
34 | #define MBOX_NR_REGS (MBOX_REG_SIZE / sizeof(u32)) | 42 | #define MBOX_NR_REGS (MBOX_REG_SIZE / sizeof(u32)) |
35 | 43 | ||
@@ -69,21 +77,33 @@ static inline void mbox_write_reg(u32 val, size_t ofs) | |||
69 | /* Mailbox H/W preparations */ | 77 | /* Mailbox H/W preparations */ |
70 | static int omap2_mbox_startup(struct omap_mbox *mbox) | 78 | static int omap2_mbox_startup(struct omap_mbox *mbox) |
71 | { | 79 | { |
72 | unsigned int l; | 80 | u32 l; |
81 | unsigned long timeout; | ||
73 | 82 | ||
74 | mbox_ick_handle = clk_get(NULL, "mailboxes_ick"); | 83 | mbox_ick_handle = clk_get(NULL, "mailboxes_ick"); |
75 | if (IS_ERR(mbox_ick_handle)) { | 84 | if (IS_ERR(mbox_ick_handle)) { |
76 | printk("Could not get mailboxes_ick\n"); | 85 | pr_err("Can't get mailboxes_ick\n"); |
77 | return -ENODEV; | 86 | return -ENODEV; |
78 | } | 87 | } |
79 | clk_enable(mbox_ick_handle); | 88 | clk_enable(mbox_ick_handle); |
80 | 89 | ||
90 | mbox_write_reg(SOFTRESET, MAILBOX_SYSCONFIG); | ||
91 | timeout = jiffies + msecs_to_jiffies(20); | ||
92 | do { | ||
93 | l = mbox_read_reg(MAILBOX_SYSSTATUS); | ||
94 | if (l & RESETDONE) | ||
95 | break; | ||
96 | } while (!time_after(jiffies, timeout)); | ||
97 | |||
98 | if (!(l & RESETDONE)) { | ||
99 | pr_err("Can't take mmu out of reset\n"); | ||
100 | return -ENODEV; | ||
101 | } | ||
102 | |||
81 | l = mbox_read_reg(MAILBOX_REVISION); | 103 | l = mbox_read_reg(MAILBOX_REVISION); |
82 | pr_info("omap mailbox rev %d.%d\n", (l & 0xf0) >> 4, (l & 0x0f)); | 104 | pr_info("omap mailbox rev %d.%d\n", (l & 0xf0) >> 4, (l & 0x0f)); |
83 | 105 | ||
84 | /* set smart-idle & autoidle */ | 106 | l = SMARTIDLE | AUTOIDLE; |
85 | l = mbox_read_reg(MAILBOX_SYSCONFIG); | ||
86 | l |= 0x00000011; | ||
87 | mbox_write_reg(l, MAILBOX_SYSCONFIG); | 107 | mbox_write_reg(l, MAILBOX_SYSCONFIG); |
88 | 108 | ||
89 | omap2_mbox_enable_irq(mbox, IRQ_RX); | 109 | omap2_mbox_enable_irq(mbox, IRQ_RX); |
@@ -156,6 +176,9 @@ static void omap2_mbox_ack_irq(struct omap_mbox *mbox, | |||
156 | u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; | 176 | u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; |
157 | 177 | ||
158 | mbox_write_reg(bit, p->irqstatus); | 178 | mbox_write_reg(bit, p->irqstatus); |
179 | |||
180 | /* Flush posted write for irq status to avoid spurious interrupts */ | ||
181 | mbox_read_reg(p->irqstatus); | ||
159 | } | 182 | } |
160 | 183 | ||
161 | static int omap2_mbox_is_irq(struct omap_mbox *mbox, | 184 | static int omap2_mbox_is_irq(struct omap_mbox *mbox, |
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 2daa595aaff4..b5fac32aae70 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
@@ -460,6 +460,8 @@ MUX_CFG_34XX("AF26_34XX_GPIO0", 0x1e0, | |||
460 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | 460 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) |
461 | MUX_CFG_34XX("AF22_34XX_GPIO9", 0xa18, | 461 | MUX_CFG_34XX("AF22_34XX_GPIO9", 0xa18, |
462 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | 462 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) |
463 | MUX_CFG_34XX("AG9_34XX_GPIO23", 0x5ee, | ||
464 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | ||
463 | MUX_CFG_34XX("AH8_34XX_GPIO29", 0x5fa, | 465 | MUX_CFG_34XX("AH8_34XX_GPIO29", 0x5fa, |
464 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) | 466 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) |
465 | MUX_CFG_34XX("U8_34XX_GPIO54_OUT", 0x0b4, | 467 | MUX_CFG_34XX("U8_34XX_GPIO54_OUT", 0x0b4, |
@@ -472,6 +474,8 @@ MUX_CFG_34XX("G25_34XX_GPIO86_OUT", 0x0fc, | |||
472 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) | 474 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) |
473 | MUX_CFG_34XX("AG4_34XX_GPIO134_OUT", 0x160, | 475 | MUX_CFG_34XX("AG4_34XX_GPIO134_OUT", 0x160, |
474 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) | 476 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) |
477 | MUX_CFG_34XX("AF4_34XX_GPIO135_OUT", 0x162, | ||
478 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) | ||
475 | MUX_CFG_34XX("AE4_34XX_GPIO136_OUT", 0x164, | 479 | MUX_CFG_34XX("AE4_34XX_GPIO136_OUT", 0x164, |
476 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) | 480 | OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) |
477 | MUX_CFG_34XX("AF6_34XX_GPIO140_UP", 0x16c, | 481 | MUX_CFG_34XX("AF6_34XX_GPIO140_UP", 0x16c, |
diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c index 1b4c1600f8d8..2fc4d6abbd0a 100644 --- a/arch/arm/mach-omap2/pm-debug.c +++ b/arch/arm/mach-omap2/pm-debug.c | |||
@@ -541,7 +541,7 @@ static int __init pm_dbg_init(void) | |||
541 | printk(KERN_ERR "%s: only OMAP3 supported\n", __func__); | 541 | printk(KERN_ERR "%s: only OMAP3 supported\n", __func__); |
542 | return -ENODEV; | 542 | return -ENODEV; |
543 | } | 543 | } |
544 | 544 | ||
545 | d = debugfs_create_dir("pm_debug", NULL); | 545 | d = debugfs_create_dir("pm_debug", NULL); |
546 | if (IS_ERR(d)) | 546 | if (IS_ERR(d)) |
547 | return PTR_ERR(d); | 547 | return PTR_ERR(d); |
@@ -551,7 +551,7 @@ static int __init pm_dbg_init(void) | |||
551 | (void) debugfs_create_file("time", S_IRUGO, | 551 | (void) debugfs_create_file("time", S_IRUGO, |
552 | d, (void *)DEBUG_FILE_TIMERS, &debug_fops); | 552 | d, (void *)DEBUG_FILE_TIMERS, &debug_fops); |
553 | 553 | ||
554 | pwrdm_for_each(pwrdms_setup, (void *)d); | 554 | pwrdm_for_each_nolock(pwrdms_setup, (void *)d); |
555 | 555 | ||
556 | pm_dbg_dir = debugfs_create_dir("registers", d); | 556 | pm_dbg_dir = debugfs_create_dir("registers", d); |
557 | if (IS_ERR(pm_dbg_dir)) | 557 | if (IS_ERR(pm_dbg_dir)) |
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 0ff5a6c53aa0..378c2f618358 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c | |||
@@ -51,97 +51,112 @@ static void (*_omap_sram_idle)(u32 *addr, int save_state); | |||
51 | 51 | ||
52 | static struct powerdomain *mpu_pwrdm; | 52 | static struct powerdomain *mpu_pwrdm; |
53 | 53 | ||
54 | /* PRCM Interrupt Handler for wakeups */ | 54 | /* |
55 | static irqreturn_t prcm_interrupt_handler (int irq, void *dev_id) | 55 | * PRCM Interrupt Handler Helper Function |
56 | * | ||
57 | * The purpose of this function is to clear any wake-up events latched | ||
58 | * in the PRCM PM_WKST_x registers. It is possible that a wake-up event | ||
59 | * may occur whilst attempting to clear a PM_WKST_x register and thus | ||
60 | * set another bit in this register. A while loop is used to ensure | ||
61 | * that any peripheral wake-up events occurring while attempting to | ||
62 | * clear the PM_WKST_x are detected and cleared. | ||
63 | */ | ||
64 | static int prcm_clear_mod_irqs(s16 module, u8 regs) | ||
56 | { | 65 | { |
57 | u32 wkst, irqstatus_mpu; | 66 | u32 wkst, fclk, iclk, clken; |
58 | u32 fclk, iclk; | 67 | u16 wkst_off = (regs == 3) ? OMAP3430ES2_PM_WKST3 : PM_WKST1; |
59 | 68 | u16 fclk_off = (regs == 3) ? OMAP3430ES2_CM_FCLKEN3 : CM_FCLKEN1; | |
60 | /* WKUP */ | 69 | u16 iclk_off = (regs == 3) ? CM_ICLKEN3 : CM_ICLKEN1; |
61 | wkst = prm_read_mod_reg(WKUP_MOD, PM_WKST); | 70 | u16 grpsel_off = (regs == 3) ? |
71 | OMAP3430ES2_PM_MPUGRPSEL3 : OMAP3430_PM_MPUGRPSEL; | ||
72 | int c = 0; | ||
73 | |||
74 | wkst = prm_read_mod_reg(module, wkst_off); | ||
75 | wkst &= prm_read_mod_reg(module, grpsel_off); | ||
62 | if (wkst) { | 76 | if (wkst) { |
63 | iclk = cm_read_mod_reg(WKUP_MOD, CM_ICLKEN); | 77 | iclk = cm_read_mod_reg(module, iclk_off); |
64 | fclk = cm_read_mod_reg(WKUP_MOD, CM_FCLKEN); | 78 | fclk = cm_read_mod_reg(module, fclk_off); |
65 | cm_set_mod_reg_bits(wkst, WKUP_MOD, CM_ICLKEN); | 79 | while (wkst) { |
66 | cm_set_mod_reg_bits(wkst, WKUP_MOD, CM_FCLKEN); | 80 | clken = wkst; |
67 | prm_write_mod_reg(wkst, WKUP_MOD, PM_WKST); | 81 | cm_set_mod_reg_bits(clken, module, iclk_off); |
68 | while (prm_read_mod_reg(WKUP_MOD, PM_WKST)) | 82 | /* |
69 | cpu_relax(); | 83 | * For USBHOST, we don't know whether HOST1 or |
70 | cm_write_mod_reg(iclk, WKUP_MOD, CM_ICLKEN); | 84 | * HOST2 woke us up, so enable both f-clocks |
71 | cm_write_mod_reg(fclk, WKUP_MOD, CM_FCLKEN); | 85 | */ |
86 | if (module == OMAP3430ES2_USBHOST_MOD) | ||
87 | clken |= 1 << OMAP3430ES2_EN_USBHOST2_SHIFT; | ||
88 | cm_set_mod_reg_bits(clken, module, fclk_off); | ||
89 | prm_write_mod_reg(wkst, module, wkst_off); | ||
90 | wkst = prm_read_mod_reg(module, wkst_off); | ||
91 | c++; | ||
92 | } | ||
93 | cm_write_mod_reg(iclk, module, iclk_off); | ||
94 | cm_write_mod_reg(fclk, module, fclk_off); | ||
72 | } | 95 | } |
73 | 96 | ||
74 | /* CORE */ | 97 | return c; |
75 | wkst = prm_read_mod_reg(CORE_MOD, PM_WKST1); | 98 | } |
76 | if (wkst) { | ||
77 | iclk = cm_read_mod_reg(CORE_MOD, CM_ICLKEN1); | ||
78 | fclk = cm_read_mod_reg(CORE_MOD, CM_FCLKEN1); | ||
79 | cm_set_mod_reg_bits(wkst, CORE_MOD, CM_ICLKEN1); | ||
80 | cm_set_mod_reg_bits(wkst, CORE_MOD, CM_FCLKEN1); | ||
81 | prm_write_mod_reg(wkst, CORE_MOD, PM_WKST1); | ||
82 | while (prm_read_mod_reg(CORE_MOD, PM_WKST1)) | ||
83 | cpu_relax(); | ||
84 | cm_write_mod_reg(iclk, CORE_MOD, CM_ICLKEN1); | ||
85 | cm_write_mod_reg(fclk, CORE_MOD, CM_FCLKEN1); | ||
86 | } | ||
87 | wkst = prm_read_mod_reg(CORE_MOD, OMAP3430ES2_PM_WKST3); | ||
88 | if (wkst) { | ||
89 | iclk = cm_read_mod_reg(CORE_MOD, CM_ICLKEN3); | ||
90 | fclk = cm_read_mod_reg(CORE_MOD, OMAP3430ES2_CM_FCLKEN3); | ||
91 | cm_set_mod_reg_bits(wkst, CORE_MOD, CM_ICLKEN3); | ||
92 | cm_set_mod_reg_bits(wkst, CORE_MOD, OMAP3430ES2_CM_FCLKEN3); | ||
93 | prm_write_mod_reg(wkst, CORE_MOD, OMAP3430ES2_PM_WKST3); | ||
94 | while (prm_read_mod_reg(CORE_MOD, OMAP3430ES2_PM_WKST3)) | ||
95 | cpu_relax(); | ||
96 | cm_write_mod_reg(iclk, CORE_MOD, CM_ICLKEN3); | ||
97 | cm_write_mod_reg(fclk, CORE_MOD, OMAP3430ES2_CM_FCLKEN3); | ||
98 | } | ||
99 | 99 | ||
100 | /* PER */ | 100 | static int _prcm_int_handle_wakeup(void) |
101 | wkst = prm_read_mod_reg(OMAP3430_PER_MOD, PM_WKST); | 101 | { |
102 | if (wkst) { | 102 | int c; |
103 | iclk = cm_read_mod_reg(OMAP3430_PER_MOD, CM_ICLKEN); | ||
104 | fclk = cm_read_mod_reg(OMAP3430_PER_MOD, CM_FCLKEN); | ||
105 | cm_set_mod_reg_bits(wkst, OMAP3430_PER_MOD, CM_ICLKEN); | ||
106 | cm_set_mod_reg_bits(wkst, OMAP3430_PER_MOD, CM_FCLKEN); | ||
107 | prm_write_mod_reg(wkst, OMAP3430_PER_MOD, PM_WKST); | ||
108 | while (prm_read_mod_reg(OMAP3430_PER_MOD, PM_WKST)) | ||
109 | cpu_relax(); | ||
110 | cm_write_mod_reg(iclk, OMAP3430_PER_MOD, CM_ICLKEN); | ||
111 | cm_write_mod_reg(fclk, OMAP3430_PER_MOD, CM_FCLKEN); | ||
112 | } | ||
113 | 103 | ||
104 | c = prcm_clear_mod_irqs(WKUP_MOD, 1); | ||
105 | c += prcm_clear_mod_irqs(CORE_MOD, 1); | ||
106 | c += prcm_clear_mod_irqs(OMAP3430_PER_MOD, 1); | ||
114 | if (omap_rev() > OMAP3430_REV_ES1_0) { | 107 | if (omap_rev() > OMAP3430_REV_ES1_0) { |
115 | /* USBHOST */ | 108 | c += prcm_clear_mod_irqs(CORE_MOD, 3); |
116 | wkst = prm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, PM_WKST); | 109 | c += prcm_clear_mod_irqs(OMAP3430ES2_USBHOST_MOD, 1); |
117 | if (wkst) { | ||
118 | iclk = cm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, | ||
119 | CM_ICLKEN); | ||
120 | fclk = cm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, | ||
121 | CM_FCLKEN); | ||
122 | cm_set_mod_reg_bits(wkst, OMAP3430ES2_USBHOST_MOD, | ||
123 | CM_ICLKEN); | ||
124 | cm_set_mod_reg_bits(wkst, OMAP3430ES2_USBHOST_MOD, | ||
125 | CM_FCLKEN); | ||
126 | prm_write_mod_reg(wkst, OMAP3430ES2_USBHOST_MOD, | ||
127 | PM_WKST); | ||
128 | while (prm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, | ||
129 | PM_WKST)) | ||
130 | cpu_relax(); | ||
131 | cm_write_mod_reg(iclk, OMAP3430ES2_USBHOST_MOD, | ||
132 | CM_ICLKEN); | ||
133 | cm_write_mod_reg(fclk, OMAP3430ES2_USBHOST_MOD, | ||
134 | CM_FCLKEN); | ||
135 | } | ||
136 | } | 110 | } |
137 | 111 | ||
138 | irqstatus_mpu = prm_read_mod_reg(OCP_MOD, | 112 | return c; |
139 | OMAP3_PRM_IRQSTATUS_MPU_OFFSET); | 113 | } |
140 | prm_write_mod_reg(irqstatus_mpu, OCP_MOD, | 114 | |
141 | OMAP3_PRM_IRQSTATUS_MPU_OFFSET); | 115 | /* |
116 | * PRCM Interrupt Handler | ||
117 | * | ||
118 | * The PRM_IRQSTATUS_MPU register indicates if there are any pending | ||
119 | * interrupts from the PRCM for the MPU. These bits must be cleared in | ||
120 | * order to clear the PRCM interrupt. The PRCM interrupt handler is | ||
121 | * implemented to simply clear the PRM_IRQSTATUS_MPU in order to clear | ||
122 | * the PRCM interrupt. Please note that bit 0 of the PRM_IRQSTATUS_MPU | ||
123 | * register indicates that a wake-up event is pending for the MPU and | ||
124 | * this bit can only be cleared if the all the wake-up events latched | ||
125 | * in the various PM_WKST_x registers have been cleared. The interrupt | ||
126 | * handler is implemented using a do-while loop so that if a wake-up | ||
127 | * event occurred during the processing of the prcm interrupt handler | ||
128 | * (setting a bit in the corresponding PM_WKST_x register and thus | ||
129 | * preventing us from clearing bit 0 of the PRM_IRQSTATUS_MPU register) | ||
130 | * this would be handled. | ||
131 | */ | ||
132 | static irqreturn_t prcm_interrupt_handler (int irq, void *dev_id) | ||
133 | { | ||
134 | u32 irqstatus_mpu; | ||
135 | int c = 0; | ||
136 | |||
137 | do { | ||
138 | irqstatus_mpu = prm_read_mod_reg(OCP_MOD, | ||
139 | OMAP3_PRM_IRQSTATUS_MPU_OFFSET); | ||
140 | |||
141 | if (irqstatus_mpu & (OMAP3430_WKUP_ST | OMAP3430_IO_ST)) { | ||
142 | c = _prcm_int_handle_wakeup(); | ||
143 | |||
144 | /* | ||
145 | * Is the MPU PRCM interrupt handler racing with the | ||
146 | * IVA2 PRCM interrupt handler ? | ||
147 | */ | ||
148 | WARN(c == 0, "prcm: WARNING: PRCM indicated MPU wakeup " | ||
149 | "but no wakeup sources are marked\n"); | ||
150 | } else { | ||
151 | /* XXX we need to expand our PRCM interrupt handler */ | ||
152 | WARN(1, "prcm: WARNING: PRCM interrupt received, but " | ||
153 | "no code to handle it (%08x)\n", irqstatus_mpu); | ||
154 | } | ||
155 | |||
156 | prm_write_mod_reg(irqstatus_mpu, OCP_MOD, | ||
157 | OMAP3_PRM_IRQSTATUS_MPU_OFFSET); | ||
142 | 158 | ||
143 | while (prm_read_mod_reg(OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET)) | 159 | } while (prm_read_mod_reg(OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET)); |
144 | cpu_relax(); | ||
145 | 160 | ||
146 | return IRQ_HANDLED; | 161 | return IRQ_HANDLED; |
147 | } | 162 | } |
@@ -624,6 +639,16 @@ static void __init prcm_setup_regs(void) | |||
624 | prm_write_mod_reg(OMAP3430_IO_EN | OMAP3430_WKUP_EN, | 639 | prm_write_mod_reg(OMAP3430_IO_EN | OMAP3430_WKUP_EN, |
625 | OCP_MOD, OMAP3_PRM_IRQENABLE_MPU_OFFSET); | 640 | OCP_MOD, OMAP3_PRM_IRQENABLE_MPU_OFFSET); |
626 | 641 | ||
642 | /* Enable GPIO wakeups in PER */ | ||
643 | prm_write_mod_reg(OMAP3430_EN_GPIO2 | OMAP3430_EN_GPIO3 | | ||
644 | OMAP3430_EN_GPIO4 | OMAP3430_EN_GPIO5 | | ||
645 | OMAP3430_EN_GPIO6, OMAP3430_PER_MOD, PM_WKEN); | ||
646 | /* and allow them to wake up MPU */ | ||
647 | prm_write_mod_reg(OMAP3430_GRPSEL_GPIO2 | OMAP3430_EN_GPIO3 | | ||
648 | OMAP3430_GRPSEL_GPIO4 | OMAP3430_EN_GPIO5 | | ||
649 | OMAP3430_GRPSEL_GPIO6, | ||
650 | OMAP3430_PER_MOD, OMAP3430_PM_MPUGRPSEL); | ||
651 | |||
627 | /* Don't attach IVA interrupts */ | 652 | /* Don't attach IVA interrupts */ |
628 | prm_write_mod_reg(0, WKUP_MOD, OMAP3430_PM_IVAGRPSEL); | 653 | prm_write_mod_reg(0, WKUP_MOD, OMAP3430_PM_IVAGRPSEL); |
629 | prm_write_mod_reg(0, CORE_MOD, OMAP3430_PM_IVAGRPSEL1); | 654 | prm_write_mod_reg(0, CORE_MOD, OMAP3430_PM_IVAGRPSEL1); |
diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c index 2594cbff3947..f00289abd30f 100644 --- a/arch/arm/mach-omap2/powerdomain.c +++ b/arch/arm/mach-omap2/powerdomain.c | |||
@@ -273,35 +273,50 @@ struct powerdomain *pwrdm_lookup(const char *name) | |||
273 | } | 273 | } |
274 | 274 | ||
275 | /** | 275 | /** |
276 | * pwrdm_for_each - call function on each registered clockdomain | 276 | * pwrdm_for_each_nolock - call function on each registered clockdomain |
277 | * @fn: callback function * | 277 | * @fn: callback function * |
278 | * | 278 | * |
279 | * Call the supplied function for each registered powerdomain. The | 279 | * Call the supplied function for each registered powerdomain. The |
280 | * callback function can return anything but 0 to bail out early from | 280 | * callback function can return anything but 0 to bail out early from |
281 | * the iterator. The callback function is called with the pwrdm_rwlock | 281 | * the iterator. Returns the last return value of the callback function, which |
282 | * held for reading, so no powerdomain structure manipulation | 282 | * should be 0 for success or anything else to indicate failure; or -EINVAL if |
283 | * functions should be called from the callback, although hardware | 283 | * the function pointer is null. |
284 | * powerdomain control functions are fine. Returns the last return | ||
285 | * value of the callback function, which should be 0 for success or | ||
286 | * anything else to indicate failure; or -EINVAL if the function | ||
287 | * pointer is null. | ||
288 | */ | 284 | */ |
289 | int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user), | 285 | int pwrdm_for_each_nolock(int (*fn)(struct powerdomain *pwrdm, void *user), |
290 | void *user) | 286 | void *user) |
291 | { | 287 | { |
292 | struct powerdomain *temp_pwrdm; | 288 | struct powerdomain *temp_pwrdm; |
293 | unsigned long flags; | ||
294 | int ret = 0; | 289 | int ret = 0; |
295 | 290 | ||
296 | if (!fn) | 291 | if (!fn) |
297 | return -EINVAL; | 292 | return -EINVAL; |
298 | 293 | ||
299 | read_lock_irqsave(&pwrdm_rwlock, flags); | ||
300 | list_for_each_entry(temp_pwrdm, &pwrdm_list, node) { | 294 | list_for_each_entry(temp_pwrdm, &pwrdm_list, node) { |
301 | ret = (*fn)(temp_pwrdm, user); | 295 | ret = (*fn)(temp_pwrdm, user); |
302 | if (ret) | 296 | if (ret) |
303 | break; | 297 | break; |
304 | } | 298 | } |
299 | |||
300 | return ret; | ||
301 | } | ||
302 | |||
303 | /** | ||
304 | * pwrdm_for_each - call function on each registered clockdomain | ||
305 | * @fn: callback function * | ||
306 | * | ||
307 | * This function is the same as 'pwrdm_for_each_nolock()', but keeps the | ||
308 | * &pwrdm_rwlock locked for reading, so no powerdomain structure manipulation | ||
309 | * functions should be called from the callback, although hardware powerdomain | ||
310 | * control functions are fine. | ||
311 | */ | ||
312 | int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user), | ||
313 | void *user) | ||
314 | { | ||
315 | unsigned long flags; | ||
316 | int ret; | ||
317 | |||
318 | read_lock_irqsave(&pwrdm_rwlock, flags); | ||
319 | ret = pwrdm_for_each_nolock(fn, user); | ||
305 | read_unlock_irqrestore(&pwrdm_rwlock, flags); | 320 | read_unlock_irqrestore(&pwrdm_rwlock, flags); |
306 | 321 | ||
307 | return ret; | 322 | return ret; |
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index 3a529c77daa8..ae2186892c85 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
@@ -110,7 +110,7 @@ static struct plat_serial8250_port serial_platform_data2[] = { | |||
110 | .uartclk = OMAP24XX_BASE_BAUD * 16, | 110 | .uartclk = OMAP24XX_BASE_BAUD * 16, |
111 | }, { | 111 | }, { |
112 | #ifdef CONFIG_ARCH_OMAP4 | 112 | #ifdef CONFIG_ARCH_OMAP4 |
113 | .membase = IO_ADDRESS(OMAP_UART4_BASE), | 113 | .membase = OMAP2_IO_ADDRESS(OMAP_UART4_BASE), |
114 | .mapbase = OMAP_UART4_BASE, | 114 | .mapbase = OMAP_UART4_BASE, |
115 | .irq = 70, | 115 | .irq = 70, |
116 | .flags = UPF_BOOT_AUTOCONF, | 116 | .flags = UPF_BOOT_AUTOCONF, |
@@ -126,7 +126,7 @@ static struct plat_serial8250_port serial_platform_data2[] = { | |||
126 | #ifdef CONFIG_ARCH_OMAP4 | 126 | #ifdef CONFIG_ARCH_OMAP4 |
127 | static struct plat_serial8250_port serial_platform_data3[] = { | 127 | static struct plat_serial8250_port serial_platform_data3[] = { |
128 | { | 128 | { |
129 | .membase = IO_ADDRESS(OMAP_UART4_BASE), | 129 | .membase = OMAP2_IO_ADDRESS(OMAP_UART4_BASE), |
130 | .mapbase = OMAP_UART4_BASE, | 130 | .mapbase = OMAP_UART4_BASE, |
131 | .irq = 70, | 131 | .irq = 70, |
132 | .flags = UPF_BOOT_AUTOCONF, | 132 | .flags = UPF_BOOT_AUTOCONF, |
@@ -579,7 +579,7 @@ static struct omap_uart_state omap_uart[OMAP_MAX_NR_PORTS] = { | |||
579 | { | 579 | { |
580 | .pdev = { | 580 | .pdev = { |
581 | .name = "serial8250", | 581 | .name = "serial8250", |
582 | .id = 3 | 582 | .id = 3, |
583 | .dev = { | 583 | .dev = { |
584 | .platform_data = serial_platform_data3, | 584 | .platform_data = serial_platform_data3, |
585 | }, | 585 | }, |
diff --git a/arch/arm/mach-sa1100/Kconfig b/arch/arm/mach-sa1100/Kconfig index 81ffff7ed498..4e5c07f4e456 100644 --- a/arch/arm/mach-sa1100/Kconfig +++ b/arch/arm/mach-sa1100/Kconfig | |||
@@ -71,11 +71,6 @@ config SA1100_H3600 | |||
71 | <http://www.handhelds.org/Compaq/index.html#iPAQ_H3600> | 71 | <http://www.handhelds.org/Compaq/index.html#iPAQ_H3600> |
72 | <http://www.compaq.com/products/handhelds/pocketpc/> | 72 | <http://www.compaq.com/products/handhelds/pocketpc/> |
73 | 73 | ||
74 | config SA1100_H3XXX | ||
75 | bool | ||
76 | depends on SA1100_H3100 || SA1100_H3600 | ||
77 | default y | ||
78 | |||
79 | config SA1100_BADGE4 | 74 | config SA1100_BADGE4 |
80 | bool "HP Labs BadgePAD 4" | 75 | bool "HP Labs BadgePAD 4" |
81 | select SA1111 | 76 | select SA1111 |
diff --git a/arch/arm/mach-sa1100/time.c b/arch/arm/mach-sa1100/time.c index 95d92e8e56a8..b9cbb56d6e9d 100644 --- a/arch/arm/mach-sa1100/time.c +++ b/arch/arm/mach-sa1100/time.c | |||
@@ -77,7 +77,7 @@ static struct clock_event_device ckevt_sa1100_osmr0 = { | |||
77 | .set_mode = sa1100_osmr0_set_mode, | 77 | .set_mode = sa1100_osmr0_set_mode, |
78 | }; | 78 | }; |
79 | 79 | ||
80 | static cycle_t sa1100_read_oscr(void) | 80 | static cycle_t sa1100_read_oscr(struct clocksource *s) |
81 | { | 81 | { |
82 | return OSCR; | 82 | return OSCR; |
83 | } | 83 | } |
diff --git a/arch/arm/mach-u300/gpio.c b/arch/arm/mach-u300/gpio.c index 63c8f27fb15a..0b35826b7d1d 100644 --- a/arch/arm/mach-u300/gpio.c +++ b/arch/arm/mach-u300/gpio.c | |||
@@ -281,6 +281,16 @@ int gpio_unregister_callback(unsigned gpio) | |||
281 | } | 281 | } |
282 | EXPORT_SYMBOL(gpio_unregister_callback); | 282 | EXPORT_SYMBOL(gpio_unregister_callback); |
283 | 283 | ||
284 | /* Non-zero means valid */ | ||
285 | int gpio_is_valid(int number) | ||
286 | { | ||
287 | if (number >= 0 && | ||
288 | number < (U300_GPIO_NUM_PORTS * U300_GPIO_PINS_PER_PORT)) | ||
289 | return 1; | ||
290 | return 0; | ||
291 | } | ||
292 | EXPORT_SYMBOL(gpio_is_valid); | ||
293 | |||
284 | int gpio_request(unsigned gpio, const char *label) | 294 | int gpio_request(unsigned gpio, const char *label) |
285 | { | 295 | { |
286 | if (gpio_pin[gpio].users) | 296 | if (gpio_pin[gpio].users) |
diff --git a/arch/arm/mach-u300/include/mach/gpio.h b/arch/arm/mach-u300/include/mach/gpio.h index c8174128d7eb..7b1fc984abb6 100644 --- a/arch/arm/mach-u300/include/mach/gpio.h +++ b/arch/arm/mach-u300/include/mach/gpio.h | |||
@@ -258,6 +258,7 @@ | |||
258 | #define PIN_TO_PORT(val) (val >> 3) | 258 | #define PIN_TO_PORT(val) (val >> 3) |
259 | 259 | ||
260 | /* These can be found in arch/arm/mach-u300/gpio.c */ | 260 | /* These can be found in arch/arm/mach-u300/gpio.c */ |
261 | extern int gpio_is_valid(int number); | ||
261 | extern int gpio_request(unsigned gpio, const char *label); | 262 | extern int gpio_request(unsigned gpio, const char *label); |
262 | extern void gpio_free(unsigned gpio); | 263 | extern void gpio_free(unsigned gpio); |
263 | extern int gpio_direction_input(unsigned gpio); | 264 | extern int gpio_direction_input(unsigned gpio); |
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 8d43e58f9244..e993140edd88 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
@@ -17,7 +17,7 @@ config CPU_ARM610 | |||
17 | select CPU_CP15_MMU | 17 | select CPU_CP15_MMU |
18 | select CPU_COPY_V3 if MMU | 18 | select CPU_COPY_V3 if MMU |
19 | select CPU_TLB_V3 if MMU | 19 | select CPU_TLB_V3 if MMU |
20 | select CPU_PABRT_NOIFAR | 20 | select CPU_PABRT_LEGACY |
21 | help | 21 | help |
22 | The ARM610 is the successor to the ARM3 processor | 22 | The ARM610 is the successor to the ARM3 processor |
23 | and was produced by VLSI Technology Inc. | 23 | and was produced by VLSI Technology Inc. |
@@ -31,7 +31,7 @@ config CPU_ARM7TDMI | |||
31 | depends on !MMU | 31 | depends on !MMU |
32 | select CPU_32v4T | 32 | select CPU_32v4T |
33 | select CPU_ABRT_LV4T | 33 | select CPU_ABRT_LV4T |
34 | select CPU_PABRT_NOIFAR | 34 | select CPU_PABRT_LEGACY |
35 | select CPU_CACHE_V4 | 35 | select CPU_CACHE_V4 |
36 | help | 36 | help |
37 | A 32-bit RISC microprocessor based on the ARM7 processor core | 37 | A 32-bit RISC microprocessor based on the ARM7 processor core |
@@ -49,7 +49,7 @@ config CPU_ARM710 | |||
49 | select CPU_CP15_MMU | 49 | select CPU_CP15_MMU |
50 | select CPU_COPY_V3 if MMU | 50 | select CPU_COPY_V3 if MMU |
51 | select CPU_TLB_V3 if MMU | 51 | select CPU_TLB_V3 if MMU |
52 | select CPU_PABRT_NOIFAR | 52 | select CPU_PABRT_LEGACY |
53 | help | 53 | help |
54 | A 32-bit RISC microprocessor based on the ARM7 processor core | 54 | A 32-bit RISC microprocessor based on the ARM7 processor core |
55 | designed by Advanced RISC Machines Ltd. The ARM710 is the | 55 | designed by Advanced RISC Machines Ltd. The ARM710 is the |
@@ -64,7 +64,7 @@ config CPU_ARM720T | |||
64 | bool "Support ARM720T processor" if ARCH_INTEGRATOR | 64 | bool "Support ARM720T processor" if ARCH_INTEGRATOR |
65 | select CPU_32v4T | 65 | select CPU_32v4T |
66 | select CPU_ABRT_LV4T | 66 | select CPU_ABRT_LV4T |
67 | select CPU_PABRT_NOIFAR | 67 | select CPU_PABRT_LEGACY |
68 | select CPU_CACHE_V4 | 68 | select CPU_CACHE_V4 |
69 | select CPU_CACHE_VIVT | 69 | select CPU_CACHE_VIVT |
70 | select CPU_CP15_MMU | 70 | select CPU_CP15_MMU |
@@ -83,7 +83,7 @@ config CPU_ARM740T | |||
83 | depends on !MMU | 83 | depends on !MMU |
84 | select CPU_32v4T | 84 | select CPU_32v4T |
85 | select CPU_ABRT_LV4T | 85 | select CPU_ABRT_LV4T |
86 | select CPU_PABRT_NOIFAR | 86 | select CPU_PABRT_LEGACY |
87 | select CPU_CACHE_V3 # although the core is v4t | 87 | select CPU_CACHE_V3 # although the core is v4t |
88 | select CPU_CP15_MPU | 88 | select CPU_CP15_MPU |
89 | help | 89 | help |
@@ -100,7 +100,7 @@ config CPU_ARM9TDMI | |||
100 | depends on !MMU | 100 | depends on !MMU |
101 | select CPU_32v4T | 101 | select CPU_32v4T |
102 | select CPU_ABRT_NOMMU | 102 | select CPU_ABRT_NOMMU |
103 | select CPU_PABRT_NOIFAR | 103 | select CPU_PABRT_LEGACY |
104 | select CPU_CACHE_V4 | 104 | select CPU_CACHE_V4 |
105 | help | 105 | help |
106 | A 32-bit RISC microprocessor based on the ARM9 processor core | 106 | A 32-bit RISC microprocessor based on the ARM9 processor core |
@@ -114,7 +114,7 @@ config CPU_ARM920T | |||
114 | bool "Support ARM920T processor" if ARCH_INTEGRATOR | 114 | bool "Support ARM920T processor" if ARCH_INTEGRATOR |
115 | select CPU_32v4T | 115 | select CPU_32v4T |
116 | select CPU_ABRT_EV4T | 116 | select CPU_ABRT_EV4T |
117 | select CPU_PABRT_NOIFAR | 117 | select CPU_PABRT_LEGACY |
118 | select CPU_CACHE_V4WT | 118 | select CPU_CACHE_V4WT |
119 | select CPU_CACHE_VIVT | 119 | select CPU_CACHE_VIVT |
120 | select CPU_CP15_MMU | 120 | select CPU_CP15_MMU |
@@ -135,7 +135,7 @@ config CPU_ARM922T | |||
135 | bool "Support ARM922T processor" if ARCH_INTEGRATOR | 135 | bool "Support ARM922T processor" if ARCH_INTEGRATOR |
136 | select CPU_32v4T | 136 | select CPU_32v4T |
137 | select CPU_ABRT_EV4T | 137 | select CPU_ABRT_EV4T |
138 | select CPU_PABRT_NOIFAR | 138 | select CPU_PABRT_LEGACY |
139 | select CPU_CACHE_V4WT | 139 | select CPU_CACHE_V4WT |
140 | select CPU_CACHE_VIVT | 140 | select CPU_CACHE_VIVT |
141 | select CPU_CP15_MMU | 141 | select CPU_CP15_MMU |
@@ -154,7 +154,7 @@ config CPU_ARM925T | |||
154 | bool "Support ARM925T processor" if ARCH_OMAP1 | 154 | bool "Support ARM925T processor" if ARCH_OMAP1 |
155 | select CPU_32v4T | 155 | select CPU_32v4T |
156 | select CPU_ABRT_EV4T | 156 | select CPU_ABRT_EV4T |
157 | select CPU_PABRT_NOIFAR | 157 | select CPU_PABRT_LEGACY |
158 | select CPU_CACHE_V4WT | 158 | select CPU_CACHE_V4WT |
159 | select CPU_CACHE_VIVT | 159 | select CPU_CACHE_VIVT |
160 | select CPU_CP15_MMU | 160 | select CPU_CP15_MMU |
@@ -173,7 +173,7 @@ config CPU_ARM926T | |||
173 | bool "Support ARM926T processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB | 173 | bool "Support ARM926T processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB |
174 | select CPU_32v5 | 174 | select CPU_32v5 |
175 | select CPU_ABRT_EV5TJ | 175 | select CPU_ABRT_EV5TJ |
176 | select CPU_PABRT_NOIFAR | 176 | select CPU_PABRT_LEGACY |
177 | select CPU_CACHE_VIVT | 177 | select CPU_CACHE_VIVT |
178 | select CPU_CP15_MMU | 178 | select CPU_CP15_MMU |
179 | select CPU_COPY_V4WB if MMU | 179 | select CPU_COPY_V4WB if MMU |
@@ -191,7 +191,7 @@ config CPU_FA526 | |||
191 | bool | 191 | bool |
192 | select CPU_32v4 | 192 | select CPU_32v4 |
193 | select CPU_ABRT_EV4 | 193 | select CPU_ABRT_EV4 |
194 | select CPU_PABRT_NOIFAR | 194 | select CPU_PABRT_LEGACY |
195 | select CPU_CACHE_VIVT | 195 | select CPU_CACHE_VIVT |
196 | select CPU_CP15_MMU | 196 | select CPU_CP15_MMU |
197 | select CPU_CACHE_FA | 197 | select CPU_CACHE_FA |
@@ -210,7 +210,7 @@ config CPU_ARM940T | |||
210 | depends on !MMU | 210 | depends on !MMU |
211 | select CPU_32v4T | 211 | select CPU_32v4T |
212 | select CPU_ABRT_NOMMU | 212 | select CPU_ABRT_NOMMU |
213 | select CPU_PABRT_NOIFAR | 213 | select CPU_PABRT_LEGACY |
214 | select CPU_CACHE_VIVT | 214 | select CPU_CACHE_VIVT |
215 | select CPU_CP15_MPU | 215 | select CPU_CP15_MPU |
216 | help | 216 | help |
@@ -228,7 +228,7 @@ config CPU_ARM946E | |||
228 | depends on !MMU | 228 | depends on !MMU |
229 | select CPU_32v5 | 229 | select CPU_32v5 |
230 | select CPU_ABRT_NOMMU | 230 | select CPU_ABRT_NOMMU |
231 | select CPU_PABRT_NOIFAR | 231 | select CPU_PABRT_LEGACY |
232 | select CPU_CACHE_VIVT | 232 | select CPU_CACHE_VIVT |
233 | select CPU_CP15_MPU | 233 | select CPU_CP15_MPU |
234 | help | 234 | help |
@@ -244,7 +244,7 @@ config CPU_ARM1020 | |||
244 | bool "Support ARM1020T (rev 0) processor" if ARCH_INTEGRATOR | 244 | bool "Support ARM1020T (rev 0) processor" if ARCH_INTEGRATOR |
245 | select CPU_32v5 | 245 | select CPU_32v5 |
246 | select CPU_ABRT_EV4T | 246 | select CPU_ABRT_EV4T |
247 | select CPU_PABRT_NOIFAR | 247 | select CPU_PABRT_LEGACY |
248 | select CPU_CACHE_V4WT | 248 | select CPU_CACHE_V4WT |
249 | select CPU_CACHE_VIVT | 249 | select CPU_CACHE_VIVT |
250 | select CPU_CP15_MMU | 250 | select CPU_CP15_MMU |
@@ -262,7 +262,7 @@ config CPU_ARM1020E | |||
262 | bool "Support ARM1020E processor" if ARCH_INTEGRATOR | 262 | bool "Support ARM1020E processor" if ARCH_INTEGRATOR |
263 | select CPU_32v5 | 263 | select CPU_32v5 |
264 | select CPU_ABRT_EV4T | 264 | select CPU_ABRT_EV4T |
265 | select CPU_PABRT_NOIFAR | 265 | select CPU_PABRT_LEGACY |
266 | select CPU_CACHE_V4WT | 266 | select CPU_CACHE_V4WT |
267 | select CPU_CACHE_VIVT | 267 | select CPU_CACHE_VIVT |
268 | select CPU_CP15_MMU | 268 | select CPU_CP15_MMU |
@@ -275,7 +275,7 @@ config CPU_ARM1022 | |||
275 | bool "Support ARM1022E processor" if ARCH_INTEGRATOR | 275 | bool "Support ARM1022E processor" if ARCH_INTEGRATOR |
276 | select CPU_32v5 | 276 | select CPU_32v5 |
277 | select CPU_ABRT_EV4T | 277 | select CPU_ABRT_EV4T |
278 | select CPU_PABRT_NOIFAR | 278 | select CPU_PABRT_LEGACY |
279 | select CPU_CACHE_VIVT | 279 | select CPU_CACHE_VIVT |
280 | select CPU_CP15_MMU | 280 | select CPU_CP15_MMU |
281 | select CPU_COPY_V4WB if MMU # can probably do better | 281 | select CPU_COPY_V4WB if MMU # can probably do better |
@@ -293,7 +293,7 @@ config CPU_ARM1026 | |||
293 | bool "Support ARM1026EJ-S processor" if ARCH_INTEGRATOR | 293 | bool "Support ARM1026EJ-S processor" if ARCH_INTEGRATOR |
294 | select CPU_32v5 | 294 | select CPU_32v5 |
295 | select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10 | 295 | select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10 |
296 | select CPU_PABRT_NOIFAR | 296 | select CPU_PABRT_LEGACY |
297 | select CPU_CACHE_VIVT | 297 | select CPU_CACHE_VIVT |
298 | select CPU_CP15_MMU | 298 | select CPU_CP15_MMU |
299 | select CPU_COPY_V4WB if MMU # can probably do better | 299 | select CPU_COPY_V4WB if MMU # can probably do better |
@@ -311,7 +311,7 @@ config CPU_SA110 | |||
311 | select CPU_32v3 if ARCH_RPC | 311 | select CPU_32v3 if ARCH_RPC |
312 | select CPU_32v4 if !ARCH_RPC | 312 | select CPU_32v4 if !ARCH_RPC |
313 | select CPU_ABRT_EV4 | 313 | select CPU_ABRT_EV4 |
314 | select CPU_PABRT_NOIFAR | 314 | select CPU_PABRT_LEGACY |
315 | select CPU_CACHE_V4WB | 315 | select CPU_CACHE_V4WB |
316 | select CPU_CACHE_VIVT | 316 | select CPU_CACHE_VIVT |
317 | select CPU_CP15_MMU | 317 | select CPU_CP15_MMU |
@@ -331,7 +331,7 @@ config CPU_SA1100 | |||
331 | bool | 331 | bool |
332 | select CPU_32v4 | 332 | select CPU_32v4 |
333 | select CPU_ABRT_EV4 | 333 | select CPU_ABRT_EV4 |
334 | select CPU_PABRT_NOIFAR | 334 | select CPU_PABRT_LEGACY |
335 | select CPU_CACHE_V4WB | 335 | select CPU_CACHE_V4WB |
336 | select CPU_CACHE_VIVT | 336 | select CPU_CACHE_VIVT |
337 | select CPU_CP15_MMU | 337 | select CPU_CP15_MMU |
@@ -342,7 +342,7 @@ config CPU_XSCALE | |||
342 | bool | 342 | bool |
343 | select CPU_32v5 | 343 | select CPU_32v5 |
344 | select CPU_ABRT_EV5T | 344 | select CPU_ABRT_EV5T |
345 | select CPU_PABRT_NOIFAR | 345 | select CPU_PABRT_LEGACY |
346 | select CPU_CACHE_VIVT | 346 | select CPU_CACHE_VIVT |
347 | select CPU_CP15_MMU | 347 | select CPU_CP15_MMU |
348 | select CPU_TLB_V4WBI if MMU | 348 | select CPU_TLB_V4WBI if MMU |
@@ -352,7 +352,7 @@ config CPU_XSC3 | |||
352 | bool | 352 | bool |
353 | select CPU_32v5 | 353 | select CPU_32v5 |
354 | select CPU_ABRT_EV5T | 354 | select CPU_ABRT_EV5T |
355 | select CPU_PABRT_NOIFAR | 355 | select CPU_PABRT_LEGACY |
356 | select CPU_CACHE_VIVT | 356 | select CPU_CACHE_VIVT |
357 | select CPU_CP15_MMU | 357 | select CPU_CP15_MMU |
358 | select CPU_TLB_V4WBI if MMU | 358 | select CPU_TLB_V4WBI if MMU |
@@ -363,7 +363,7 @@ config CPU_MOHAWK | |||
363 | bool | 363 | bool |
364 | select CPU_32v5 | 364 | select CPU_32v5 |
365 | select CPU_ABRT_EV5T | 365 | select CPU_ABRT_EV5T |
366 | select CPU_PABRT_NOIFAR | 366 | select CPU_PABRT_LEGACY |
367 | select CPU_CACHE_VIVT | 367 | select CPU_CACHE_VIVT |
368 | select CPU_CP15_MMU | 368 | select CPU_CP15_MMU |
369 | select CPU_TLB_V4WBI if MMU | 369 | select CPU_TLB_V4WBI if MMU |
@@ -374,7 +374,7 @@ config CPU_FEROCEON | |||
374 | bool | 374 | bool |
375 | select CPU_32v5 | 375 | select CPU_32v5 |
376 | select CPU_ABRT_EV5T | 376 | select CPU_ABRT_EV5T |
377 | select CPU_PABRT_NOIFAR | 377 | select CPU_PABRT_LEGACY |
378 | select CPU_CACHE_VIVT | 378 | select CPU_CACHE_VIVT |
379 | select CPU_CP15_MMU | 379 | select CPU_CP15_MMU |
380 | select CPU_COPY_FEROCEON if MMU | 380 | select CPU_COPY_FEROCEON if MMU |
@@ -394,7 +394,7 @@ config CPU_V6 | |||
394 | bool "Support ARM V6 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX | 394 | bool "Support ARM V6 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX |
395 | select CPU_32v6 | 395 | select CPU_32v6 |
396 | select CPU_ABRT_EV6 | 396 | select CPU_ABRT_EV6 |
397 | select CPU_PABRT_NOIFAR | 397 | select CPU_PABRT_V6 |
398 | select CPU_CACHE_V6 | 398 | select CPU_CACHE_V6 |
399 | select CPU_CACHE_VIPT | 399 | select CPU_CACHE_VIPT |
400 | select CPU_CP15_MMU | 400 | select CPU_CP15_MMU |
@@ -420,7 +420,7 @@ config CPU_V7 | |||
420 | select CPU_32v6K | 420 | select CPU_32v6K |
421 | select CPU_32v7 | 421 | select CPU_32v7 |
422 | select CPU_ABRT_EV7 | 422 | select CPU_ABRT_EV7 |
423 | select CPU_PABRT_IFAR | 423 | select CPU_PABRT_V7 |
424 | select CPU_CACHE_V7 | 424 | select CPU_CACHE_V7 |
425 | select CPU_CACHE_VIPT | 425 | select CPU_CACHE_VIPT |
426 | select CPU_CP15_MMU | 426 | select CPU_CP15_MMU |
@@ -482,10 +482,13 @@ config CPU_ABRT_EV6 | |||
482 | config CPU_ABRT_EV7 | 482 | config CPU_ABRT_EV7 |
483 | bool | 483 | bool |
484 | 484 | ||
485 | config CPU_PABRT_IFAR | 485 | config CPU_PABRT_LEGACY |
486 | bool | 486 | bool |
487 | 487 | ||
488 | config CPU_PABRT_NOIFAR | 488 | config CPU_PABRT_V6 |
489 | bool | ||
490 | |||
491 | config CPU_PABRT_V7 | ||
489 | bool | 492 | bool |
490 | 493 | ||
491 | # The cache model | 494 | # The cache model |
diff --git a/arch/arm/mm/Makefile b/arch/arm/mm/Makefile index 63e3f6dd0e21..055cb2aa8134 100644 --- a/arch/arm/mm/Makefile +++ b/arch/arm/mm/Makefile | |||
@@ -27,6 +27,10 @@ obj-$(CONFIG_CPU_ABRT_EV5TJ) += abort-ev5tj.o | |||
27 | obj-$(CONFIG_CPU_ABRT_EV6) += abort-ev6.o | 27 | obj-$(CONFIG_CPU_ABRT_EV6) += abort-ev6.o |
28 | obj-$(CONFIG_CPU_ABRT_EV7) += abort-ev7.o | 28 | obj-$(CONFIG_CPU_ABRT_EV7) += abort-ev7.o |
29 | 29 | ||
30 | obj-$(CONFIG_CPU_PABRT_LEGACY) += pabort-legacy.o | ||
31 | obj-$(CONFIG_CPU_PABRT_V6) += pabort-v6.o | ||
32 | obj-$(CONFIG_CPU_PABRT_V7) += pabort-v7.o | ||
33 | |||
30 | obj-$(CONFIG_CPU_CACHE_V3) += cache-v3.o | 34 | obj-$(CONFIG_CPU_CACHE_V3) += cache-v3.o |
31 | obj-$(CONFIG_CPU_CACHE_V4) += cache-v4.o | 35 | obj-$(CONFIG_CPU_CACHE_V4) += cache-v4.o |
32 | obj-$(CONFIG_CPU_CACHE_V4WT) += cache-v4wt.o | 36 | obj-$(CONFIG_CPU_CACHE_V4WT) += cache-v4wt.o |
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c index 379f78556055..ae0e25f5a70e 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c | |||
@@ -519,9 +519,58 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs) | |||
519 | arm_notify_die("", regs, &info, fsr, 0); | 519 | arm_notify_die("", regs, &info, fsr, 0); |
520 | } | 520 | } |
521 | 521 | ||
522 | |||
523 | static struct fsr_info ifsr_info[] = { | ||
524 | { do_bad, SIGBUS, 0, "unknown 0" }, | ||
525 | { do_bad, SIGBUS, 0, "unknown 1" }, | ||
526 | { do_bad, SIGBUS, 0, "debug event" }, | ||
527 | { do_bad, SIGSEGV, SEGV_ACCERR, "section access flag fault" }, | ||
528 | { do_bad, SIGBUS, 0, "unknown 4" }, | ||
529 | { do_translation_fault, SIGSEGV, SEGV_MAPERR, "section translation fault" }, | ||
530 | { do_bad, SIGSEGV, SEGV_ACCERR, "page access flag fault" }, | ||
531 | { do_page_fault, SIGSEGV, SEGV_MAPERR, "page translation fault" }, | ||
532 | { do_bad, SIGBUS, 0, "external abort on non-linefetch" }, | ||
533 | { do_bad, SIGSEGV, SEGV_ACCERR, "section domain fault" }, | ||
534 | { do_bad, SIGBUS, 0, "unknown 10" }, | ||
535 | { do_bad, SIGSEGV, SEGV_ACCERR, "page domain fault" }, | ||
536 | { do_bad, SIGBUS, 0, "external abort on translation" }, | ||
537 | { do_sect_fault, SIGSEGV, SEGV_ACCERR, "section permission fault" }, | ||
538 | { do_bad, SIGBUS, 0, "external abort on translation" }, | ||
539 | { do_page_fault, SIGSEGV, SEGV_ACCERR, "page permission fault" }, | ||
540 | { do_bad, SIGBUS, 0, "unknown 16" }, | ||
541 | { do_bad, SIGBUS, 0, "unknown 17" }, | ||
542 | { do_bad, SIGBUS, 0, "unknown 18" }, | ||
543 | { do_bad, SIGBUS, 0, "unknown 19" }, | ||
544 | { do_bad, SIGBUS, 0, "unknown 20" }, | ||
545 | { do_bad, SIGBUS, 0, "unknown 21" }, | ||
546 | { do_bad, SIGBUS, 0, "unknown 22" }, | ||
547 | { do_bad, SIGBUS, 0, "unknown 23" }, | ||
548 | { do_bad, SIGBUS, 0, "unknown 24" }, | ||
549 | { do_bad, SIGBUS, 0, "unknown 25" }, | ||
550 | { do_bad, SIGBUS, 0, "unknown 26" }, | ||
551 | { do_bad, SIGBUS, 0, "unknown 27" }, | ||
552 | { do_bad, SIGBUS, 0, "unknown 28" }, | ||
553 | { do_bad, SIGBUS, 0, "unknown 29" }, | ||
554 | { do_bad, SIGBUS, 0, "unknown 30" }, | ||
555 | { do_bad, SIGBUS, 0, "unknown 31" }, | ||
556 | }; | ||
557 | |||
522 | asmlinkage void __exception | 558 | asmlinkage void __exception |
523 | do_PrefetchAbort(unsigned long addr, struct pt_regs *regs) | 559 | do_PrefetchAbort(unsigned long addr, unsigned int ifsr, struct pt_regs *regs) |
524 | { | 560 | { |
525 | do_translation_fault(addr, FSR_LNX_PF, regs); | 561 | const struct fsr_info *inf = ifsr_info + fsr_fs(ifsr); |
562 | struct siginfo info; | ||
563 | |||
564 | if (!inf->fn(addr, ifsr | FSR_LNX_PF, regs)) | ||
565 | return; | ||
566 | |||
567 | printk(KERN_ALERT "Unhandled prefetch abort: %s (0x%03x) at 0x%08lx\n", | ||
568 | inf->name, ifsr, addr); | ||
569 | |||
570 | info.si_signo = inf->sig; | ||
571 | info.si_errno = 0; | ||
572 | info.si_code = inf->code; | ||
573 | info.si_addr = (void __user *)addr; | ||
574 | arm_notify_die("", regs, &info, ifsr, 0); | ||
526 | } | 575 | } |
527 | 576 | ||
diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c index f7457fea6de8..2b7996401b0f 100644 --- a/arch/arm/mm/mmap.c +++ b/arch/arm/mm/mmap.c | |||
@@ -124,7 +124,7 @@ int valid_phys_addr_range(unsigned long addr, size_t size) | |||
124 | { | 124 | { |
125 | if (addr < PHYS_OFFSET) | 125 | if (addr < PHYS_OFFSET) |
126 | return 0; | 126 | return 0; |
127 | if (addr + size >= __pa(high_memory - 1)) | 127 | if (addr + size > __pa(high_memory - 1) + 1) |
128 | return 0; | 128 | return 0; |
129 | 129 | ||
130 | return 1; | 130 | return 1; |
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index 4426ee67ceca..02243eeccf50 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <asm/cachetype.h> | 21 | #include <asm/cachetype.h> |
22 | #include <asm/setup.h> | 22 | #include <asm/setup.h> |
23 | #include <asm/sizes.h> | 23 | #include <asm/sizes.h> |
24 | #include <asm/smp_plat.h> | ||
24 | #include <asm/tlb.h> | 25 | #include <asm/tlb.h> |
25 | #include <asm/highmem.h> | 26 | #include <asm/highmem.h> |
26 | 27 | ||
@@ -709,10 +710,6 @@ static void __init sanity_check_meminfo(void) | |||
709 | if (meminfo.nr_banks >= NR_BANKS) { | 710 | if (meminfo.nr_banks >= NR_BANKS) { |
710 | printk(KERN_CRIT "NR_BANKS too low, " | 711 | printk(KERN_CRIT "NR_BANKS too low, " |
711 | "ignoring high memory\n"); | 712 | "ignoring high memory\n"); |
712 | } else if (cache_is_vipt_aliasing()) { | ||
713 | printk(KERN_CRIT "HIGHMEM is not yet supported " | ||
714 | "with VIPT aliasing cache, " | ||
715 | "ignoring high memory\n"); | ||
716 | } else { | 713 | } else { |
717 | memmove(bank + 1, bank, | 714 | memmove(bank + 1, bank, |
718 | (meminfo.nr_banks - i) * sizeof(*bank)); | 715 | (meminfo.nr_banks - i) * sizeof(*bank)); |
@@ -726,6 +723,8 @@ static void __init sanity_check_meminfo(void) | |||
726 | bank->size = VMALLOC_MIN - __va(bank->start); | 723 | bank->size = VMALLOC_MIN - __va(bank->start); |
727 | } | 724 | } |
728 | #else | 725 | #else |
726 | bank->highmem = highmem; | ||
727 | |||
729 | /* | 728 | /* |
730 | * Check whether this memory bank would entirely overlap | 729 | * Check whether this memory bank would entirely overlap |
731 | * the vmalloc area. | 730 | * the vmalloc area. |
@@ -754,6 +753,38 @@ static void __init sanity_check_meminfo(void) | |||
754 | #endif | 753 | #endif |
755 | j++; | 754 | j++; |
756 | } | 755 | } |
756 | #ifdef CONFIG_HIGHMEM | ||
757 | if (highmem) { | ||
758 | const char *reason = NULL; | ||
759 | |||
760 | if (cache_is_vipt_aliasing()) { | ||
761 | /* | ||
762 | * Interactions between kmap and other mappings | ||
763 | * make highmem support with aliasing VIPT caches | ||
764 | * rather difficult. | ||
765 | */ | ||
766 | reason = "with VIPT aliasing cache"; | ||
767 | #ifdef CONFIG_SMP | ||
768 | } else if (tlb_ops_need_broadcast()) { | ||
769 | /* | ||
770 | * kmap_high needs to occasionally flush TLB entries, | ||
771 | * however, if the TLB entries need to be broadcast | ||
772 | * we may deadlock: | ||
773 | * kmap_high(irqs off)->flush_all_zero_pkmaps-> | ||
774 | * flush_tlb_kernel_range->smp_call_function_many | ||
775 | * (must not be called with irqs off) | ||
776 | */ | ||
777 | reason = "without hardware TLB ops broadcasting"; | ||
778 | #endif | ||
779 | } | ||
780 | if (reason) { | ||
781 | printk(KERN_CRIT "HIGHMEM is not supported %s, ignoring high memory\n", | ||
782 | reason); | ||
783 | while (j > 0 && meminfo.bank[j - 1].highmem) | ||
784 | j--; | ||
785 | } | ||
786 | } | ||
787 | #endif | ||
757 | meminfo.nr_banks = j; | 788 | meminfo.nr_banks = j; |
758 | } | 789 | } |
759 | 790 | ||
diff --git a/arch/arm/mm/pabort-legacy.S b/arch/arm/mm/pabort-legacy.S new file mode 100644 index 000000000000..87970eba88ea --- /dev/null +++ b/arch/arm/mm/pabort-legacy.S | |||
@@ -0,0 +1,19 @@ | |||
1 | #include <linux/linkage.h> | ||
2 | #include <asm/assembler.h> | ||
3 | |||
4 | /* | ||
5 | * Function: legacy_pabort | ||
6 | * | ||
7 | * Params : r0 = address of aborted instruction | ||
8 | * | ||
9 | * Returns : r0 = address of abort | ||
10 | * : r1 = Simulated IFSR with section translation fault status | ||
11 | * | ||
12 | * Purpose : obtain information about current prefetch abort. | ||
13 | */ | ||
14 | |||
15 | .align 5 | ||
16 | ENTRY(legacy_pabort) | ||
17 | mov r1, #5 | ||
18 | mov pc, lr | ||
19 | ENDPROC(legacy_pabort) | ||
diff --git a/arch/arm/mm/pabort-v6.S b/arch/arm/mm/pabort-v6.S new file mode 100644 index 000000000000..06e3d1ef2115 --- /dev/null +++ b/arch/arm/mm/pabort-v6.S | |||
@@ -0,0 +1,19 @@ | |||
1 | #include <linux/linkage.h> | ||
2 | #include <asm/assembler.h> | ||
3 | |||
4 | /* | ||
5 | * Function: v6_pabort | ||
6 | * | ||
7 | * Params : r0 = address of aborted instruction | ||
8 | * | ||
9 | * Returns : r0 = address of abort | ||
10 | * : r1 = IFSR | ||
11 | * | ||
12 | * Purpose : obtain information about current prefetch abort. | ||
13 | */ | ||
14 | |||
15 | .align 5 | ||
16 | ENTRY(v6_pabort) | ||
17 | mrc p15, 0, r1, c5, c0, 1 @ get IFSR | ||
18 | mov pc, lr | ||
19 | ENDPROC(v6_pabort) | ||
diff --git a/arch/arm/mm/pabort-v7.S b/arch/arm/mm/pabort-v7.S new file mode 100644 index 000000000000..a8b3b300a18d --- /dev/null +++ b/arch/arm/mm/pabort-v7.S | |||
@@ -0,0 +1,20 @@ | |||
1 | #include <linux/linkage.h> | ||
2 | #include <asm/assembler.h> | ||
3 | |||
4 | /* | ||
5 | * Function: v6_pabort | ||
6 | * | ||
7 | * Params : r0 = address of aborted instruction | ||
8 | * | ||
9 | * Returns : r0 = address of abort | ||
10 | * : r1 = IFSR | ||
11 | * | ||
12 | * Purpose : obtain information about current prefetch abort. | ||
13 | */ | ||
14 | |||
15 | .align 5 | ||
16 | ENTRY(v7_pabort) | ||
17 | mrc p15, 0, r0, c6, c0, 2 @ get IFAR | ||
18 | mrc p15, 0, r1, c5, c0, 1 @ get IFSR | ||
19 | mov pc, lr | ||
20 | ENDPROC(v7_pabort) | ||
diff --git a/arch/arm/mm/proc-arm1020.S b/arch/arm/mm/proc-arm1020.S index b5551bf010aa..d9fb4b98c49f 100644 --- a/arch/arm/mm/proc-arm1020.S +++ b/arch/arm/mm/proc-arm1020.S | |||
@@ -449,7 +449,7 @@ arm1020_crval: | |||
449 | .type arm1020_processor_functions, #object | 449 | .type arm1020_processor_functions, #object |
450 | arm1020_processor_functions: | 450 | arm1020_processor_functions: |
451 | .word v4t_early_abort | 451 | .word v4t_early_abort |
452 | .word pabort_noifar | 452 | .word legacy_pabort |
453 | .word cpu_arm1020_proc_init | 453 | .word cpu_arm1020_proc_init |
454 | .word cpu_arm1020_proc_fin | 454 | .word cpu_arm1020_proc_fin |
455 | .word cpu_arm1020_reset | 455 | .word cpu_arm1020_reset |
diff --git a/arch/arm/mm/proc-arm1020e.S b/arch/arm/mm/proc-arm1020e.S index 8bc6740c29eb..7453b75dcea5 100644 --- a/arch/arm/mm/proc-arm1020e.S +++ b/arch/arm/mm/proc-arm1020e.S | |||
@@ -430,7 +430,7 @@ arm1020e_crval: | |||
430 | .type arm1020e_processor_functions, #object | 430 | .type arm1020e_processor_functions, #object |
431 | arm1020e_processor_functions: | 431 | arm1020e_processor_functions: |
432 | .word v4t_early_abort | 432 | .word v4t_early_abort |
433 | .word pabort_noifar | 433 | .word legacy_pabort |
434 | .word cpu_arm1020e_proc_init | 434 | .word cpu_arm1020e_proc_init |
435 | .word cpu_arm1020e_proc_fin | 435 | .word cpu_arm1020e_proc_fin |
436 | .word cpu_arm1020e_reset | 436 | .word cpu_arm1020e_reset |
diff --git a/arch/arm/mm/proc-arm1022.S b/arch/arm/mm/proc-arm1022.S index 2cd03e66c0a3..8eb72d75a8b6 100644 --- a/arch/arm/mm/proc-arm1022.S +++ b/arch/arm/mm/proc-arm1022.S | |||
@@ -413,7 +413,7 @@ arm1022_crval: | |||
413 | .type arm1022_processor_functions, #object | 413 | .type arm1022_processor_functions, #object |
414 | arm1022_processor_functions: | 414 | arm1022_processor_functions: |
415 | .word v4t_early_abort | 415 | .word v4t_early_abort |
416 | .word pabort_noifar | 416 | .word legacy_pabort |
417 | .word cpu_arm1022_proc_init | 417 | .word cpu_arm1022_proc_init |
418 | .word cpu_arm1022_proc_fin | 418 | .word cpu_arm1022_proc_fin |
419 | .word cpu_arm1022_reset | 419 | .word cpu_arm1022_reset |
diff --git a/arch/arm/mm/proc-arm1026.S b/arch/arm/mm/proc-arm1026.S index ad961a897f6e..3b59f0d67139 100644 --- a/arch/arm/mm/proc-arm1026.S +++ b/arch/arm/mm/proc-arm1026.S | |||
@@ -408,7 +408,7 @@ arm1026_crval: | |||
408 | .type arm1026_processor_functions, #object | 408 | .type arm1026_processor_functions, #object |
409 | arm1026_processor_functions: | 409 | arm1026_processor_functions: |
410 | .word v5t_early_abort | 410 | .word v5t_early_abort |
411 | .word pabort_noifar | 411 | .word legacy_pabort |
412 | .word cpu_arm1026_proc_init | 412 | .word cpu_arm1026_proc_init |
413 | .word cpu_arm1026_proc_fin | 413 | .word cpu_arm1026_proc_fin |
414 | .word cpu_arm1026_reset | 414 | .word cpu_arm1026_reset |
diff --git a/arch/arm/mm/proc-arm6_7.S b/arch/arm/mm/proc-arm6_7.S index 80d6e1de069a..3f9cd3d8f6d5 100644 --- a/arch/arm/mm/proc-arm6_7.S +++ b/arch/arm/mm/proc-arm6_7.S | |||
@@ -278,7 +278,7 @@ __arm7_setup: mov r0, #0 | |||
278 | .type arm6_processor_functions, #object | 278 | .type arm6_processor_functions, #object |
279 | ENTRY(arm6_processor_functions) | 279 | ENTRY(arm6_processor_functions) |
280 | .word cpu_arm6_data_abort | 280 | .word cpu_arm6_data_abort |
281 | .word pabort_noifar | 281 | .word legacy_pabort |
282 | .word cpu_arm6_proc_init | 282 | .word cpu_arm6_proc_init |
283 | .word cpu_arm6_proc_fin | 283 | .word cpu_arm6_proc_fin |
284 | .word cpu_arm6_reset | 284 | .word cpu_arm6_reset |
@@ -295,7 +295,7 @@ ENTRY(arm6_processor_functions) | |||
295 | .type arm7_processor_functions, #object | 295 | .type arm7_processor_functions, #object |
296 | ENTRY(arm7_processor_functions) | 296 | ENTRY(arm7_processor_functions) |
297 | .word cpu_arm7_data_abort | 297 | .word cpu_arm7_data_abort |
298 | .word pabort_noifar | 298 | .word legacy_pabort |
299 | .word cpu_arm7_proc_init | 299 | .word cpu_arm7_proc_init |
300 | .word cpu_arm7_proc_fin | 300 | .word cpu_arm7_proc_fin |
301 | .word cpu_arm7_reset | 301 | .word cpu_arm7_reset |
diff --git a/arch/arm/mm/proc-arm720.S b/arch/arm/mm/proc-arm720.S index 85ae18695f10..0b62de244666 100644 --- a/arch/arm/mm/proc-arm720.S +++ b/arch/arm/mm/proc-arm720.S | |||
@@ -181,7 +181,7 @@ arm720_crval: | |||
181 | .type arm720_processor_functions, #object | 181 | .type arm720_processor_functions, #object |
182 | ENTRY(arm720_processor_functions) | 182 | ENTRY(arm720_processor_functions) |
183 | .word v4t_late_abort | 183 | .word v4t_late_abort |
184 | .word pabort_noifar | 184 | .word legacy_pabort |
185 | .word cpu_arm720_proc_init | 185 | .word cpu_arm720_proc_init |
186 | .word cpu_arm720_proc_fin | 186 | .word cpu_arm720_proc_fin |
187 | .word cpu_arm720_reset | 187 | .word cpu_arm720_reset |
diff --git a/arch/arm/mm/proc-arm740.S b/arch/arm/mm/proc-arm740.S index 4f95bee63e95..01860cdeb2ec 100644 --- a/arch/arm/mm/proc-arm740.S +++ b/arch/arm/mm/proc-arm740.S | |||
@@ -126,7 +126,7 @@ __arm740_setup: | |||
126 | .type arm740_processor_functions, #object | 126 | .type arm740_processor_functions, #object |
127 | ENTRY(arm740_processor_functions) | 127 | ENTRY(arm740_processor_functions) |
128 | .word v4t_late_abort | 128 | .word v4t_late_abort |
129 | .word pabort_noifar | 129 | .word legacy_pabort |
130 | .word cpu_arm740_proc_init | 130 | .word cpu_arm740_proc_init |
131 | .word cpu_arm740_proc_fin | 131 | .word cpu_arm740_proc_fin |
132 | .word cpu_arm740_reset | 132 | .word cpu_arm740_reset |
diff --git a/arch/arm/mm/proc-arm7tdmi.S b/arch/arm/mm/proc-arm7tdmi.S index 93e05fa7bed4..1201b9863829 100644 --- a/arch/arm/mm/proc-arm7tdmi.S +++ b/arch/arm/mm/proc-arm7tdmi.S | |||
@@ -64,7 +64,7 @@ __arm7tdmi_setup: | |||
64 | .type arm7tdmi_processor_functions, #object | 64 | .type arm7tdmi_processor_functions, #object |
65 | ENTRY(arm7tdmi_processor_functions) | 65 | ENTRY(arm7tdmi_processor_functions) |
66 | .word v4t_late_abort | 66 | .word v4t_late_abort |
67 | .word pabort_noifar | 67 | .word legacy_pabort |
68 | .word cpu_arm7tdmi_proc_init | 68 | .word cpu_arm7tdmi_proc_init |
69 | .word cpu_arm7tdmi_proc_fin | 69 | .word cpu_arm7tdmi_proc_fin |
70 | .word cpu_arm7tdmi_reset | 70 | .word cpu_arm7tdmi_reset |
diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S index 914d688394fc..2b7c197cc58d 100644 --- a/arch/arm/mm/proc-arm920.S +++ b/arch/arm/mm/proc-arm920.S | |||
@@ -395,7 +395,7 @@ arm920_crval: | |||
395 | .type arm920_processor_functions, #object | 395 | .type arm920_processor_functions, #object |
396 | arm920_processor_functions: | 396 | arm920_processor_functions: |
397 | .word v4t_early_abort | 397 | .word v4t_early_abort |
398 | .word pabort_noifar | 398 | .word legacy_pabort |
399 | .word cpu_arm920_proc_init | 399 | .word cpu_arm920_proc_init |
400 | .word cpu_arm920_proc_fin | 400 | .word cpu_arm920_proc_fin |
401 | .word cpu_arm920_reset | 401 | .word cpu_arm920_reset |
diff --git a/arch/arm/mm/proc-arm922.S b/arch/arm/mm/proc-arm922.S index 51c9c9859e58..06a1aa4e3398 100644 --- a/arch/arm/mm/proc-arm922.S +++ b/arch/arm/mm/proc-arm922.S | |||
@@ -399,7 +399,7 @@ arm922_crval: | |||
399 | .type arm922_processor_functions, #object | 399 | .type arm922_processor_functions, #object |
400 | arm922_processor_functions: | 400 | arm922_processor_functions: |
401 | .word v4t_early_abort | 401 | .word v4t_early_abort |
402 | .word pabort_noifar | 402 | .word legacy_pabort |
403 | .word cpu_arm922_proc_init | 403 | .word cpu_arm922_proc_init |
404 | .word cpu_arm922_proc_fin | 404 | .word cpu_arm922_proc_fin |
405 | .word cpu_arm922_reset | 405 | .word cpu_arm922_reset |
diff --git a/arch/arm/mm/proc-arm925.S b/arch/arm/mm/proc-arm925.S index 2724526d89c1..cb53435a85ae 100644 --- a/arch/arm/mm/proc-arm925.S +++ b/arch/arm/mm/proc-arm925.S | |||
@@ -462,7 +462,7 @@ arm925_crval: | |||
462 | .type arm925_processor_functions, #object | 462 | .type arm925_processor_functions, #object |
463 | arm925_processor_functions: | 463 | arm925_processor_functions: |
464 | .word v4t_early_abort | 464 | .word v4t_early_abort |
465 | .word pabort_noifar | 465 | .word legacy_pabort |
466 | .word cpu_arm925_proc_init | 466 | .word cpu_arm925_proc_init |
467 | .word cpu_arm925_proc_fin | 467 | .word cpu_arm925_proc_fin |
468 | .word cpu_arm925_reset | 468 | .word cpu_arm925_reset |
diff --git a/arch/arm/mm/proc-arm926.S b/arch/arm/mm/proc-arm926.S index 54466937bff9..1c4848704bb3 100644 --- a/arch/arm/mm/proc-arm926.S +++ b/arch/arm/mm/proc-arm926.S | |||
@@ -415,7 +415,7 @@ arm926_crval: | |||
415 | .type arm926_processor_functions, #object | 415 | .type arm926_processor_functions, #object |
416 | arm926_processor_functions: | 416 | arm926_processor_functions: |
417 | .word v5tj_early_abort | 417 | .word v5tj_early_abort |
418 | .word pabort_noifar | 418 | .word legacy_pabort |
419 | .word cpu_arm926_proc_init | 419 | .word cpu_arm926_proc_init |
420 | .word cpu_arm926_proc_fin | 420 | .word cpu_arm926_proc_fin |
421 | .word cpu_arm926_reset | 421 | .word cpu_arm926_reset |
diff --git a/arch/arm/mm/proc-arm940.S b/arch/arm/mm/proc-arm940.S index f595117caf55..5b0f8464c8f2 100644 --- a/arch/arm/mm/proc-arm940.S +++ b/arch/arm/mm/proc-arm940.S | |||
@@ -322,7 +322,7 @@ __arm940_setup: | |||
322 | .type arm940_processor_functions, #object | 322 | .type arm940_processor_functions, #object |
323 | ENTRY(arm940_processor_functions) | 323 | ENTRY(arm940_processor_functions) |
324 | .word nommu_early_abort | 324 | .word nommu_early_abort |
325 | .word pabort_noifar | 325 | .word legacy_pabort |
326 | .word cpu_arm940_proc_init | 326 | .word cpu_arm940_proc_init |
327 | .word cpu_arm940_proc_fin | 327 | .word cpu_arm940_proc_fin |
328 | .word cpu_arm940_reset | 328 | .word cpu_arm940_reset |
diff --git a/arch/arm/mm/proc-arm946.S b/arch/arm/mm/proc-arm946.S index e03f6ff1fb26..40c0449a139b 100644 --- a/arch/arm/mm/proc-arm946.S +++ b/arch/arm/mm/proc-arm946.S | |||
@@ -377,7 +377,7 @@ __arm946_setup: | |||
377 | .type arm946_processor_functions, #object | 377 | .type arm946_processor_functions, #object |
378 | ENTRY(arm946_processor_functions) | 378 | ENTRY(arm946_processor_functions) |
379 | .word nommu_early_abort | 379 | .word nommu_early_abort |
380 | .word pabort_noifar | 380 | .word legacy_pabort |
381 | .word cpu_arm946_proc_init | 381 | .word cpu_arm946_proc_init |
382 | .word cpu_arm946_proc_fin | 382 | .word cpu_arm946_proc_fin |
383 | .word cpu_arm946_reset | 383 | .word cpu_arm946_reset |
diff --git a/arch/arm/mm/proc-arm9tdmi.S b/arch/arm/mm/proc-arm9tdmi.S index be6c11d2b3fb..28545c29dbcd 100644 --- a/arch/arm/mm/proc-arm9tdmi.S +++ b/arch/arm/mm/proc-arm9tdmi.S | |||
@@ -64,7 +64,7 @@ __arm9tdmi_setup: | |||
64 | .type arm9tdmi_processor_functions, #object | 64 | .type arm9tdmi_processor_functions, #object |
65 | ENTRY(arm9tdmi_processor_functions) | 65 | ENTRY(arm9tdmi_processor_functions) |
66 | .word nommu_early_abort | 66 | .word nommu_early_abort |
67 | .word pabort_noifar | 67 | .word legacy_pabort |
68 | .word cpu_arm9tdmi_proc_init | 68 | .word cpu_arm9tdmi_proc_init |
69 | .word cpu_arm9tdmi_proc_fin | 69 | .word cpu_arm9tdmi_proc_fin |
70 | .word cpu_arm9tdmi_reset | 70 | .word cpu_arm9tdmi_reset |
diff --git a/arch/arm/mm/proc-fa526.S b/arch/arm/mm/proc-fa526.S index 08b8a955d5d7..08f5ac237ad4 100644 --- a/arch/arm/mm/proc-fa526.S +++ b/arch/arm/mm/proc-fa526.S | |||
@@ -191,7 +191,7 @@ fa526_cr1_set: | |||
191 | .type fa526_processor_functions, #object | 191 | .type fa526_processor_functions, #object |
192 | fa526_processor_functions: | 192 | fa526_processor_functions: |
193 | .word v4_early_abort | 193 | .word v4_early_abort |
194 | .word pabort_noifar | 194 | .word legacy_pabort |
195 | .word cpu_fa526_proc_init | 195 | .word cpu_fa526_proc_init |
196 | .word cpu_fa526_proc_fin | 196 | .word cpu_fa526_proc_fin |
197 | .word cpu_fa526_reset | 197 | .word cpu_fa526_reset |
diff --git a/arch/arm/mm/proc-feroceon.S b/arch/arm/mm/proc-feroceon.S index 0fe1f8fc3488..d0d7795200fc 100644 --- a/arch/arm/mm/proc-feroceon.S +++ b/arch/arm/mm/proc-feroceon.S | |||
@@ -499,7 +499,7 @@ feroceon_crval: | |||
499 | .type feroceon_processor_functions, #object | 499 | .type feroceon_processor_functions, #object |
500 | feroceon_processor_functions: | 500 | feroceon_processor_functions: |
501 | .word v5t_early_abort | 501 | .word v5t_early_abort |
502 | .word pabort_noifar | 502 | .word legacy_pabort |
503 | .word cpu_feroceon_proc_init | 503 | .word cpu_feroceon_proc_init |
504 | .word cpu_feroceon_proc_fin | 504 | .word cpu_feroceon_proc_fin |
505 | .word cpu_feroceon_reset | 505 | .word cpu_feroceon_reset |
diff --git a/arch/arm/mm/proc-mohawk.S b/arch/arm/mm/proc-mohawk.S index 540f5078496b..52b5fd74fbb3 100644 --- a/arch/arm/mm/proc-mohawk.S +++ b/arch/arm/mm/proc-mohawk.S | |||
@@ -359,7 +359,7 @@ mohawk_crval: | |||
359 | .type mohawk_processor_functions, #object | 359 | .type mohawk_processor_functions, #object |
360 | mohawk_processor_functions: | 360 | mohawk_processor_functions: |
361 | .word v5t_early_abort | 361 | .word v5t_early_abort |
362 | .word pabort_noifar | 362 | .word legacy_pabort |
363 | .word cpu_mohawk_proc_init | 363 | .word cpu_mohawk_proc_init |
364 | .word cpu_mohawk_proc_fin | 364 | .word cpu_mohawk_proc_fin |
365 | .word cpu_mohawk_reset | 365 | .word cpu_mohawk_reset |
diff --git a/arch/arm/mm/proc-sa110.S b/arch/arm/mm/proc-sa110.S index 90a7e5279f29..7b706b389906 100644 --- a/arch/arm/mm/proc-sa110.S +++ b/arch/arm/mm/proc-sa110.S | |||
@@ -199,7 +199,7 @@ sa110_crval: | |||
199 | .type sa110_processor_functions, #object | 199 | .type sa110_processor_functions, #object |
200 | ENTRY(sa110_processor_functions) | 200 | ENTRY(sa110_processor_functions) |
201 | .word v4_early_abort | 201 | .word v4_early_abort |
202 | .word pabort_noifar | 202 | .word legacy_pabort |
203 | .word cpu_sa110_proc_init | 203 | .word cpu_sa110_proc_init |
204 | .word cpu_sa110_proc_fin | 204 | .word cpu_sa110_proc_fin |
205 | .word cpu_sa110_reset | 205 | .word cpu_sa110_reset |
diff --git a/arch/arm/mm/proc-sa1100.S b/arch/arm/mm/proc-sa1100.S index 451e2d953e2a..ee7700242c19 100644 --- a/arch/arm/mm/proc-sa1100.S +++ b/arch/arm/mm/proc-sa1100.S | |||
@@ -214,7 +214,7 @@ sa1100_crval: | |||
214 | .type sa1100_processor_functions, #object | 214 | .type sa1100_processor_functions, #object |
215 | ENTRY(sa1100_processor_functions) | 215 | ENTRY(sa1100_processor_functions) |
216 | .word v4_early_abort | 216 | .word v4_early_abort |
217 | .word pabort_noifar | 217 | .word legacy_pabort |
218 | .word cpu_sa1100_proc_init | 218 | .word cpu_sa1100_proc_init |
219 | .word cpu_sa1100_proc_fin | 219 | .word cpu_sa1100_proc_fin |
220 | .word cpu_sa1100_reset | 220 | .word cpu_sa1100_reset |
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S index 524ddae92595..194737d60a22 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S | |||
@@ -191,7 +191,7 @@ v6_crval: | |||
191 | .type v6_processor_functions, #object | 191 | .type v6_processor_functions, #object |
192 | ENTRY(v6_processor_functions) | 192 | ENTRY(v6_processor_functions) |
193 | .word v6_early_abort | 193 | .word v6_early_abort |
194 | .word pabort_noifar | 194 | .word v6_pabort |
195 | .word cpu_v6_proc_init | 195 | .word cpu_v6_proc_init |
196 | .word cpu_v6_proc_fin | 196 | .word cpu_v6_proc_fin |
197 | .word cpu_v6_reset | 197 | .word cpu_v6_reset |
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index f3fa1c32fe92..23ebcf6eab9f 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S | |||
@@ -295,7 +295,7 @@ __v7_setup_stack: | |||
295 | .type v7_processor_functions, #object | 295 | .type v7_processor_functions, #object |
296 | ENTRY(v7_processor_functions) | 296 | ENTRY(v7_processor_functions) |
297 | .word v7_early_abort | 297 | .word v7_early_abort |
298 | .word pabort_ifar | 298 | .word v7_pabort |
299 | .word cpu_v7_proc_init | 299 | .word cpu_v7_proc_init |
300 | .word cpu_v7_proc_fin | 300 | .word cpu_v7_proc_fin |
301 | .word cpu_v7_reset | 301 | .word cpu_v7_reset |
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S index 33515c214b92..2028f3702881 100644 --- a/arch/arm/mm/proc-xsc3.S +++ b/arch/arm/mm/proc-xsc3.S | |||
@@ -428,7 +428,7 @@ xsc3_crval: | |||
428 | .type xsc3_processor_functions, #object | 428 | .type xsc3_processor_functions, #object |
429 | ENTRY(xsc3_processor_functions) | 429 | ENTRY(xsc3_processor_functions) |
430 | .word v5t_early_abort | 430 | .word v5t_early_abort |
431 | .word pabort_noifar | 431 | .word legacy_pabort |
432 | .word cpu_xsc3_proc_init | 432 | .word cpu_xsc3_proc_init |
433 | .word cpu_xsc3_proc_fin | 433 | .word cpu_xsc3_proc_fin |
434 | .word cpu_xsc3_reset | 434 | .word cpu_xsc3_reset |
diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S index 423394260bcb..f056c283682d 100644 --- a/arch/arm/mm/proc-xscale.S +++ b/arch/arm/mm/proc-xscale.S | |||
@@ -511,7 +511,7 @@ xscale_crval: | |||
511 | .type xscale_processor_functions, #object | 511 | .type xscale_processor_functions, #object |
512 | ENTRY(xscale_processor_functions) | 512 | ENTRY(xscale_processor_functions) |
513 | .word v5t_early_abort | 513 | .word v5t_early_abort |
514 | .word pabort_noifar | 514 | .word legacy_pabort |
515 | .word cpu_xscale_proc_init | 515 | .word cpu_xscale_proc_init |
516 | .word cpu_xscale_proc_fin | 516 | .word cpu_xscale_proc_fin |
517 | .word cpu_xscale_reset | 517 | .word cpu_xscale_reset |
diff --git a/arch/arm/plat-iop/pci.c b/arch/arm/plat-iop/pci.c index 77fa7cc7d162..ce31f316ac75 100644 --- a/arch/arm/plat-iop/pci.c +++ b/arch/arm/plat-iop/pci.c | |||
@@ -257,7 +257,8 @@ void __init iop3xx_atu_setup(void) | |||
257 | *IOP3XX_OUMWTVR0 = 0; | 257 | *IOP3XX_OUMWTVR0 = 0; |
258 | 258 | ||
259 | /* Outbound window 1 */ | 259 | /* Outbound window 1 */ |
260 | *IOP3XX_OMWTVR1 = IOP3XX_PCI_LOWER_MEM_BA + IOP3XX_PCI_MEM_WINDOW_SIZE; | 260 | *IOP3XX_OMWTVR1 = IOP3XX_PCI_LOWER_MEM_BA + |
261 | IOP3XX_PCI_MEM_WINDOW_SIZE / 2; | ||
261 | *IOP3XX_OUMWTVR1 = 0; | 262 | *IOP3XX_OUMWTVR1 = 0; |
262 | 263 | ||
263 | /* BAR 3 ( Disabled ) */ | 264 | /* BAR 3 ( Disabled ) */ |
diff --git a/arch/arm/plat-iop/time.c b/arch/arm/plat-iop/time.c index 3695bbe3ee28..8da95d57c21f 100644 --- a/arch/arm/plat-iop/time.c +++ b/arch/arm/plat-iop/time.c | |||
@@ -85,7 +85,7 @@ void __init iop_init_time(unsigned long tick_rate) | |||
85 | { | 85 | { |
86 | u32 timer_ctl; | 86 | u32 timer_ctl; |
87 | 87 | ||
88 | ticks_per_jiffy = (tick_rate + HZ/2) / HZ; | 88 | ticks_per_jiffy = DIV_ROUND_CLOSEST(tick_rate, HZ); |
89 | ticks_per_usec = tick_rate / 1000000; | 89 | ticks_per_usec = tick_rate / 1000000; |
90 | next_jiffy_time = 0xffffffff; | 90 | next_jiffy_time = 0xffffffff; |
91 | iop_tick_rate = tick_rate; | 91 | iop_tick_rate = tick_rate; |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 693839c89ad0..71ebd7fcfea1 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -250,7 +250,7 @@ static struct gpio_bank gpio_bank_730[7] = { | |||
250 | 250 | ||
251 | #ifdef CONFIG_ARCH_OMAP850 | 251 | #ifdef CONFIG_ARCH_OMAP850 |
252 | static struct gpio_bank gpio_bank_850[7] = { | 252 | static struct gpio_bank gpio_bank_850[7] = { |
253 | { OMAP1_MPUIO_BASE, INT_850_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO }, | 253 | { OMAP1_MPUIO_VBASE, INT_850_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO }, |
254 | { OMAP850_GPIO1_BASE, INT_850_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_850 }, | 254 | { OMAP850_GPIO1_BASE, INT_850_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_850 }, |
255 | { OMAP850_GPIO2_BASE, INT_850_GPIO_BANK2, IH_GPIO_BASE + 32, METHOD_GPIO_850 }, | 255 | { OMAP850_GPIO2_BASE, INT_850_GPIO_BANK2, IH_GPIO_BASE + 32, METHOD_GPIO_850 }, |
256 | { OMAP850_GPIO3_BASE, INT_850_GPIO_BANK3, IH_GPIO_BASE + 64, METHOD_GPIO_850 }, | 256 | { OMAP850_GPIO3_BASE, INT_850_GPIO_BANK3, IH_GPIO_BASE + 64, METHOD_GPIO_850 }, |
diff --git a/arch/arm/plat-omap/include/mach/cpu.h b/arch/arm/plat-omap/include/mach/cpu.h index 11e73d9e8928..f129efb3075e 100644 --- a/arch/arm/plat-omap/include/mach/cpu.h +++ b/arch/arm/plat-omap/include/mach/cpu.h | |||
@@ -303,32 +303,21 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
303 | #define cpu_is_omap2430() 0 | 303 | #define cpu_is_omap2430() 0 |
304 | #define cpu_is_omap3430() 0 | 304 | #define cpu_is_omap3430() 0 |
305 | 305 | ||
306 | #if defined(MULTI_OMAP1) | ||
307 | # if defined(CONFIG_ARCH_OMAP730) | ||
308 | # undef cpu_is_omap730 | ||
309 | # define cpu_is_omap730() is_omap730() | ||
310 | # endif | ||
311 | # if defined(CONFIG_ARCH_OMAP850) | ||
312 | # undef cpu_is_omap850 | ||
313 | # define cpu_is_omap850() is_omap850() | ||
314 | # endif | ||
315 | #else | ||
316 | # if defined(CONFIG_ARCH_OMAP730) | ||
317 | # undef cpu_is_omap730 | ||
318 | # define cpu_is_omap730() 1 | ||
319 | # endif | ||
320 | #endif | ||
321 | #else | ||
322 | # if defined(CONFIG_ARCH_OMAP850) | ||
323 | # undef cpu_is_omap850 | ||
324 | # define cpu_is_omap850() 1 | ||
325 | # endif | ||
326 | #endif | ||
327 | |||
328 | /* | 306 | /* |
329 | * Whether we have MULTI_OMAP1 or not, we still need to distinguish | 307 | * Whether we have MULTI_OMAP1 or not, we still need to distinguish |
330 | * between 330 vs. 1510 and 1611B/5912 vs. 1710. | 308 | * between 730 vs 850, 330 vs. 1510 and 1611B/5912 vs. 1710. |
331 | */ | 309 | */ |
310 | |||
311 | #if defined(CONFIG_ARCH_OMAP730) | ||
312 | # undef cpu_is_omap730 | ||
313 | # define cpu_is_omap730() is_omap730() | ||
314 | #endif | ||
315 | |||
316 | #if defined(CONFIG_ARCH_OMAP850) | ||
317 | # undef cpu_is_omap850 | ||
318 | # define cpu_is_omap850() is_omap850() | ||
319 | #endif | ||
320 | |||
332 | #if defined(CONFIG_ARCH_OMAP15XX) | 321 | #if defined(CONFIG_ARCH_OMAP15XX) |
333 | # undef cpu_is_omap310 | 322 | # undef cpu_is_omap310 |
334 | # undef cpu_is_omap1510 | 323 | # undef cpu_is_omap1510 |
@@ -433,3 +422,5 @@ IS_OMAP_TYPE(3430, 0x3430) | |||
433 | 422 | ||
434 | int omap_chip_is(struct omap_chip_id oci); | 423 | int omap_chip_is(struct omap_chip_id oci); |
435 | void omap2_check_revision(void); | 424 | void omap2_check_revision(void); |
425 | |||
426 | #endif | ||
diff --git a/arch/arm/plat-omap/include/mach/keypad.h b/arch/arm/plat-omap/include/mach/keypad.h index 45ea3ae3c995..d91b9be334ff 100644 --- a/arch/arm/plat-omap/include/mach/keypad.h +++ b/arch/arm/plat-omap/include/mach/keypad.h | |||
@@ -10,6 +10,8 @@ | |||
10 | #ifndef ASMARM_ARCH_KEYPAD_H | 10 | #ifndef ASMARM_ARCH_KEYPAD_H |
11 | #define ASMARM_ARCH_KEYPAD_H | 11 | #define ASMARM_ARCH_KEYPAD_H |
12 | 12 | ||
13 | #include <linux/input/matrix_keypad.h> | ||
14 | |||
13 | struct omap_kp_platform_data { | 15 | struct omap_kp_platform_data { |
14 | int rows; | 16 | int rows; |
15 | int cols; | 17 | int cols; |
@@ -35,9 +37,6 @@ struct omap_kp_platform_data { | |||
35 | 37 | ||
36 | #define KEY_PERSISTENT 0x00800000 | 38 | #define KEY_PERSISTENT 0x00800000 |
37 | #define KEYNUM_MASK 0x00EFFFFF | 39 | #define KEYNUM_MASK 0x00EFFFFF |
38 | #define KEY(col, row, val) (((col) << 28) | ((row) << 24) | (val)) | ||
39 | #define PERSISTENT_KEY(col, row) (((col) << 28) | ((row) << 24) | \ | ||
40 | KEY_PERSISTENT) | ||
41 | 40 | ||
42 | #endif | 41 | #endif |
43 | 42 | ||
diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h index 98dfab651dfc..0f49d2d563d9 100644 --- a/arch/arm/plat-omap/include/mach/mux.h +++ b/arch/arm/plat-omap/include/mach/mux.h | |||
@@ -840,12 +840,14 @@ enum omap34xx_index { | |||
840 | */ | 840 | */ |
841 | AF26_34XX_GPIO0, | 841 | AF26_34XX_GPIO0, |
842 | AF22_34XX_GPIO9, | 842 | AF22_34XX_GPIO9, |
843 | AG9_34XX_GPIO23, | ||
843 | AH8_34XX_GPIO29, | 844 | AH8_34XX_GPIO29, |
844 | U8_34XX_GPIO54_OUT, | 845 | U8_34XX_GPIO54_OUT, |
845 | U8_34XX_GPIO54_DOWN, | 846 | U8_34XX_GPIO54_DOWN, |
846 | L8_34XX_GPIO63, | 847 | L8_34XX_GPIO63, |
847 | G25_34XX_GPIO86_OUT, | 848 | G25_34XX_GPIO86_OUT, |
848 | AG4_34XX_GPIO134_OUT, | 849 | AG4_34XX_GPIO134_OUT, |
850 | AF4_34XX_GPIO135_OUT, | ||
849 | AE4_34XX_GPIO136_OUT, | 851 | AE4_34XX_GPIO136_OUT, |
850 | AF6_34XX_GPIO140_UP, | 852 | AF6_34XX_GPIO140_UP, |
851 | AE6_34XX_GPIO141, | 853 | AE6_34XX_GPIO141, |
diff --git a/arch/arm/plat-omap/include/mach/powerdomain.h b/arch/arm/plat-omap/include/mach/powerdomain.h index 6271d8556a40..fa6461423bd0 100644 --- a/arch/arm/plat-omap/include/mach/powerdomain.h +++ b/arch/arm/plat-omap/include/mach/powerdomain.h | |||
@@ -135,6 +135,8 @@ struct powerdomain *pwrdm_lookup(const char *name); | |||
135 | 135 | ||
136 | int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user), | 136 | int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user), |
137 | void *user); | 137 | void *user); |
138 | int pwrdm_for_each_nolock(int (*fn)(struct powerdomain *pwrdm, void *user), | ||
139 | void *user); | ||
138 | 140 | ||
139 | int pwrdm_add_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm); | 141 | int pwrdm_add_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm); |
140 | int pwrdm_del_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm); | 142 | int pwrdm_del_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm); |
diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c index 6fc52fcbdc03..dc3fac3dd0ea 100644 --- a/arch/arm/plat-omap/iovmm.c +++ b/arch/arm/plat-omap/iovmm.c | |||
@@ -47,7 +47,7 @@ | |||
47 | * 'va': mpu virtual address | 47 | * 'va': mpu virtual address |
48 | * | 48 | * |
49 | * 'c': contiguous memory area | 49 | * 'c': contiguous memory area |
50 | * 'd': dicontiguous memory area | 50 | * 'd': discontiguous memory area |
51 | * 'a': anonymous memory allocation | 51 | * 'a': anonymous memory allocation |
52 | * '()': optional feature | 52 | * '()': optional feature |
53 | * | 53 | * |
@@ -199,7 +199,8 @@ static void *vmap_sg(const struct sg_table *sgt) | |||
199 | va += bytes; | 199 | va += bytes; |
200 | } | 200 | } |
201 | 201 | ||
202 | flush_cache_vmap(new->addr, new->addr + total); | 202 | flush_cache_vmap((unsigned long)new->addr, |
203 | (unsigned long)(new->addr + total)); | ||
203 | return new->addr; | 204 | return new->addr; |
204 | 205 | ||
205 | err_out: | 206 | err_out: |
@@ -362,8 +363,9 @@ void *da_to_va(struct iommu *obj, u32 da) | |||
362 | goto out; | 363 | goto out; |
363 | } | 364 | } |
364 | va = area->va; | 365 | va = area->va; |
365 | mutex_unlock(&obj->mmap_lock); | ||
366 | out: | 366 | out: |
367 | mutex_unlock(&obj->mmap_lock); | ||
368 | |||
367 | return va; | 369 | return va; |
368 | } | 370 | } |
369 | EXPORT_SYMBOL_GPL(da_to_va); | 371 | EXPORT_SYMBOL_GPL(da_to_va); |
@@ -390,14 +392,14 @@ static void sgtable_fill_vmalloc(struct sg_table *sgt, void *_va) | |||
390 | } | 392 | } |
391 | 393 | ||
392 | va_end = _va + PAGE_SIZE * i; | 394 | va_end = _va + PAGE_SIZE * i; |
393 | flush_cache_vmap(_va, va_end); | 395 | flush_cache_vmap((unsigned long)_va, (unsigned long)va_end); |
394 | } | 396 | } |
395 | 397 | ||
396 | static inline void sgtable_drain_vmalloc(struct sg_table *sgt) | 398 | static inline void sgtable_drain_vmalloc(struct sg_table *sgt) |
397 | { | 399 | { |
398 | /* | 400 | /* |
399 | * Actually this is not necessary at all, just exists for | 401 | * Actually this is not necessary at all, just exists for |
400 | * consistency of the code readibility. | 402 | * consistency of the code readability. |
401 | */ | 403 | */ |
402 | BUG_ON(!sgt); | 404 | BUG_ON(!sgt); |
403 | } | 405 | } |
@@ -433,7 +435,7 @@ static inline void sgtable_drain_kmalloc(struct sg_table *sgt) | |||
433 | { | 435 | { |
434 | /* | 436 | /* |
435 | * Actually this is not necessary at all, just exists for | 437 | * Actually this is not necessary at all, just exists for |
436 | * consistency of the code readibility | 438 | * consistency of the code readability |
437 | */ | 439 | */ |
438 | BUG_ON(!sgt); | 440 | BUG_ON(!sgt); |
439 | } | 441 | } |
diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c index 925f64711c37..75d1f26e5b17 100644 --- a/arch/arm/plat-omap/sram.c +++ b/arch/arm/plat-omap/sram.c | |||
@@ -270,7 +270,8 @@ void * omap_sram_push(void * start, unsigned long size) | |||
270 | omap_sram_ceil -= size; | 270 | omap_sram_ceil -= size; |
271 | omap_sram_ceil = ROUND_DOWN(omap_sram_ceil, sizeof(void *)); | 271 | omap_sram_ceil = ROUND_DOWN(omap_sram_ceil, sizeof(void *)); |
272 | memcpy((void *)omap_sram_ceil, start, size); | 272 | memcpy((void *)omap_sram_ceil, start, size); |
273 | flush_icache_range((unsigned long)start, (unsigned long)(start + size)); | 273 | flush_icache_range((unsigned long)omap_sram_ceil, |
274 | (unsigned long)(omap_sram_ceil + size)); | ||
274 | 275 | ||
275 | return (void *)omap_sram_ceil; | 276 | return (void *)omap_sram_ceil; |
276 | } | 277 | } |
diff --git a/arch/arm/plat-s3c24xx/adc.c b/arch/arm/plat-s3c24xx/adc.c index 11117a7ba911..4d36b784fb8b 100644 --- a/arch/arm/plat-s3c24xx/adc.c +++ b/arch/arm/plat-s3c24xx/adc.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
16 | #include <linux/platform_device.h> | 16 | #include <linux/platform_device.h> |
17 | #include <linux/sched.h> | ||
17 | #include <linux/list.h> | 18 | #include <linux/list.h> |
18 | #include <linux/err.h> | 19 | #include <linux/err.h> |
19 | #include <linux/clk.h> | 20 | #include <linux/clk.h> |
diff --git a/arch/arm/plat-s3c24xx/include/plat/mci.h b/arch/arm/plat-s3c24xx/include/plat/mci.h index 2d0852ac3b27..c2cef6139683 100644 --- a/arch/arm/plat-s3c24xx/include/plat/mci.h +++ b/arch/arm/plat-s3c24xx/include/plat/mci.h | |||
@@ -2,8 +2,11 @@ | |||
2 | #define _ARCH_MCI_H | 2 | #define _ARCH_MCI_H |
3 | 3 | ||
4 | struct s3c24xx_mci_pdata { | 4 | struct s3c24xx_mci_pdata { |
5 | unsigned int no_wprotect : 1; | ||
6 | unsigned int no_detect : 1; | ||
5 | unsigned int wprotect_invert : 1; | 7 | unsigned int wprotect_invert : 1; |
6 | unsigned int detect_invert : 1; /* set => detect active high. */ | 8 | unsigned int detect_invert : 1; /* set => detect active high. */ |
9 | unsigned int use_dma : 1; | ||
7 | 10 | ||
8 | unsigned int gpio_detect; | 11 | unsigned int gpio_detect; |
9 | unsigned int gpio_wprotect; | 12 | unsigned int gpio_wprotect; |
diff --git a/arch/blackfin/ADI_BSD.txt b/arch/blackfin/ADI_BSD.txt new file mode 100644 index 000000000000..501d0b645943 --- /dev/null +++ b/arch/blackfin/ADI_BSD.txt | |||
@@ -0,0 +1,41 @@ | |||
1 | This BSD-Style License applies to a few files in ./arch/blackfin directory, | ||
2 | and is included here, so people understand which code they can use outside | ||
3 | the Linux kernel, in non-GPL based projects. | ||
4 | |||
5 | Using the files released under the "ADI BSD" license, must comply with | ||
6 | these license terms. | ||
7 | |||
8 | -------------------------------------------------------------------------- | ||
9 | |||
10 | Copyright Analog Devices, Inc. | ||
11 | |||
12 | All rights reserved. | ||
13 | |||
14 | Redistribution and use in source and binary forms, with or without | ||
15 | modification, are permitted provided that the following conditions | ||
16 | are met: | ||
17 | - Redistributions of source code must retain the above copyright | ||
18 | notice, this list of conditions and the following disclaimer. | ||
19 | - Redistributions in binary form must reproduce the above copyright | ||
20 | notice, this list of conditions and the following disclaimer in | ||
21 | the documentation and/or other materials provided with the | ||
22 | distribution. | ||
23 | - Neither the name of Analog Devices, Inc. nor the names of its | ||
24 | contributors may be used to endorse or promote products derived | ||
25 | from this software without specific prior written permission. | ||
26 | - The use of this software may or may not infringe the patent rights | ||
27 | of one or more patent holders. This license does not release you | ||
28 | from the requirement that you obtain separate licenses from these | ||
29 | patent holders to use this software. | ||
30 | |||
31 | THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR | ||
32 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, | ||
33 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
34 | IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
35 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | ||
36 | BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF | ||
37 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | ||
38 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
39 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | ||
40 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | ||
41 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE | ||
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index 9a01d445eca8..ae6a60f10120 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
@@ -47,6 +47,9 @@ config GENERIC_HARDIRQS | |||
47 | config GENERIC_IRQ_PROBE | 47 | config GENERIC_IRQ_PROBE |
48 | def_bool y | 48 | def_bool y |
49 | 49 | ||
50 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
51 | def_bool y | ||
52 | |||
50 | config GENERIC_GPIO | 53 | config GENERIC_GPIO |
51 | def_bool y | 54 | def_bool y |
52 | 55 | ||
@@ -229,7 +232,7 @@ endchoice | |||
229 | 232 | ||
230 | config SMP | 233 | config SMP |
231 | depends on BF561 | 234 | depends on BF561 |
232 | select GENERIC_TIME | 235 | select GENERIC_CLOCKEVENTS |
233 | bool "Symmetric multi-processing support" | 236 | bool "Symmetric multi-processing support" |
234 | ---help--- | 237 | ---help--- |
235 | This enables support for systems with more than one CPU, | 238 | This enables support for systems with more than one CPU, |
@@ -613,12 +616,10 @@ comment "Kernel Timer/Scheduler" | |||
613 | source kernel/Kconfig.hz | 616 | source kernel/Kconfig.hz |
614 | 617 | ||
615 | config GENERIC_TIME | 618 | config GENERIC_TIME |
616 | bool "Generic time" | 619 | def_bool y |
617 | default y | ||
618 | 620 | ||
619 | config GENERIC_CLOCKEVENTS | 621 | config GENERIC_CLOCKEVENTS |
620 | bool "Generic clock events" | 622 | bool "Generic clock events" |
621 | depends on GENERIC_TIME | ||
622 | default y | 623 | default y |
623 | 624 | ||
624 | choice | 625 | choice |
@@ -653,6 +654,10 @@ config GPTMR0_CLOCKSOURCE | |||
653 | depends on GENERIC_CLOCKEVENTS | 654 | depends on GENERIC_CLOCKEVENTS |
654 | depends on !TICKSOURCE_GPTMR0 | 655 | depends on !TICKSOURCE_GPTMR0 |
655 | 656 | ||
657 | config ARCH_USES_GETTIMEOFFSET | ||
658 | depends on !GENERIC_CLOCKEVENTS | ||
659 | def_bool y | ||
660 | |||
656 | source kernel/time/Kconfig | 661 | source kernel/time/Kconfig |
657 | 662 | ||
658 | comment "Misc" | 663 | comment "Misc" |
diff --git a/arch/blackfin/include/asm/atomic.h b/arch/blackfin/include/asm/atomic.h index 88f36d599fe8..d27c6274247d 100644 --- a/arch/blackfin/include/asm/atomic.h +++ b/arch/blackfin/include/asm/atomic.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | Â * Copyright 2004-2009 Analog Devices Inc. | ||
3 | Â * | ||
4 | Â * Licensed under the GPL-2 or later. | ||
5 | Â */ | ||
6 | |||
1 | #ifndef __ARCH_BLACKFIN_ATOMIC__ | 7 | #ifndef __ARCH_BLACKFIN_ATOMIC__ |
2 | #define __ARCH_BLACKFIN_ATOMIC__ | 8 | #define __ARCH_BLACKFIN_ATOMIC__ |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/bfin-global.h b/arch/blackfin/include/asm/bfin-global.h index aef0594e7865..10064f902d20 100644 --- a/arch/blackfin/include/asm/bfin-global.h +++ b/arch/blackfin/include/asm/bfin-global.h | |||
@@ -1,29 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/bfin-global.h | 2 | * Global extern defines for blackfin |
3 | * Based on: | ||
4 | * Author: * | ||
5 | * Created: | ||
6 | * Description: Global extern defines for blackfin | ||
7 | * | 3 | * |
8 | * Modified: | 4 | * Copyright 2006-2009 Analog Devices Inc. |
9 | * Copyright 2004-2006 Analog Devices Inc. | ||
10 | * | 5 | * |
11 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 6 | * Licensed under the GPL-2 or later. |
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License as published by | ||
15 | * the Free Software Foundation; either version 2 of the License, or | ||
16 | * (at your option) any later version. | ||
17 | * | ||
18 | * This program is distributed in the hope that it will be useful, | ||
19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
21 | * GNU General Public License for more details. | ||
22 | * | ||
23 | * You should have received a copy of the GNU General Public License | ||
24 | * along with this program; if not, see the file COPYING, or write | ||
25 | * to the Free Software Foundation, Inc., | ||
26 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
27 | */ | 7 | */ |
28 | 8 | ||
29 | #ifndef _BFIN_GLOBAL_H_ | 9 | #ifndef _BFIN_GLOBAL_H_ |
diff --git a/arch/blackfin/include/asm/bfin5xx_spi.h b/arch/blackfin/include/asm/bfin5xx_spi.h index c281c6328276..ed4f8c6db0cd 100644 --- a/arch/blackfin/include/asm/bfin5xx_spi.h +++ b/arch/blackfin/include/asm/bfin5xx_spi.h | |||
@@ -3,8 +3,6 @@ | |||
3 | * | 3 | * |
4 | * Copyright 2004-2008 Analog Devices Inc. | 4 | * Copyright 2004-2008 Analog Devices Inc. |
5 | * | 5 | * |
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | ||
8 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
9 | */ | 7 | */ |
10 | 8 | ||
diff --git a/arch/blackfin/include/asm/bfin_rotary.h b/arch/blackfin/include/asm/bfin_rotary.h index 425ece64fd5e..abdb2af52902 100644 --- a/arch/blackfin/include/asm/bfin_rotary.h +++ b/arch/blackfin/include/asm/bfin_rotary.h | |||
@@ -1,6 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * board initialization should put one of these structures into platform_data | 2 | * board initialization should put one of these structures into platform_data |
3 | * and place the bfin-rotary onto platform_bus named "bfin-rotary". | 3 | * and place the bfin-rotary onto platform_bus named "bfin-rotary". |
4 | * | ||
5 | * Copyright 2008 Analog Devices Inc. | ||
6 | * | ||
7 | * Licensed under the GPL-2 or later. | ||
4 | */ | 8 | */ |
5 | 9 | ||
6 | #ifndef _BFIN_ROTARY_H | 10 | #ifndef _BFIN_ROTARY_H |
diff --git a/arch/blackfin/include/asm/bfin_simple_timer.h b/arch/blackfin/include/asm/bfin_simple_timer.h index fccbb595464a..5248c133bc68 100644 --- a/arch/blackfin/include/asm/bfin_simple_timer.h +++ b/arch/blackfin/include/asm/bfin_simple_timer.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2006-2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _bfin_simple_timer_h_ | 7 | #ifndef _bfin_simple_timer_h_ |
2 | #define _bfin_simple_timer_h_ | 8 | #define _bfin_simple_timer_h_ |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/bitops.h b/arch/blackfin/include/asm/bitops.h index daffa71576d4..a2ff3fb3568d 100644 --- a/arch/blackfin/include/asm/bitops.h +++ b/arch/blackfin/include/asm/bitops.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BLACKFIN_BITOPS_H | 7 | #ifndef _BLACKFIN_BITOPS_H |
2 | #define _BLACKFIN_BITOPS_H | 8 | #define _BLACKFIN_BITOPS_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/blackfin.h b/arch/blackfin/include/asm/blackfin.h index 4d4439583396..eb7c1441d8f9 100644 --- a/arch/blackfin/include/asm/blackfin.h +++ b/arch/blackfin/include/asm/blackfin.h | |||
@@ -1,6 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Common header file for blackfin family of processors. | 2 | * Common header file for Blackfin family of processors. |
3 | * | 3 | * |
4 | Â * Copyright 2004-2009 Analog Devices Inc. | ||
5 | Â * | ||
6 | Â * Licensed under the GPL-2 or later. | ||
4 | */ | 7 | */ |
5 | 8 | ||
6 | #ifndef _BLACKFIN_H_ | 9 | #ifndef _BLACKFIN_H_ |
diff --git a/arch/blackfin/include/asm/bug.h b/arch/blackfin/include/asm/bug.h index 655e49540e41..6f4548a13555 100644 --- a/arch/blackfin/include/asm/bug.h +++ b/arch/blackfin/include/asm/bug.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BLACKFIN_BUG_H | 7 | #ifndef _BLACKFIN_BUG_H |
2 | #define _BLACKFIN_BUG_H | 8 | #define _BLACKFIN_BUG_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/byteorder.h b/arch/blackfin/include/asm/byteorder.h index 3e69106a4d37..9558416d578b 100644 --- a/arch/blackfin/include/asm/byteorder.h +++ b/arch/blackfin/include/asm/byteorder.h | |||
@@ -1,6 +1 @@ | |||
1 | #ifndef _BLACKFIN_BYTEORDER_H | ||
2 | #define _BLACKFIN_BYTEORDER_H | ||
3 | |||
4 | #include <linux/byteorder/little_endian.h> | #include <linux/byteorder/little_endian.h> | |
5 | |||
6 | #endif /* _BLACKFIN_BYTEORDER_H */ | ||
diff --git a/arch/blackfin/include/asm/cache.h b/arch/blackfin/include/asm/cache.h index 477050ad5c53..8542bc31f63c 100644 --- a/arch/blackfin/include/asm/cache.h +++ b/arch/blackfin/include/asm/cache.h | |||
@@ -1,6 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * include/asm-blackfin/cache.h | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
3 | */ | 5 | */ |
6 | |||
4 | #ifndef __ARCH_BLACKFIN_CACHE_H | 7 | #ifndef __ARCH_BLACKFIN_CACHE_H |
5 | #define __ARCH_BLACKFIN_CACHE_H | 8 | #define __ARCH_BLACKFIN_CACHE_H |
6 | 9 | ||
@@ -35,10 +38,10 @@ | |||
35 | 38 | ||
36 | #if defined(CONFIG_SMP) && \ | 39 | #if defined(CONFIG_SMP) && \ |
37 | !defined(CONFIG_BFIN_CACHE_COHERENT) | 40 | !defined(CONFIG_BFIN_CACHE_COHERENT) |
38 | # if defined(CONFIG_BFIN_ICACHEABLE) || defined(CONFIG_BFIN_L2_ICACHEABLE) | 41 | # if defined(CONFIG_BFIN_EXTMEM_ICACHEABLE) || defined(CONFIG_BFIN_L2_ICACHEABLE) |
39 | # define __ARCH_SYNC_CORE_ICACHE | 42 | # define __ARCH_SYNC_CORE_ICACHE |
40 | # endif | 43 | # endif |
41 | # if defined(CONFIG_BFIN_DCACHEABLE) || defined(CONFIG_BFIN_L2_DCACHEABLE) | 44 | # if defined(CONFIG_BFIN_EXTMEM_DCACHEABLE) || defined(CONFIG_BFIN_L2_DCACHEABLE) |
42 | # define __ARCH_SYNC_CORE_DCACHE | 45 | # define __ARCH_SYNC_CORE_DCACHE |
43 | # endif | 46 | # endif |
44 | #ifndef __ASSEMBLY__ | 47 | #ifndef __ASSEMBLY__ |
diff --git a/arch/blackfin/include/asm/cacheflush.h b/arch/blackfin/include/asm/cacheflush.h index 7e55549e180f..af03a36c7a4e 100644 --- a/arch/blackfin/include/asm/cacheflush.h +++ b/arch/blackfin/include/asm/cacheflush.h | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/cacheflush.h | 2 | * Blackfin low-level cache routines |
3 | * Based on: include/asm-m68knommu/cacheflush.h | ||
4 | * Author: LG Soft India | ||
5 | * Copyright (C) 2004 Analog Devices Inc. | ||
6 | * Created: Tue Sep 21 2004 | ||
7 | * Description: Blackfin low-level cache routines adapted from the i386 | ||
8 | * and PPC versions by Greg Ungerer (gerg@snapgear.com) | ||
9 | * | 3 | * |
10 | * Modified: | 4 | * Copyright 2004-2009 Analog Devices Inc. |
11 | * | 5 | * |
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 6 | * Licensed under the GPL-2 or later. |
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2, or (at your option) | ||
17 | * any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; see the file COPYING. | ||
26 | * If not, write to the Free Software Foundation, | ||
27 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #ifndef _BLACKFIN_CACHEFLUSH_H | 9 | #ifndef _BLACKFIN_CACHEFLUSH_H |
diff --git a/arch/blackfin/include/asm/cdef_LPBlackfin.h b/arch/blackfin/include/asm/cdef_LPBlackfin.h index 35f841bce57d..8778e0f03730 100644 --- a/arch/blackfin/include/asm/cdef_LPBlackfin.h +++ b/arch/blackfin/include/asm/cdef_LPBlackfin.h | |||
@@ -1,30 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-common/cdef_LPBlackfin.h | 2 | * Copyright 2005-2008 Analog Devices Inc. |
3 | * Based on: | 3 | * |
4 | * Author: unknown | 4 | * Licensed under the GPL-2 or later. |
5 | * COPYRIGHT 2005 Analog Devices | 5 | */ |
6 | * Created: ? | ||
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * | ||
11 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License as published by | ||
15 | * the Free Software Foundation; either version 2, or (at your option) | ||
16 | * any later version. | ||
17 | * | ||
18 | * This program is distributed in the hope that it will be useful, | ||
19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
21 | * GNU General Public License for more details. | ||
22 | * | ||
23 | * You should have received a copy of the GNU General Public License | ||
24 | * along with this program; see the file COPYING. | ||
25 | * If not, write to the Free Software Foundation, | ||
26 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
27 | */ | ||
28 | 6 | ||
29 | #ifndef _CDEF_LPBLACKFIN_H | 7 | #ifndef _CDEF_LPBLACKFIN_H |
30 | #define _CDEF_LPBLACKFIN_H | 8 | #define _CDEF_LPBLACKFIN_H |
diff --git a/arch/blackfin/include/asm/checksum.h b/arch/blackfin/include/asm/checksum.h index 793581fc9556..a23415be0de1 100644 --- a/arch/blackfin/include/asm/checksum.h +++ b/arch/blackfin/include/asm/checksum.h | |||
@@ -1,9 +1,14 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * akbar.hussain@lineo.com | ||
4 | * | ||
5 | * Licensed under the GPL-2 or later. | ||
6 | */ | ||
7 | |||
1 | #ifndef _BFIN_CHECKSUM_H | 8 | #ifndef _BFIN_CHECKSUM_H |
2 | #define _BFIN_CHECKSUM_H | 9 | #define _BFIN_CHECKSUM_H |
3 | 10 | ||
4 | /* | 11 | /* |
5 | * MODIFIED FOR BFIN April 30, 2001 akbar.hussain@lineo.com | ||
6 | * | ||
7 | * computes the checksum of a memory block at buff, length len, | 12 | * computes the checksum of a memory block at buff, length len, |
8 | * and adds in "sum" (32-bit) | 13 | * and adds in "sum" (32-bit) |
9 | * | 14 | * |
diff --git a/arch/blackfin/include/asm/clocks.h b/arch/blackfin/include/asm/clocks.h index 033bba92d61c..f80dad5ff257 100644 --- a/arch/blackfin/include/asm/clocks.h +++ b/arch/blackfin/include/asm/clocks.h | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-common/clocks.h | 2 | * Common Clock definitions for various kernel files |
3 | * Based on: include/asm-blackfin/mach-bf537/bf537.h | ||
4 | * Author: Robin Getz <rgetz@blackfin.uclinux.org> | ||
5 | * | 3 | * |
6 | * Created: 25Jul07 | 4 | * Copyright 2007-2008 Analog Devices Inc. |
7 | * Description: Common Clock definitions for various kernel files | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #ifndef _BFIN_CLOCKS_H | 9 | #ifndef _BFIN_CLOCKS_H |
diff --git a/arch/blackfin/include/asm/context.S b/arch/blackfin/include/asm/context.S index f8a664f022b1..5dffaf582a22 100644 --- a/arch/blackfin/include/asm/context.S +++ b/arch/blackfin/include/asm/context.S | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/context.S | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | /* | 7 | /* |
diff --git a/arch/blackfin/include/asm/cplb.h b/arch/blackfin/include/asm/cplb.h index d18d16837a6d..fda96261ed62 100644 --- a/arch/blackfin/include/asm/cplb.h +++ b/arch/blackfin/include/asm/cplb.h | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/cplb.h | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: include/asm-blackfin/mach-bf537/bf537.h | ||
4 | * Author: Robin Getz <rgetz@blackfin.uclinux.org> | ||
5 | * | 3 | * |
6 | * Created: 2000 | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: Common CPLB definitions for CPLB init | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #ifndef _CPLB_H | 7 | #ifndef _CPLB_H |
diff --git a/arch/blackfin/include/asm/cplbinit.h b/arch/blackfin/include/asm/cplbinit.h index 05b14a631d0c..f315c83a015d 100644 --- a/arch/blackfin/include/asm/cplbinit.h +++ b/arch/blackfin/include/asm/cplbinit.h | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/cplbinit.h | 2 | * Common CPLB definitions for CPLB init |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2006-2008 Analog Devices Inc. |
7 | * Description: | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #ifndef __ASM_CPLBINIT_H__ | 9 | #ifndef __ASM_CPLBINIT_H__ |
diff --git a/arch/blackfin/include/asm/cpu.h b/arch/blackfin/include/asm/cpu.h index fadfa82f93b2..b191dc662bd8 100644 --- a/arch/blackfin/include/asm/cpu.h +++ b/arch/blackfin/include/asm/cpu.h | |||
@@ -1,23 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/include/asm/cpu.h. | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Author: Philippe Gerum <rpm@xenomai.org> | 3 | * Philippe Gerum <rpm@xenomai.org> |
4 | * | 4 | * |
5 | * Copyright 2007 Analog Devices Inc. | 5 | * Licensed under the GPL-2 or later. |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, see the file COPYING, or write | ||
19 | * to the Free Software Foundation, Inc., | ||
20 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
21 | */ | 6 | */ |
22 | 7 | ||
23 | #ifndef __ASM_BLACKFIN_CPU_H | 8 | #ifndef __ASM_BLACKFIN_CPU_H |
diff --git a/arch/blackfin/include/asm/def_LPBlackfin.h b/arch/blackfin/include/asm/def_LPBlackfin.h index 6341eebff3dc..25906468622f 100644 --- a/arch/blackfin/include/asm/def_LPBlackfin.h +++ b/arch/blackfin/include/asm/def_LPBlackfin.h | |||
@@ -1,32 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-common/def_LPBlackfin.h | 2 | * Blackfin core register bit & address definitions |
3 | * Based on: | 3 | * |
4 | * Author: unknown | 4 | * Copyright 2005-2008 Analog Devices Inc. |
5 | * COPYRIGHT 2005 Analog Devices | 5 | * |
6 | * Created: ? | 6 | * Licensed under the ADI BSD license or GPL-2 (or later). |
7 | * Description: | 7 | */ |
8 | * | ||
9 | * Modified: | ||
10 | * | ||
11 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License as published by | ||
15 | * the Free Software Foundation; either version 2, or (at your option) | ||
16 | * any later version. | ||
17 | * | ||
18 | * This program is distributed in the hope that it will be useful, | ||
19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
21 | * GNU General Public License for more details. | ||
22 | * | ||
23 | * You should have received a copy of the GNU General Public License | ||
24 | * along with this program; see the file COPYING. | ||
25 | * If not, write to the Free Software Foundation, | ||
26 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
27 | */ | ||
28 | |||
29 | /* LP Blackfin CORE REGISTER BIT & ADDRESS DEFINITIONS FOR ADSP-BF532/33 */ | ||
30 | 8 | ||
31 | #ifndef _DEF_LPBLACKFIN_H | 9 | #ifndef _DEF_LPBLACKFIN_H |
32 | #define _DEF_LPBLACKFIN_H | 10 | #define _DEF_LPBLACKFIN_H |
diff --git a/arch/blackfin/include/asm/dma-mapping.h b/arch/blackfin/include/asm/dma-mapping.h index ed6b1f3cccce..7a23d824ac96 100644 --- a/arch/blackfin/include/asm/dma-mapping.h +++ b/arch/blackfin/include/asm/dma-mapping.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BLACKFIN_DMA_MAPPING_H | 7 | #ifndef _BLACKFIN_DMA_MAPPING_H |
2 | #define _BLACKFIN_DMA_MAPPING_H | 8 | #define _BLACKFIN_DMA_MAPPING_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/dpmc.h b/arch/blackfin/include/asm/dpmc.h index 96e8208f929a..925e66cb2d49 100644 --- a/arch/blackfin/include/asm/dpmc.h +++ b/arch/blackfin/include/asm/dpmc.h | |||
@@ -1,9 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * include/asm-blackfin/dpmc.h - Miscellaneous IOCTL commands for Dynamic Power | 2 | * Miscellaneous IOCTL commands for Dynamic Power Management Controller Driver |
3 | * Management Controller Driver. | 3 | * |
4 | * Copyright (C) 2004-2008 Analog Device Inc. | 4 | * Copyright (C) 2004-2008 Analog Device Inc. |
5 | * | 5 | * |
6 | * Licensed under the GPL-2 | ||
6 | */ | 7 | */ |
8 | |||
7 | #ifndef _BLACKFIN_DPMC_H_ | 9 | #ifndef _BLACKFIN_DPMC_H_ |
8 | #define _BLACKFIN_DPMC_H_ | 10 | #define _BLACKFIN_DPMC_H_ |
9 | 11 | ||
diff --git a/arch/blackfin/include/asm/early_printk.h b/arch/blackfin/include/asm/early_printk.h index 53a762b6fcd2..68a910db8864 100644 --- a/arch/blackfin/include/asm/early_printk.h +++ b/arch/blackfin/include/asm/early_printk.h | |||
@@ -1,27 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/early_printk.h | 2 | * function prototpyes for early printk |
3 | * Author: Robin Getz <rgetz@blackfin.uclinux.org | ||
4 | * | 3 | * |
5 | * Created: 14Aug2007 | 4 | * Copyright 2007-2009 Analog Devices Inc. |
6 | * Description: function prototpyes for early printk | ||
7 | * | 5 | * |
8 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
9 | * Copyright 2004-2007 Analog Devices Inc. | ||
10 | * | ||
11 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License as published by | ||
15 | * the Free Software Foundation; either version 2 of the License, or | ||
16 | * (at your option) any later version. | ||
17 | * | ||
18 | * This program is distributed in the hope that it will be useful, | ||
19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
21 | * GNU General Public License for more details. | ||
22 | */ | 7 | */ |
23 | 8 | ||
24 | |||
25 | #ifndef __ASM_EARLY_PRINTK_H__ | 9 | #ifndef __ASM_EARLY_PRINTK_H__ |
26 | #define __ASM_EARLY_PRINTK_H__ | 10 | #define __ASM_EARLY_PRINTK_H__ |
27 | 11 | ||
diff --git a/arch/blackfin/include/asm/elf.h b/arch/blackfin/include/asm/elf.h index c823e8ebbfa1..8e0764c81eaf 100644 --- a/arch/blackfin/include/asm/elf.h +++ b/arch/blackfin/include/asm/elf.h | |||
@@ -1,4 +1,8 @@ | |||
1 | /* Changes made by LG Soft Oct 2004*/ | 1 | /* |
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
2 | 6 | ||
3 | #ifndef __ASMBFIN_ELF_H | 7 | #ifndef __ASMBFIN_ELF_H |
4 | #define __ASMBFIN_ELF_H | 8 | #define __ASMBFIN_ELF_H |
diff --git a/arch/blackfin/include/asm/entry.h b/arch/blackfin/include/asm/entry.h index 55b808fced71..a6886f6e4819 100644 --- a/arch/blackfin/include/asm/entry.h +++ b/arch/blackfin/include/asm/entry.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef __BFIN_ENTRY_H | 7 | #ifndef __BFIN_ENTRY_H |
2 | #define __BFIN_ENTRY_H | 8 | #define __BFIN_ENTRY_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/fcntl.h b/arch/blackfin/include/asm/fcntl.h index 9c4037127857..8727b2b382f1 100644 --- a/arch/blackfin/include/asm/fcntl.h +++ b/arch/blackfin/include/asm/fcntl.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BFIN_FCNTL_H | 7 | #ifndef _BFIN_FCNTL_H |
2 | #define _BFIN_FCNTL_H | 8 | #define _BFIN_FCNTL_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/fixed_code.h b/arch/blackfin/include/asm/fixed_code.h index 32c4d495d847..73fe53e7fd24 100644 --- a/arch/blackfin/include/asm/fixed_code.h +++ b/arch/blackfin/include/asm/fixed_code.h | |||
@@ -1,5 +1,11 @@ | |||
1 | /* This file defines the fixed addresses where userspace programs can find | 1 | /* |
2 | atomic code sequences. */ | 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 | */ | ||
3 | 9 | ||
4 | #ifndef __BFIN_ASM_FIXED_CODE_H__ | 10 | #ifndef __BFIN_ASM_FIXED_CODE_H__ |
5 | #define __BFIN_ASM_FIXED_CODE_H__ | 11 | #define __BFIN_ASM_FIXED_CODE_H__ |
diff --git a/arch/blackfin/include/asm/flat.h b/arch/blackfin/include/asm/flat.h index 733a178d782d..c1314c56dd18 100644 --- a/arch/blackfin/include/asm/flat.h +++ b/arch/blackfin/include/asm/flat.h | |||
@@ -1,8 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * include/asm-blackfin/flat.h -- uClinux flat-format executables | 2 | * uClinux flat-format executables |
3 | * | 3 | * |
4 | * Copyright (C) 2003, | 4 | * Copyright 2003-2009 Analog Devices Inc. |
5 | * | 5 | * |
6 | * Licensed under the GPL-2 | ||
6 | */ | 7 | */ |
7 | 8 | ||
8 | #ifndef __BLACKFIN_FLAT_H__ | 9 | #ifndef __BLACKFIN_FLAT_H__ |
diff --git a/arch/blackfin/include/asm/gpio.h b/arch/blackfin/include/asm/gpio.h index fe139619351f..5b44d05ca53e 100644 --- a/arch/blackfin/include/asm/gpio.h +++ b/arch/blackfin/include/asm/gpio.h | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/bfin_gpio.h | 2 | * Copyright 2006-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: Michael Hennerich (hennerich@blackfin.uclinux.org) | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #ifndef __ARCH_BLACKFIN_GPIO_H__ | 7 | #ifndef __ARCH_BLACKFIN_GPIO_H__ |
diff --git a/arch/blackfin/include/asm/hardirq.h b/arch/blackfin/include/asm/hardirq.h index 0b78b873df51..c078dd78d998 100644 --- a/arch/blackfin/include/asm/hardirq.h +++ b/arch/blackfin/include/asm/hardirq.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef __BFIN_HARDIRQ_H | 7 | #ifndef __BFIN_HARDIRQ_H |
2 | #define __BFIN_HARDIRQ_H | 8 | #define __BFIN_HARDIRQ_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/io.h b/arch/blackfin/include/asm/io.h index 37053eca200e..d1f5029189a7 100644 --- a/arch/blackfin/include/asm/io.h +++ b/arch/blackfin/include/asm/io.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BFIN_IO_H | 7 | #ifndef _BFIN_IO_H |
2 | #define _BFIN_IO_H | 8 | #define _BFIN_IO_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/irq.h b/arch/blackfin/include/asm/irq.h index 42a15f5ce0d0..e7c0623f9091 100644 --- a/arch/blackfin/include/asm/irq.h +++ b/arch/blackfin/include/asm/irq.h | |||
@@ -1,17 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * This file is subject to the terms and conditions of the GNU General Public | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * License. See the file COPYING in the main directory of this archive | 3 | * 2003 HuTao |
4 | * for more details. | 4 | * 2002 Arcturus Networks Inc. (www.arcturusnetworks.com |
5 | * Ted Ma <mated@sympatico.ca> | ||
5 | * | 6 | * |
6 | * Changed by HuTao Apr18, 2003 | 7 | * Licensed under the GPL-2 |
7 | * | ||
8 | * Copyright was missing when I got the code so took from MIPS arch ...MaTed--- | ||
9 | * Copyright (C) 1994 by Waldorf GMBH, written by Ralf Baechle | ||
10 | * Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001 by Ralf Baechle | ||
11 | * | ||
12 | * Adapted for BlackFin (ADI) by Ted Ma <mated@sympatico.ca> | ||
13 | * Copyright (c) 2002 Arcturus Networks Inc. (www.arcturusnetworks.com) | ||
14 | * Copyright (c) 2002 Lineo, Inc. <mattw@lineo.com> | ||
15 | */ | 8 | */ |
16 | 9 | ||
17 | #ifndef _BFIN_IRQ_H_ | 10 | #ifndef _BFIN_IRQ_H_ |
@@ -19,6 +12,8 @@ | |||
19 | 12 | ||
20 | #include <linux/irqflags.h> | 13 | #include <linux/irqflags.h> |
21 | 14 | ||
15 | #include <mach/anomaly.h> | ||
16 | |||
22 | /* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */ | 17 | /* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */ |
23 | #include <mach/irq.h> | 18 | #include <mach/irq.h> |
24 | 19 | ||
diff --git a/arch/blackfin/include/asm/irq_handler.h b/arch/blackfin/include/asm/irq_handler.h index 7d9e2d3bbede..7fbe42307b9a 100644 --- a/arch/blackfin/include/asm/irq_handler.h +++ b/arch/blackfin/include/asm/irq_handler.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _IRQ_HANDLER_H | 7 | #ifndef _IRQ_HANDLER_H |
2 | #define _IRQ_HANDLER_H | 8 | #define _IRQ_HANDLER_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/l1layout.h b/arch/blackfin/include/asm/l1layout.h index 79dbefaa5bef..c87e68647a2b 100644 --- a/arch/blackfin/include/asm/l1layout.h +++ b/arch/blackfin/include/asm/l1layout.h | |||
@@ -1,6 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * l1layout.h | ||
3 | * Defines a layout of L1 scratchpad memory that userspace can rely on. | 2 | * Defines a layout of L1 scratchpad memory that userspace can rely on. |
3 | * | ||
4 | * Copyright 2006-2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
4 | */ | 7 | */ |
5 | 8 | ||
6 | #ifndef _L1LAYOUT_H_ | 9 | #ifndef _L1LAYOUT_H_ |
diff --git a/arch/blackfin/include/asm/linkage.h b/arch/blackfin/include/asm/linkage.h index 5a822bb790f7..f7d6d47a048d 100644 --- a/arch/blackfin/include/asm/linkage.h +++ b/arch/blackfin/include/asm/linkage.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef __ASM_LINKAGE_H | 7 | #ifndef __ASM_LINKAGE_H |
2 | #define __ASM_LINKAGE_H | 8 | #define __ASM_LINKAGE_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/mmu.h b/arch/blackfin/include/asm/mmu.h index dbfd686360e6..26f6b70b11e2 100644 --- a/arch/blackfin/include/asm/mmu.h +++ b/arch/blackfin/include/asm/mmu.h | |||
@@ -1,8 +1,13 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * 2002 David McCullough <davidm@snapgear.com> | ||
4 | * | ||
5 | * Licensed under the GPL-2. | ||
6 | */ | ||
7 | |||
1 | #ifndef __MMU_H | 8 | #ifndef __MMU_H |
2 | #define __MMU_H | 9 | #define __MMU_H |
3 | 10 | ||
4 | /* Copyright (C) 2002, David McCullough <davidm@snapgear.com> */ | ||
5 | |||
6 | struct sram_list_struct { | 11 | struct sram_list_struct { |
7 | struct sram_list_struct *next; | 12 | struct sram_list_struct *next; |
8 | void *addr; | 13 | void *addr; |
diff --git a/arch/blackfin/include/asm/mmu_context.h b/arch/blackfin/include/asm/mmu_context.h index 040410bb07e1..4a3be376ad5b 100644 --- a/arch/blackfin/include/asm/mmu_context.h +++ b/arch/blackfin/include/asm/mmu_context.h | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mmu_context.h | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #ifndef __BLACKFIN_MMU_CONTEXT_H__ | 7 | #ifndef __BLACKFIN_MMU_CONTEXT_H__ |
diff --git a/arch/blackfin/include/asm/module.h b/arch/blackfin/include/asm/module.h index e3128df139d6..9c1cfffddd9b 100644 --- a/arch/blackfin/include/asm/module.h +++ b/arch/blackfin/include/asm/module.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | Â * Copyright 2004-2008 Analog Devices Inc. | ||
3 | Â * | ||
4 | Â * Licensed under the GPL-2 or later. | ||
5 | Â */ | ||
6 | |||
1 | #ifndef _ASM_BFIN_MODULE_H | 7 | #ifndef _ASM_BFIN_MODULE_H |
2 | #define _ASM_BFIN_MODULE_H | 8 | #define _ASM_BFIN_MODULE_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/mutex.h b/arch/blackfin/include/asm/mutex.h index 5cc641c50834..f726e3a80ad0 100644 --- a/arch/blackfin/include/asm/mutex.h +++ b/arch/blackfin/include/asm/mutex.h | |||
@@ -4,6 +4,10 @@ | |||
4 | * TODO: implement optimized primitives instead, or leave the generic | 4 | * TODO: implement optimized primitives instead, or leave the generic |
5 | * implementation in place, or pick the atomic_xchg() based generic | 5 | * implementation in place, or pick the atomic_xchg() based generic |
6 | * implementation. (see asm-generic/mutex-xchg.h for details) | 6 | * implementation. (see asm-generic/mutex-xchg.h for details) |
7 | * | ||
8 | * Copyright 2006-2009 Analog Devices Inc. | ||
9 | * | ||
10 | * Licensed under the GPL-2 or later. | ||
7 | */ | 11 | */ |
8 | 12 | ||
9 | #ifndef _ASM_MUTEX_H | 13 | #ifndef _ASM_MUTEX_H |
diff --git a/arch/blackfin/include/asm/nand.h b/arch/blackfin/include/asm/nand.h index afbaafa793f1..3ae8b569edfc 100644 --- a/arch/blackfin/include/asm/nand.h +++ b/arch/blackfin/include/asm/nand.h | |||
@@ -1,13 +1,9 @@ | |||
1 | /* linux/include/asm-blackfin/nand.h | 1 | /* |
2 | * | ||
3 | * Copyright (c) 2007 Analog Devices, Inc. | ||
4 | * Bryan Wu <bryan.wu@analog.com> | ||
5 | * | ||
6 | * BF5XX - NAND flash controller platfrom_device info | 2 | * BF5XX - NAND flash controller platfrom_device info |
7 | * | 3 | * |
8 | * This program is free software; you can redistribute it and/or modify | 4 | * Copyright 2007-2008 Analog Devices, Inc. |
9 | * it under the terms of the GNU General Public License version 2 as | 5 | * |
10 | * published by the Free Software Foundation. | 6 | * Licensed under the GPL-2 |
11 | */ | 7 | */ |
12 | 8 | ||
13 | /* struct bf5xx_nand_platform | 9 | /* struct bf5xx_nand_platform |
diff --git a/arch/blackfin/include/asm/page.h b/arch/blackfin/include/asm/page.h index 29dcf75c6112..944a07c6cfd6 100644 --- a/arch/blackfin/include/asm/page.h +++ b/arch/blackfin/include/asm/page.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | Â * Copyright 2004-2009 Analog Devices Inc. | ||
3 | Â * | ||
4 | Â * Licensed under the GPL-2 or later. | ||
5 | Â */ | ||
6 | |||
1 | #ifndef _BLACKFIN_PAGE_H | 7 | #ifndef _BLACKFIN_PAGE_H |
2 | #define _BLACKFIN_PAGE_H | 8 | #define _BLACKFIN_PAGE_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/page_offset.h b/arch/blackfin/include/asm/page_offset.h index cbaff24b4b25..d06a89b89d20 100644 --- a/arch/blackfin/include/asm/page_offset.h +++ b/arch/blackfin/include/asm/page_offset.h | |||
@@ -1,5 +1,10 @@ | |||
1 | 1 | /* | |
2 | /* This handles the memory map.. */ | 2 | * This handles the memory map |
3 | * | ||
4 | * Copyright 2004-2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
7 | */ | ||
3 | 8 | ||
4 | #ifdef CONFIG_BLACKFIN | 9 | #ifdef CONFIG_BLACKFIN |
5 | #define PAGE_OFFSET_RAW 0x00000000 | 10 | #define PAGE_OFFSET_RAW 0x00000000 |
diff --git a/arch/blackfin/include/asm/pda.h b/arch/blackfin/include/asm/pda.h index a6f95695731d..d49bb261d9b7 100644 --- a/arch/blackfin/include/asm/pda.h +++ b/arch/blackfin/include/asm/pda.h | |||
@@ -1,23 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/include/asm/pda.h | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Author: Philippe Gerum <rpm@xenomai.org> | 3 | * Philippe Gerum <rpm@xenomai.org> |
4 | * | 4 | * |
5 | * Copyright 2007 Analog Devices Inc. | 5 | * Licensed under the GPL-2 or later. |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, see the file COPYING, or write | ||
19 | * to the Free Software Foundation, Inc., | ||
20 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
21 | */ | 6 | */ |
22 | 7 | ||
23 | #ifndef _ASM_BLACKFIN_PDA_H | 8 | #ifndef _ASM_BLACKFIN_PDA_H |
diff --git a/arch/blackfin/include/asm/pgtable.h b/arch/blackfin/include/asm/pgtable.h index 783c8f7f8f8c..821c699c2238 100644 --- a/arch/blackfin/include/asm/pgtable.h +++ b/arch/blackfin/include/asm/pgtable.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BLACKFIN_PGTABLE_H | 7 | #ifndef _BLACKFIN_PGTABLE_H |
2 | #define _BLACKFIN_PGTABLE_H | 8 | #define _BLACKFIN_PGTABLE_H |
3 | 9 | ||
@@ -92,6 +98,12 @@ extern unsigned int kobjsize(const void *objp); | |||
92 | #define VMALLOC_START 0 | 98 | #define VMALLOC_START 0 |
93 | #define VMALLOC_END 0xffffffff | 99 | #define VMALLOC_END 0xffffffff |
94 | 100 | ||
101 | /* provide a special get_unmapped_area for framebuffer mmaps of nommu */ | ||
102 | extern unsigned long get_fb_unmapped_area(struct file *filp, unsigned long, | ||
103 | unsigned long, unsigned long, | ||
104 | unsigned long); | ||
105 | #define HAVE_ARCH_FB_UNMAPPED_AREA | ||
106 | |||
95 | #include <asm-generic/pgtable.h> | 107 | #include <asm-generic/pgtable.h> |
96 | 108 | ||
97 | #endif /* _BLACKFIN_PGTABLE_H */ | 109 | #endif /* _BLACKFIN_PGTABLE_H */ |
diff --git a/arch/blackfin/include/asm/poll.h b/arch/blackfin/include/asm/poll.h index a0556671357b..072d8966c5c3 100644 --- a/arch/blackfin/include/asm/poll.h +++ b/arch/blackfin/include/asm/poll.h | |||
@@ -1,3 +1,10 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | * | ||
6 | */ | ||
7 | |||
1 | #ifndef __BFIN_POLL_H | 8 | #ifndef __BFIN_POLL_H |
2 | #define __BFIN_POLL_H | 9 | #define __BFIN_POLL_H |
3 | 10 | ||
diff --git a/arch/blackfin/include/asm/portmux.h b/arch/blackfin/include/asm/portmux.h index 88eb5c07cc24..edd8ef3a3788 100644 --- a/arch/blackfin/include/asm/portmux.h +++ b/arch/blackfin/include/asm/portmux.h | |||
@@ -1,6 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Common header file for blackfin family of processors. | 2 | * Common header file for Blackfin family of processors |
3 | * | 3 | * |
4 | Â * Copyright 2007-2008 Analog Devices Inc. | ||
5 | Â * | ||
6 | Â * Licensed under the GPL-2 or later. | ||
4 | */ | 7 | */ |
5 | 8 | ||
6 | #ifndef _PORTMUX_H_ | 9 | #ifndef _PORTMUX_H_ |
diff --git a/arch/blackfin/include/asm/posix_types.h b/arch/blackfin/include/asm/posix_types.h index 80c9d64eb26c..41bc1875c4d7 100644 --- a/arch/blackfin/include/asm/posix_types.h +++ b/arch/blackfin/include/asm/posix_types.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef __ARCH_BFIN_POSIX_TYPES_H | 7 | #ifndef __ARCH_BFIN_POSIX_TYPES_H |
2 | #define __ARCH_BFIN_POSIX_TYPES_H | 8 | #define __ARCH_BFIN_POSIX_TYPES_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/processor.h b/arch/blackfin/include/asm/processor.h index a36ad8dac068..aea880274de7 100644 --- a/arch/blackfin/include/asm/processor.h +++ b/arch/blackfin/include/asm/processor.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef __ASM_BFIN_PROCESSOR_H | 7 | #ifndef __ASM_BFIN_PROCESSOR_H |
2 | #define __ASM_BFIN_PROCESSOR_H | 8 | #define __ASM_BFIN_PROCESSOR_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/ptrace.h b/arch/blackfin/include/asm/ptrace.h index e3f086dc7268..27290c955a7a 100644 --- a/arch/blackfin/include/asm/ptrace.h +++ b/arch/blackfin/include/asm/ptrace.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BFIN_PTRACE_H | 7 | #ifndef _BFIN_PTRACE_H |
2 | #define _BFIN_PTRACE_H | 8 | #define _BFIN_PTRACE_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/sections.h b/arch/blackfin/include/asm/sections.h index ae4dae1e370b..1f5381fbb4a7 100644 --- a/arch/blackfin/include/asm/sections.h +++ b/arch/blackfin/include/asm/sections.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | Â * Copyright 2004-2009 Analog Devices Inc. | ||
3 | Â * | ||
4 | Â * Licensed under the GPL-2 or later. | ||
5 | Â */ | ||
6 | |||
1 | #ifndef _BLACKFIN_SECTIONS_H | 7 | #ifndef _BLACKFIN_SECTIONS_H |
2 | #define _BLACKFIN_SECTIONS_H | 8 | #define _BLACKFIN_SECTIONS_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/segment.h b/arch/blackfin/include/asm/segment.h index 02cfd09b5a99..f8e1984ffc7e 100644 --- a/arch/blackfin/include/asm/segment.h +++ b/arch/blackfin/include/asm/segment.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BFIN_SEGMENT_H | 7 | #ifndef _BFIN_SEGMENT_H |
2 | #define _BFIN_SEGMENT_H | 8 | #define _BFIN_SEGMENT_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/sigcontext.h b/arch/blackfin/include/asm/sigcontext.h index ce00b03c2775..ce4081a4d815 100644 --- a/arch/blackfin/include/asm/sigcontext.h +++ b/arch/blackfin/include/asm/sigcontext.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | Â * Copyright 2004-2008 Analog Devices Inc. | ||
3 | Â * | ||
4 | Â * Licensed under the GPL-2 or later. | ||
5 | Â */ | ||
6 | |||
1 | #ifndef _ASM_BLACKFIN_SIGCONTEXT_H | 7 | #ifndef _ASM_BLACKFIN_SIGCONTEXT_H |
2 | #define _ASM_BLACKFIN_SIGCONTEXT_H | 8 | #define _ASM_BLACKFIN_SIGCONTEXT_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/siginfo.h b/arch/blackfin/include/asm/siginfo.h index eca4565cea37..3e81306394e2 100644 --- a/arch/blackfin/include/asm/siginfo.h +++ b/arch/blackfin/include/asm/siginfo.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BFIN_SIGINFO_H | 7 | #ifndef _BFIN_SIGINFO_H |
2 | #define _BFIN_SIGINFO_H | 8 | #define _BFIN_SIGINFO_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/smp.h b/arch/blackfin/include/asm/smp.h index 118deeeae7c0..6a0fe94b84a6 100644 --- a/arch/blackfin/include/asm/smp.h +++ b/arch/blackfin/include/asm/smp.h | |||
@@ -1,23 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/include/asm/smp.h | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Author: Philippe Gerum <rpm@xenomai.org> | 3 | * Philippe Gerum <rpm@xenomai.org> |
4 | * | 4 | * |
5 | * Copyright 2007 Analog Devices Inc. | 5 | * Licensed under the GPL-2 or later. |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, see the file COPYING, or write | ||
19 | * to the Free Software Foundation, Inc., | ||
20 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
21 | */ | 6 | */ |
22 | 7 | ||
23 | #ifndef __ASM_BLACKFIN_SMP_H | 8 | #ifndef __ASM_BLACKFIN_SMP_H |
diff --git a/arch/blackfin/include/asm/spinlock.h b/arch/blackfin/include/asm/spinlock.h index d6ff4b59fcb1..b0c7f0ee4b03 100644 --- a/arch/blackfin/include/asm/spinlock.h +++ b/arch/blackfin/include/asm/spinlock.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | Â * Copyright 2004-2009 Analog Devices Inc. | ||
3 | Â * | ||
4 | Â * Licensed under the GPL-2 or later. | ||
5 | Â */ | ||
6 | |||
1 | #ifndef __BFIN_SPINLOCK_H | 7 | #ifndef __BFIN_SPINLOCK_H |
2 | #define __BFIN_SPINLOCK_H | 8 | #define __BFIN_SPINLOCK_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/spinlock_types.h b/arch/blackfin/include/asm/spinlock_types.h index b1e3c4c7b382..be75762c0610 100644 --- a/arch/blackfin/include/asm/spinlock_types.h +++ b/arch/blackfin/include/asm/spinlock_types.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef __ASM_SPINLOCK_TYPES_H | 7 | #ifndef __ASM_SPINLOCK_TYPES_H |
2 | #define __ASM_SPINLOCK_TYPES_H | 8 | #define __ASM_SPINLOCK_TYPES_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/stat.h b/arch/blackfin/include/asm/stat.h index d2b6f11ec231..2e27665c4e91 100644 --- a/arch/blackfin/include/asm/stat.h +++ b/arch/blackfin/include/asm/stat.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2006 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BFIN_STAT_H | 7 | #ifndef _BFIN_STAT_H |
2 | #define _BFIN_STAT_H | 8 | #define _BFIN_STAT_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/string.h b/arch/blackfin/include/asm/string.h index 321f4d96e4ae..d7f0ccb418c3 100644 --- a/arch/blackfin/include/asm/string.h +++ b/arch/blackfin/include/asm/string.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BLACKFIN_STRING_H_ | 7 | #ifndef _BLACKFIN_STRING_H_ |
2 | #define _BLACKFIN_STRING_H_ | 8 | #define _BLACKFIN_STRING_H_ |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/swab.h b/arch/blackfin/include/asm/swab.h index d442113de515..89de6507ca2b 100644 --- a/arch/blackfin/include/asm/swab.h +++ b/arch/blackfin/include/asm/swab.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BLACKFIN_SWAB_H | 7 | #ifndef _BLACKFIN_SWAB_H |
2 | #define _BLACKFIN_SWAB_H | 8 | #define _BLACKFIN_SWAB_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/system.h b/arch/blackfin/include/asm/system.h index 85e8f16cf8c2..dde19b1d25f5 100644 --- a/arch/blackfin/include/asm/system.h +++ b/arch/blackfin/include/asm/system.h | |||
@@ -1,34 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm/system.h | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | 3 | * Tony Kou (tonyko@lineo.ca) |
4 | * Author: Tony Kou (tonyko@lineo.ca) | ||
5 | * Copyright (c) 2002 Arcturus Networks Inc. | ||
6 | * (www.arcturusnetworks.com) | ||
7 | * Copyright (c) 2003 Metrowerks (www.metrowerks.com) | ||
8 | * Copyright (c) 2004 Analog Device Inc. | ||
9 | * Created: 25Jan2001 - Tony Kou | ||
10 | * Description: system.h include file | ||
11 | * | 4 | * |
12 | * Modified: 22Sep2006 - Robin Getz | 5 | * Licensed under the GPL-2 or later |
13 | * - move include blackfin.h down, so I can get access to | ||
14 | * irq functions in other include files. | ||
15 | * | ||
16 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
17 | * | ||
18 | * This program is free software; you can redistribute it and/or modify | ||
19 | * it under the terms of the GNU General Public License as published by | ||
20 | * the Free Software Foundation; either version 2, or (at your option) | ||
21 | * any later version. | ||
22 | * | ||
23 | * This program is distributed in the hope that it will be useful, | ||
24 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
26 | * GNU General Public License for more details. | ||
27 | * | ||
28 | * You should have received a copy of the GNU General Public License | ||
29 | * along with this program; see the file COPYING. | ||
30 | * If not, write to the Free Software Foundation, | ||
31 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
32 | */ | 6 | */ |
33 | 7 | ||
34 | #ifndef _BLACKFIN_SYSTEM_H | 8 | #ifndef _BLACKFIN_SYSTEM_H |
diff --git a/arch/blackfin/include/asm/thread_info.h b/arch/blackfin/include/asm/thread_info.h index 2bbfdd950afc..afb3a8626380 100644 --- a/arch/blackfin/include/asm/thread_info.h +++ b/arch/blackfin/include/asm/thread_info.h | |||
@@ -1,27 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/thread_info.h | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: include/asm-m68knommu/thread_info.h | ||
4 | * Author: LG Soft India | ||
5 | * Copyright (C) 2004-2005 Analog Devices Inc. | ||
6 | * Created: Tue Sep 21 2004 | ||
7 | * Description: Blackfin low-level thread information | ||
8 | * Modified: | ||
9 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
10 | * | 3 | * |
11 | * This program is free software; you can redistribute it and/or modify | 4 | * Licensed under the GPL-2 or later. |
12 | * it under the terms of the GNU General Public License as published by | ||
13 | * the Free Software Foundation; either version 2, or (at your option) | ||
14 | * any later version. | ||
15 | * | ||
16 | * This program is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public License | ||
22 | * along with this program; see the file COPYING. | ||
23 | * If not, write to the Free Software Foundation, | ||
24 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
25 | */ | 5 | */ |
26 | 6 | ||
27 | #ifndef _ASM_THREAD_INFO_H | 7 | #ifndef _ASM_THREAD_INFO_H |
diff --git a/arch/blackfin/include/asm/tlb.h b/arch/blackfin/include/asm/tlb.h index 89a12ee916d8..a74ae08af1a7 100644 --- a/arch/blackfin/include/asm/tlb.h +++ b/arch/blackfin/include/asm/tlb.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BLACKFIN_TLB_H | 7 | #ifndef _BLACKFIN_TLB_H |
2 | #define _BLACKFIN_TLB_H | 8 | #define _BLACKFIN_TLB_H |
3 | 9 | ||
diff --git a/arch/blackfin/include/asm/trace.h b/arch/blackfin/include/asm/trace.h index 312b596b9731..609ad3c84189 100644 --- a/arch/blackfin/include/asm/trace.h +++ b/arch/blackfin/include/asm/trace.h | |||
@@ -1,6 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Common header file for blackfin family of processors. | 2 | * header file for hardware trace functions |
3 | * | 3 | * |
4 | * Copyright 2007-2008 Analog Devices Inc. | ||
5 | * | ||
6 | * Licensed under the GPL-2 or later. | ||
4 | */ | 7 | */ |
5 | 8 | ||
6 | #ifndef _BLACKFIN_TRACE_ | 9 | #ifndef _BLACKFIN_TRACE_ |
diff --git a/arch/blackfin/include/asm/traps.h b/arch/blackfin/include/asm/traps.h index 3cdc454cde23..9fe0da612c09 100644 --- a/arch/blackfin/include/asm/traps.h +++ b/arch/blackfin/include/asm/traps.h | |||
@@ -1,13 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm/traps.h | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * 2001 Lineo, Inc | ||
4 | * Tony Kou | ||
5 | * 1993 Hamish Macdonald | ||
3 | * | 6 | * |
4 | * Copyright (C) 1993 Hamish Macdonald | 7 | * Licensed under the GPL-2 |
5 | * | ||
6 | * Lineo, Inc Jul 2001 Tony Kou | ||
7 | * | ||
8 | * This file is subject to the terms and conditions of the GNU General Public | ||
9 | * License. See the file COPYING in the main directory of this archive | ||
10 | * for more details. | ||
11 | */ | 8 | */ |
12 | 9 | ||
13 | #ifndef _BFIN_TRAPS_H | 10 | #ifndef _BFIN_TRAPS_H |
diff --git a/arch/blackfin/include/asm/uaccess.h b/arch/blackfin/include/asm/uaccess.h index 2f469a1f80fb..c03b8532aad3 100644 --- a/arch/blackfin/include/asm/uaccess.h +++ b/arch/blackfin/include/asm/uaccess.h | |||
@@ -1,4 +1,7 @@ | |||
1 | /* Changes made by Lineo Inc. May 2001 | 1 | /* |
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
2 | * | 5 | * |
3 | * Based on: include/asm-m68knommu/uaccess.h | 6 | * Based on: include/asm-m68knommu/uaccess.h |
4 | */ | 7 | */ |
diff --git a/arch/blackfin/include/asm/unistd.h b/arch/blackfin/include/asm/unistd.h index 02b1529dad57..779be02a910a 100644 --- a/arch/blackfin/include/asm/unistd.h +++ b/arch/blackfin/include/asm/unistd.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef __ASM_BFIN_UNISTD_H | 7 | #ifndef __ASM_BFIN_UNISTD_H |
2 | #define __ASM_BFIN_UNISTD_H | 8 | #define __ASM_BFIN_UNISTD_H |
3 | /* | 9 | /* |
diff --git a/arch/blackfin/kernel/asm-offsets.c b/arch/blackfin/kernel/asm-offsets.c index f05d1b99b0ef..bd32c09b9349 100644 --- a/arch/blackfin/kernel/asm-offsets.c +++ b/arch/blackfin/kernel/asm-offsets.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/asm-offsets.c | 2 | * generate definitions needed by assembly language modules |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2004-2009 Analog Devices Inc. |
7 | * Description: generate definitions needed by assembly language modules. | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/stddef.h> | 9 | #include <linux/stddef.h> |
diff --git a/arch/blackfin/kernel/bfin_dma_5xx.c b/arch/blackfin/kernel/bfin_dma_5xx.c index 384868dedac3..1f170216d2f9 100644 --- a/arch/blackfin/kernel/bfin_dma_5xx.c +++ b/arch/blackfin/kernel/bfin_dma_5xx.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * bfin_dma_5xx.c - Blackfin DMA implementation | 2 | * bfin_dma_5xx.c - Blackfin DMA implementation |
3 | * | 3 | * |
4 | * Copyright 2004-2008 Analog Devices Inc. | 4 | * Copyright 2004-2008 Analog Devices Inc. |
5 | * | ||
5 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
6 | */ | 7 | */ |
7 | 8 | ||
diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c index fc4681c0170e..22705eeff34f 100644 --- a/arch/blackfin/kernel/bfin_gpio.c +++ b/arch/blackfin/kernel/bfin_gpio.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/bfin_gpio.c | 2 | * GPIO Abstraction Layer |
3 | * Based on: | ||
4 | * Author: Michael Hennerich (hennerich@blackfin.uclinux.org) | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2006-2009 Analog Devices Inc. |
7 | * Description: GPIO Abstraction Layer | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later |
10 | * Copyright 2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/delay.h> | 9 | #include <linux/delay.h> |
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbinit.c b/arch/blackfin/kernel/cplb-mpu/cplbinit.c index 36193eed9a1f..f7b9cdce8239 100644 --- a/arch/blackfin/kernel/cplb-mpu/cplbinit.c +++ b/arch/blackfin/kernel/cplb-mpu/cplbinit.c | |||
@@ -1,25 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * Blackfin CPLB initialization | 2 | * Blackfin CPLB initialization |
3 | * | 3 | * |
4 | * Copyright 2004-2007 Analog Devices Inc. | 4 | * Copyright 2008-2009 Analog Devices Inc. |
5 | * | 5 | * |
6 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 6 | * Licensed under the GPL-2 or later. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, see the file COPYING, or write | ||
20 | * to the Free Software Foundation, Inc., | ||
21 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
22 | */ | 7 | */ |
8 | |||
23 | #include <linux/module.h> | 9 | #include <linux/module.h> |
24 | 10 | ||
25 | #include <asm/blackfin.h> | 11 | #include <asm/blackfin.h> |
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c index 8e1e9e9e9632..69e0e530d70f 100644 --- a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c +++ b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c | |||
@@ -1,22 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * Blackfin CPLB exception handling. | 2 | * Blackfin CPLB exception handling for when MPU in on |
3 | * Copyright 2004-2007 Analog Devices Inc. | ||
4 | * | 3 | * |
5 | * This program is free software; you can redistribute it and/or modify | 4 | * Copyright 2008-2009 Analog Devices Inc. |
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | 5 | * |
10 | * This program is distributed in the hope that it will be useful, | 6 | * Licensed under the GPL-2 or later. |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, see the file COPYING, or write | ||
17 | * to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
19 | */ | 7 | */ |
8 | |||
20 | #include <linux/module.h> | 9 | #include <linux/module.h> |
21 | #include <linux/mm.h> | 10 | #include <linux/mm.h> |
22 | 11 | ||
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbinit.c b/arch/blackfin/kernel/cplb-nompu/cplbinit.c index 5d8ad503f82a..fd9a2f31e686 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbinit.c +++ b/arch/blackfin/kernel/cplb-nompu/cplbinit.c | |||
@@ -1,24 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Blackfin CPLB initialization | 2 | * Blackfin CPLB initialization |
3 | * | 3 | * |
4 | * Copyright 2004-2007 Analog Devices Inc. | 4 | * Copyright 2007-2009 Analog Devices Inc. |
5 | * | 5 | * |
6 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 6 | * Licensed under the GPL-2 or later. |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, see the file COPYING, or write | ||
20 | * to the Free Software Foundation, Inc., | ||
21 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
22 | */ | 7 | */ |
23 | 8 | ||
24 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbmgr.c b/arch/blackfin/kernel/cplb-nompu/cplbmgr.c index d9ea46c6e41a..5b88861d6183 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbmgr.c +++ b/arch/blackfin/kernel/cplb-nompu/cplbmgr.c | |||
@@ -1,26 +1,14 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/cplb-nompu-c/cplbmgr.c | ||
3 | * Based on: arch/blackfin/kernel/cplb-mpu/cplbmgr.c | 2 | * Based on: arch/blackfin/kernel/cplb-mpu/cplbmgr.c |
4 | * Author: Michael McTernan <mmcternan@airvana.com> | 3 | * Author: Michael McTernan <mmcternan@airvana.com> |
5 | * | 4 | * |
6 | * Created: 01Nov2008 | ||
7 | * Description: CPLB miss handler. | 5 | * Description: CPLB miss handler. |
8 | * | 6 | * |
9 | * Modified: | 7 | * Modified: |
10 | * Copyright 2008 Airvana Inc. | 8 | * Copyright 2008 Airvana Inc. |
11 | * Copyright 2004-2007 Analog Devices Inc. | 9 | * Copyright 2008-2009 Analog Devices Inc. |
12 | * | 10 | * |
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 11 | * Licensed under the GPL-2 or later |
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | */ | 12 | */ |
25 | 13 | ||
26 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
diff --git a/arch/blackfin/kernel/cplbinfo.c b/arch/blackfin/kernel/cplbinfo.c index 64d78300dd08..0bdaa517a501 100644 --- a/arch/blackfin/kernel/cplbinfo.c +++ b/arch/blackfin/kernel/cplbinfo.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * arch/blackfin/kernel/cplbinfo.c - display CPLB status | 2 | * arch/blackfin/kernel/cplbinfo.c - display CPLB status |
3 | * | 3 | * |
4 | * Copyright 2004-2008 Analog Devices Inc. | 4 | * Copyright 2004-2008 Analog Devices Inc. |
5 | * | ||
5 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
6 | */ | 7 | */ |
7 | 8 | ||
@@ -111,24 +112,21 @@ static const struct seq_operations cplbinfo_sops = { | |||
111 | .show = cplbinfo_show, | 112 | .show = cplbinfo_show, |
112 | }; | 113 | }; |
113 | 114 | ||
115 | #define CPLBINFO_DCPLB_FLAG 0x80000000 | ||
116 | |||
114 | static int cplbinfo_open(struct inode *inode, struct file *file) | 117 | static int cplbinfo_open(struct inode *inode, struct file *file) |
115 | { | 118 | { |
116 | char buf[256], *path, *p; | 119 | struct proc_dir_entry *pde = PDE(file->f_path.dentry->d_inode); |
120 | char cplb_type; | ||
117 | unsigned int cpu; | 121 | unsigned int cpu; |
118 | char *s_cpu, *s_cplb; | ||
119 | int ret; | 122 | int ret; |
120 | struct seq_file *m; | 123 | struct seq_file *m; |
121 | struct cplbinfo_data *cdata; | 124 | struct cplbinfo_data *cdata; |
122 | 125 | ||
123 | path = d_path(&file->f_path, buf, sizeof(buf)); | 126 | cpu = (unsigned int)pde->data; |
124 | if (IS_ERR(path)) | 127 | cplb_type = cpu & CPLBINFO_DCPLB_FLAG ? 'D' : 'I'; |
125 | return PTR_ERR(path); | 128 | cpu &= ~CPLBINFO_DCPLB_FLAG; |
126 | s_cpu = strstr(path, "/cpu"); | ||
127 | s_cplb = strrchr(path, '/'); | ||
128 | if (!s_cpu || !s_cplb) | ||
129 | return -EINVAL; | ||
130 | 129 | ||
131 | cpu = simple_strtoul(s_cpu + 4, &p, 10); | ||
132 | if (!cpu_online(cpu)) | 130 | if (!cpu_online(cpu)) |
133 | return -ENODEV; | 131 | return -ENODEV; |
134 | 132 | ||
@@ -139,7 +137,7 @@ static int cplbinfo_open(struct inode *inode, struct file *file) | |||
139 | cdata = m->private; | 137 | cdata = m->private; |
140 | 138 | ||
141 | cdata->pos = 0; | 139 | cdata->pos = 0; |
142 | cdata->cplb_type = toupper(s_cplb[1]); | 140 | cdata->cplb_type = cplb_type; |
143 | cplbinfo_seq_init(cdata, cpu); | 141 | cplbinfo_seq_init(cdata, cpu); |
144 | 142 | ||
145 | return 0; | 143 | return 0; |
@@ -168,8 +166,10 @@ static int __init cplbinfo_init(void) | |||
168 | if (!cpu_dir) | 166 | if (!cpu_dir) |
169 | return -ENOMEM; | 167 | return -ENOMEM; |
170 | 168 | ||
171 | proc_create("icplb", S_IRUGO, cpu_dir, &cplbinfo_fops); | 169 | proc_create_data("icplb", S_IRUGO, cpu_dir, &cplbinfo_fops, |
172 | proc_create("dcplb", S_IRUGO, cpu_dir, &cplbinfo_fops); | 170 | (void *)cpu); |
171 | proc_create_data("dcplb", S_IRUGO, cpu_dir, &cplbinfo_fops, | ||
172 | (void *)(cpu | CPLBINFO_DCPLB_FLAG)); | ||
173 | } | 173 | } |
174 | 174 | ||
175 | return 0; | 175 | return 0; |
diff --git a/arch/blackfin/kernel/dma-mapping.c b/arch/blackfin/kernel/dma-mapping.c index 2f62a9f4058a..e74e74d7733f 100644 --- a/arch/blackfin/kernel/dma-mapping.c +++ b/arch/blackfin/kernel/dma-mapping.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/dma-mapping.c | 2 | * Dynamic DMA mapping support |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2005-2009 Analog Devices Inc. |
7 | * Description: Dynamic DMA mapping support. | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/types.h> | 9 | #include <linux/types.h> |
diff --git a/arch/blackfin/kernel/early_printk.c b/arch/blackfin/kernel/early_printk.c index 931c78b5ea1f..84ed8375113c 100644 --- a/arch/blackfin/kernel/early_printk.c +++ b/arch/blackfin/kernel/early_printk.c | |||
@@ -1,25 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/early_printk.c | 2 | * allow a console to be used for early printk |
3 | * Based on: arch/x86_64/kernel/early_printk.c | 3 | * derived from arch/x86/kernel/early_printk.c |
4 | * Author: Robin Getz <rgetz@blackfin.uclinux.org | ||
5 | * | 4 | * |
6 | * Created: 14Aug2007 | 5 | * Copyright 2007-2009 Analog Devices Inc. |
7 | * Description: allow a console to be used for early printk | ||
8 | * | 6 | * |
9 | * Modified: | 7 | * Licensed under the GPL-2 |
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | */ | 8 | */ |
24 | 9 | ||
25 | #include <linux/kernel.h> | 10 | #include <linux/kernel.h> |
diff --git a/arch/blackfin/kernel/entry.S b/arch/blackfin/kernel/entry.S index 3f8769b7db54..f27dc2292e1b 100644 --- a/arch/blackfin/kernel/entry.S +++ b/arch/blackfin/kernel/entry.S | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/entry.S | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/linkage.h> | 7 | #include <linux/linkage.h> |
diff --git a/arch/blackfin/kernel/fixed_code.S b/arch/blackfin/kernel/fixed_code.S index 0d2d9e0968c8..0565917f23ba 100644 --- a/arch/blackfin/kernel/fixed_code.S +++ b/arch/blackfin/kernel/fixed_code.S | |||
@@ -6,7 +6,12 @@ | |||
6 | * These are aligned to 16 bytes, so that we have some space to replace | 6 | * These are aligned to 16 bytes, so that we have some space to replace |
7 | * these sequences with something else (e.g. kernel traps if we ever do | 7 | * these sequences with something else (e.g. kernel traps if we ever do |
8 | * BF561 SMP). | 8 | * BF561 SMP). |
9 | * | ||
10 | * Copyright 2007-2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Licensed under the GPL-2 or later. | ||
9 | */ | 13 | */ |
14 | |||
10 | #include <linux/linkage.h> | 15 | #include <linux/linkage.h> |
11 | #include <linux/init.h> | 16 | #include <linux/init.h> |
12 | #include <linux/unistd.h> | 17 | #include <linux/unistd.h> |
diff --git a/arch/blackfin/kernel/flat.c b/arch/blackfin/kernel/flat.c index d188b2430536..a88daddbf074 100644 --- a/arch/blackfin/kernel/flat.c +++ b/arch/blackfin/kernel/flat.c | |||
@@ -1,21 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * arch/blackfin/kernel/flat.c | 2 | * Copyright 2007 Analog Devices Inc. |
3 | * | 3 | * |
4 | * Copyright (C) 2007 Analog Devices, Inc. | 4 | * Licensed under the GPL-2. |
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | 5 | */ |
20 | 6 | ||
21 | #include <linux/module.h> | 7 | #include <linux/module.h> |
diff --git a/arch/blackfin/kernel/init_task.c b/arch/blackfin/kernel/init_task.c index c26c34de9f3c..118c5b9dedac 100644 --- a/arch/blackfin/kernel/init_task.c +++ b/arch/blackfin/kernel/init_task.c | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/init_task.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: This file contains the simple DMA Implementation for Blackfin | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/mm.h> | 7 | #include <linux/mm.h> |
diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c index 4b5fd36187d9..db9f9c91f11f 100644 --- a/arch/blackfin/kernel/irqchip.c +++ b/arch/blackfin/kernel/irqchip.c | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/irqchip.c | 2 | * Copyright 2005-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: This file contains the simple DMA Implementation for Blackfin | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/kernel_stat.h> | 7 | #include <linux/kernel_stat.h> |
diff --git a/arch/blackfin/kernel/module.c b/arch/blackfin/kernel/module.c index 67fc7a56c865..a6dfa6b71e63 100644 --- a/arch/blackfin/kernel/module.c +++ b/arch/blackfin/kernel/module.c | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/module.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #define pr_fmt(fmt) "module %s: " fmt | 7 | #define pr_fmt(fmt) "module %s: " fmt |
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c index f5b286189647..430ae39456e8 100644 --- a/arch/blackfin/kernel/process.c +++ b/arch/blackfin/kernel/process.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/process.c | 2 | * Blackfin architecture-dependent process handling |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2004-2009 Analog Devices Inc. |
7 | * Description: Blackfin architecture-dependent process handling. | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/kernel/ptrace.c b/arch/blackfin/kernel/ptrace.c index 30f4828277ad..0982b5d5af10 100644 --- a/arch/blackfin/kernel/ptrace.c +++ b/arch/blackfin/kernel/ptrace.c | |||
@@ -1,30 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/ptrace.c | 2 | * linux/kernel/ptrace.c is by Ross Biro 1/23/92, edited by Linus Torvalds |
3 | * Based on: Taken from linux/kernel/ptrace.c | 3 | * these modifications are Copyright 2004-2009 Analog Devices Inc. |
4 | * Author: linux/kernel/ptrace.c is by Ross Biro 1/23/92, edited by Linus Torvalds | ||
5 | * | 4 | * |
6 | * Created: 1/23/92 | 5 | * Licensed under the GPL-2 |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 6 | */ |
29 | 7 | ||
30 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index 369535b61ed1..c202a44d1416 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c | |||
@@ -1,9 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * arch/blackfin/kernel/setup.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * | ||
4 | * Copyright 2004-2006 Analog Devices Inc. | ||
5 | * | ||
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | 3 | * |
8 | * Licensed under the GPL-2 or later. | 4 | * Licensed under the GPL-2 or later. |
9 | */ | 5 | */ |
diff --git a/arch/blackfin/kernel/shadow_console.c b/arch/blackfin/kernel/shadow_console.c index 8b8c7107a162..557e9fef406a 100644 --- a/arch/blackfin/kernel/shadow_console.c +++ b/arch/blackfin/kernel/shadow_console.c | |||
@@ -4,8 +4,6 @@ | |||
4 | * | 4 | * |
5 | * Copyright 2009 Analog Devices Inc. | 5 | * Copyright 2009 Analog Devices Inc. |
6 | * | 6 | * |
7 | * Enter bugs at http://blackfin.uclinux.org/ | ||
8 | * | ||
9 | * Licensed under the GPL-2 or later. | 7 | * Licensed under the GPL-2 or later. |
10 | */ | 8 | */ |
11 | 9 | ||
diff --git a/arch/blackfin/kernel/signal.c b/arch/blackfin/kernel/signal.c index dbc3bbf846be..9d90c18fab23 100644 --- a/arch/blackfin/kernel/signal.c +++ b/arch/blackfin/kernel/signal.c | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/signal.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/signal.h> | 7 | #include <linux/signal.h> |
diff --git a/arch/blackfin/kernel/sys_bfin.c b/arch/blackfin/kernel/sys_bfin.c index 3da60fb13ce4..afcef129d4e8 100644 --- a/arch/blackfin/kernel/sys_bfin.c +++ b/arch/blackfin/kernel/sys_bfin.c | |||
@@ -1,32 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/sys_bfin.c | 2 | * contains various random system calls that have a non-standard |
3 | * Based on: | 3 | * calling sequence on the Linux/Blackfin platform. |
4 | * Author: | ||
5 | * | 4 | * |
6 | * Created: | 5 | * Copyright 2004-2009 Analog Devices Inc. |
7 | * Description: This file contains various random system calls that | ||
8 | * have a non-standard calling sequence on the Linux/bfin | ||
9 | * platform. | ||
10 | * | 6 | * |
11 | * Modified: | 7 | * Licensed under the GPL-2 or later |
12 | * Copyright 2004-2006 Analog Devices Inc. | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2 of the License, or | ||
19 | * (at your option) any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; if not, see the file COPYING, or write | ||
28 | * to the Free Software Foundation, Inc., | ||
29 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
30 | */ | 8 | */ |
31 | 9 | ||
32 | #include <linux/spinlock.h> | 10 | #include <linux/spinlock.h> |
@@ -91,3 +69,14 @@ asmlinkage void *sys_dma_memcpy(void *dest, const void *src, size_t len) | |||
91 | { | 69 | { |
92 | return safe_dma_memcpy(dest, src, len); | 70 | return safe_dma_memcpy(dest, src, len); |
93 | } | 71 | } |
72 | |||
73 | #if defined(CONFIG_FB) || defined(CONFIG_FB_MODULE) | ||
74 | #include <linux/fb.h> | ||
75 | unsigned long get_fb_unmapped_area(struct file *filp, unsigned long orig_addr, | ||
76 | unsigned long len, unsigned long pgoff, unsigned long flags) | ||
77 | { | ||
78 | struct fb_info *info = filp->private_data; | ||
79 | return (unsigned long)info->screen_base; | ||
80 | } | ||
81 | EXPORT_SYMBOL(get_fb_unmapped_area); | ||
82 | #endif | ||
diff --git a/arch/blackfin/kernel/time-ts.c b/arch/blackfin/kernel/time-ts.c index f9715764383e..359cfb1815ca 100644 --- a/arch/blackfin/kernel/time-ts.c +++ b/arch/blackfin/kernel/time-ts.c | |||
@@ -1,13 +1,13 @@ | |||
1 | /* | 1 | /* |
2 | * linux/arch/kernel/time-ts.c | ||
3 | * | ||
4 | * Based on arm clockevents implementation and old bfin time tick. | 2 | * Based on arm clockevents implementation and old bfin time tick. |
5 | * | 3 | * |
6 | * Copyright(C) 2008, GeoTechnologies, Vitja Makarov | 4 | * Copyright 2008-2009 Analog Devics Inc. |
5 | * 2008 GeoTechnologies | ||
6 | * Vitja Makarov | ||
7 | * | 7 | * |
8 | * This code is licenced under the GPL version 2. For details see | 8 | * Licensed under the GPL-2 |
9 | * kernel-base/COPYING. | ||
10 | */ | 9 | */ |
10 | |||
11 | #include <linux/module.h> | 11 | #include <linux/module.h> |
12 | #include <linux/profile.h> | 12 | #include <linux/profile.h> |
13 | #include <linux/interrupt.h> | 13 | #include <linux/interrupt.h> |
diff --git a/arch/blackfin/kernel/time.c b/arch/blackfin/kernel/time.c index adb54aa7d7c8..bd3b53da295e 100644 --- a/arch/blackfin/kernel/time.c +++ b/arch/blackfin/kernel/time.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/time.h> | 14 | #include <linux/time.h> |
15 | #include <linux/irq.h> | 15 | #include <linux/irq.h> |
16 | #include <linux/delay.h> | 16 | #include <linux/delay.h> |
17 | #include <linux/sched.h> | ||
17 | 18 | ||
18 | #include <asm/blackfin.h> | 19 | #include <asm/blackfin.h> |
19 | #include <asm/time.h> | 20 | #include <asm/time.h> |
@@ -81,11 +82,11 @@ time_sched_init(irqreturn_t(*timer_routine) (int, void *)) | |||
81 | #endif | 82 | #endif |
82 | } | 83 | } |
83 | 84 | ||
85 | #ifdef CONFIG_ARCH_USES_GETTIMEOFFSET | ||
84 | /* | 86 | /* |
85 | * Should return useconds since last timer tick | 87 | * Should return useconds since last timer tick |
86 | */ | 88 | */ |
87 | #ifndef CONFIG_GENERIC_TIME | 89 | u32 arch_gettimeoffset(void) |
88 | static unsigned long gettimeoffset(void) | ||
89 | { | 90 | { |
90 | unsigned long offset; | 91 | unsigned long offset; |
91 | unsigned long clocks_per_jiffy; | 92 | unsigned long clocks_per_jiffy; |
@@ -184,65 +185,6 @@ void __init time_init(void) | |||
184 | time_sched_init(timer_interrupt); | 185 | time_sched_init(timer_interrupt); |
185 | } | 186 | } |
186 | 187 | ||
187 | #ifndef CONFIG_GENERIC_TIME | ||
188 | void do_gettimeofday(struct timeval *tv) | ||
189 | { | ||
190 | unsigned long flags; | ||
191 | unsigned long seq; | ||
192 | unsigned long usec, sec; | ||
193 | |||
194 | do { | ||
195 | seq = read_seqbegin_irqsave(&xtime_lock, flags); | ||
196 | usec = gettimeoffset(); | ||
197 | sec = xtime.tv_sec; | ||
198 | usec += (xtime.tv_nsec / NSEC_PER_USEC); | ||
199 | } | ||
200 | while (read_seqretry_irqrestore(&xtime_lock, seq, flags)); | ||
201 | |||
202 | while (usec >= USEC_PER_SEC) { | ||
203 | usec -= USEC_PER_SEC; | ||
204 | sec++; | ||
205 | } | ||
206 | |||
207 | tv->tv_sec = sec; | ||
208 | tv->tv_usec = usec; | ||
209 | } | ||
210 | EXPORT_SYMBOL(do_gettimeofday); | ||
211 | |||
212 | int do_settimeofday(struct timespec *tv) | ||
213 | { | ||
214 | time_t wtm_sec, sec = tv->tv_sec; | ||
215 | long wtm_nsec, nsec = tv->tv_nsec; | ||
216 | |||
217 | if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC) | ||
218 | return -EINVAL; | ||
219 | |||
220 | write_seqlock_irq(&xtime_lock); | ||
221 | /* | ||
222 | * This is revolting. We need to set the xtime.tv_usec | ||
223 | * correctly. However, the value in this location is | ||
224 | * is value at the last tick. | ||
225 | * Discover what correction gettimeofday | ||
226 | * would have done, and then undo it! | ||
227 | */ | ||
228 | nsec -= (gettimeoffset() * NSEC_PER_USEC); | ||
229 | |||
230 | wtm_sec = wall_to_monotonic.tv_sec + (xtime.tv_sec - sec); | ||
231 | wtm_nsec = wall_to_monotonic.tv_nsec + (xtime.tv_nsec - nsec); | ||
232 | |||
233 | set_normalized_timespec(&xtime, sec, nsec); | ||
234 | set_normalized_timespec(&wall_to_monotonic, wtm_sec, wtm_nsec); | ||
235 | |||
236 | ntp_clear(); | ||
237 | |||
238 | write_sequnlock_irq(&xtime_lock); | ||
239 | clock_was_set(); | ||
240 | |||
241 | return 0; | ||
242 | } | ||
243 | EXPORT_SYMBOL(do_settimeofday); | ||
244 | #endif /* !CONFIG_GENERIC_TIME */ | ||
245 | |||
246 | /* | 188 | /* |
247 | * Scheduler clock - returns current time in nanosec units. | 189 | * Scheduler clock - returns current time in nanosec units. |
248 | */ | 190 | */ |
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 56464cb8edf3..6b7325d634af 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/traps.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: Hamish Macdonald | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: uses S/W interrupt 15 for the system calls | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/bug.h> | 7 | #include <linux/bug.h> |
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S index ffd90fbbc8f9..10e12539000e 100644 --- a/arch/blackfin/kernel/vmlinux.lds.S +++ b/arch/blackfin/kernel/vmlinux.lds.S | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/vmlinux.lds.S | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: none - original work | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: Tue Sep 21 2004 | 4 | * Licensed under the GPL-2 or later |
7 | * Description: Master linker script for blackfin architecture | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #define VMLINUX_SYMBOL(_sym_) _##_sym_ | 7 | #define VMLINUX_SYMBOL(_sym_) _##_sym_ |
diff --git a/arch/blackfin/lib/ashldi3.c b/arch/blackfin/lib/ashldi3.c index a8c279e9b192..ab69d8768afc 100644 --- a/arch/blackfin/lib/ashldi3.c +++ b/arch/blackfin/lib/ashldi3.c | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/ashldi3.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include "gcclib.h" | 7 | #include "gcclib.h" |
diff --git a/arch/blackfin/lib/ashrdi3.c b/arch/blackfin/lib/ashrdi3.c index a0d3419329ca..b5b351e82e10 100644 --- a/arch/blackfin/lib/ashrdi3.c +++ b/arch/blackfin/lib/ashrdi3.c | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/ashrdi3.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include "gcclib.h" | 7 | #include "gcclib.h" |
diff --git a/arch/blackfin/lib/checksum.c b/arch/blackfin/lib/checksum.c index cd605e7d8518..c62969dc1bbb 100644 --- a/arch/blackfin/lib/checksum.c +++ b/arch/blackfin/lib/checksum.c | |||
@@ -1,32 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/checksum.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: none - original work | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: An implementation of the TCP/IP protocol suite for the LINUX | ||
8 | * operating system. INET is implemented using the BSD Socket | ||
9 | * interface as the means of communication with the user level. | ||
10 | * | 5 | * |
11 | * Modified: | 6 | * An implementation of the TCP/IP protocol suite for the LINUX operating |
12 | * Copyright 2004-2006 Analog Devices Inc. | 7 | * system. INET is implemented using the BSD Socket interface as the |
8 | * means of communication with the user level. | ||
13 | * | 9 | * |
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2 of the License, or | ||
19 | * (at your option) any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; if not, see the file COPYING, or write | ||
28 | * to the Free Software Foundation, Inc., | ||
29 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
30 | */ | 10 | */ |
31 | 11 | ||
32 | #include <linux/module.h> | 12 | #include <linux/module.h> |
diff --git a/arch/blackfin/lib/divsi3.S b/arch/blackfin/lib/divsi3.S index 2ac59c70dd94..f89c5a49c47b 100644 --- a/arch/blackfin/lib/divsi3.S +++ b/arch/blackfin/lib/divsi3.S | |||
@@ -1,10 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/divsi3.S | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: 16 / 32 bit signed division. | 5 | * |
6 | * 16 / 32 bit signed division. | ||
8 | * Special cases : | 7 | * Special cases : |
9 | * 1) If(numerator == 0) | 8 | * 1) If(numerator == 0) |
10 | * return 0 | 9 | * return 0 |
@@ -22,25 +21,6 @@ | |||
22 | * R0 - Quotient (o) | 21 | * R0 - Quotient (o) |
23 | * Registers Used : R2-R7,P0-P2 | 22 | * Registers Used : R2-R7,P0-P2 |
24 | * | 23 | * |
25 | * Modified: | ||
26 | * Copyright 2004-2006 Analog Devices Inc. | ||
27 | * | ||
28 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
29 | * | ||
30 | * This program is free software; you can redistribute it and/or modify | ||
31 | * it under the terms of the GNU General Public License as published by | ||
32 | * the Free Software Foundation; either version 2 of the License, or | ||
33 | * (at your option) any later version. | ||
34 | * | ||
35 | * This program is distributed in the hope that it will be useful, | ||
36 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
37 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
38 | * GNU General Public License for more details. | ||
39 | * | ||
40 | * You should have received a copy of the GNU General Public License | ||
41 | * along with this program; if not, see the file COPYING, or write | ||
42 | * to the Free Software Foundation, Inc., | ||
43 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
44 | */ | 24 | */ |
45 | 25 | ||
46 | .global ___divsi3; | 26 | .global ___divsi3; |
diff --git a/arch/blackfin/lib/gcclib.h b/arch/blackfin/lib/gcclib.h index 9ccd39a135ee..724f07f14f8d 100644 --- a/arch/blackfin/lib/gcclib.h +++ b/arch/blackfin/lib/gcclib.h | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/gcclib.h | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #define BITS_PER_UNIT 8 | 7 | #define BITS_PER_UNIT 8 |
diff --git a/arch/blackfin/lib/lshrdi3.c b/arch/blackfin/lib/lshrdi3.c index e57bf6fbdf3f..53f1741047e5 100644 --- a/arch/blackfin/lib/lshrdi3.c +++ b/arch/blackfin/lib/lshrdi3.c | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/lshrdi3.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include "gcclib.h" | 7 | #include "gcclib.h" |
diff --git a/arch/blackfin/lib/memchr.S b/arch/blackfin/lib/memchr.S index 5da428134d32..542e40f8775f 100644 --- a/arch/blackfin/lib/memchr.S +++ b/arch/blackfin/lib/memchr.S | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/memchr.S | 2 | * Copyright 2005-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/linkage.h> | 7 | #include <linux/linkage.h> |
diff --git a/arch/blackfin/lib/memcmp.S b/arch/blackfin/lib/memcmp.S index 219fa2877c62..ce5b9f1a8267 100644 --- a/arch/blackfin/lib/memcmp.S +++ b/arch/blackfin/lib/memcmp.S | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/memcmp.S | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/linkage.h> | 7 | #include <linux/linkage.h> |
diff --git a/arch/blackfin/lib/memcpy.S b/arch/blackfin/lib/memcpy.S index e654a18a0754..c31bf22aab19 100644 --- a/arch/blackfin/lib/memcpy.S +++ b/arch/blackfin/lib/memcpy.S | |||
@@ -1,36 +1,13 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/memcpy.S | 2 | * internal version of memcpy(), issued by the compiler to copy blocks of |
3 | * Based on: | 3 | * data around. This is really memmove() - it has to be able to deal with |
4 | * Author: | 4 | * possible overlaps, because that ambiguity is when the compiler gives up |
5 | * and calls a function. We have our own, internal version so that we get | ||
6 | * something we trust, even if the user has redefined the normal symbol. | ||
5 | * | 7 | * |
6 | * Created: | 8 | * Copyright 2004-2009 Analog Devices Inc. |
7 | * Description: internal version of memcpy(), issued by the compiler | ||
8 | * to copy blocks of data around. | ||
9 | * This is really memmove() - it has to be able to deal with | ||
10 | * possible overlaps, because that ambiguity is when the compiler | ||
11 | * gives up and calls a function. We have our own, internal version | ||
12 | * so that we get something we trust, even if the user has redefined | ||
13 | * the normal symbol. | ||
14 | * | 9 | * |
15 | * Modified: | 10 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
16 | * Copyright 2004-2006 Analog Devices Inc. | ||
17 | * | ||
18 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
19 | * | ||
20 | * This program is free software; you can redistribute it and/or modify | ||
21 | * it under the terms of the GNU General Public License as published by | ||
22 | * the Free Software Foundation; either version 2 of the License, or | ||
23 | * (at your option) any later version. | ||
24 | * | ||
25 | * This program is distributed in the hope that it will be useful, | ||
26 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
27 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
28 | * GNU General Public License for more details. | ||
29 | * | ||
30 | * You should have received a copy of the GNU General Public License | ||
31 | * along with this program; if not, see the file COPYING, or write | ||
32 | * to the Free Software Foundation, Inc., | ||
33 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
34 | */ | 11 | */ |
35 | 12 | ||
36 | #include <linux/linkage.h> | 13 | #include <linux/linkage.h> |
diff --git a/arch/blackfin/lib/memmove.S b/arch/blackfin/lib/memmove.S index 33f8653145b7..80c240acac60 100644 --- a/arch/blackfin/lib/memmove.S +++ b/arch/blackfin/lib/memmove.S | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/memmove.S | 2 | * Copyright 2005-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/linkage.h> | 7 | #include <linux/linkage.h> |
diff --git a/arch/blackfin/lib/memset.S b/arch/blackfin/lib/memset.S index 8159136a29ea..c30d99b10969 100644 --- a/arch/blackfin/lib/memset.S +++ b/arch/blackfin/lib/memset.S | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/memset.S | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/linkage.h> | 7 | #include <linux/linkage.h> |
diff --git a/arch/blackfin/lib/modsi3.S b/arch/blackfin/lib/modsi3.S index ca1dd3973b39..8b0c7d4052af 100644 --- a/arch/blackfin/lib/modsi3.S +++ b/arch/blackfin/lib/modsi3.S | |||
@@ -1,36 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/modsi3.S | 2 | * This program computes 32 bit signed remainder. It calls div32 function |
3 | * Based on: | 3 | * for quotient estimation. |
4 | * Author: | 4 | * Registers in: R0, R1 = Numerator/ Denominator |
5 | * Registers out: R0 = Remainder | ||
5 | * | 6 | * |
6 | * Created: | 7 | * Copyright 2004-2009 Analog Devices Inc. |
7 | * Description: This program computes 32 bit signed remainder. It calls div32 function | ||
8 | * for quotient estimation. | ||
9 | * | 8 | * |
10 | * Registers used : | 9 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
11 | * Numerator/ Denominator in R0, R1 | ||
12 | * R0 - returns remainder. | ||
13 | * R2-R7 | ||
14 | * | ||
15 | * Modified: | ||
16 | * Copyright 2004-2006 Analog Devices Inc. | ||
17 | * | ||
18 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
19 | * | ||
20 | * This program is free software; you can redistribute it and/or modify | ||
21 | * it under the terms of the GNU General Public License as published by | ||
22 | * the Free Software Foundation; either version 2 of the License, or | ||
23 | * (at your option) any later version. | ||
24 | * | ||
25 | * This program is distributed in the hope that it will be useful, | ||
26 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
27 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
28 | * GNU General Public License for more details. | ||
29 | * | ||
30 | * You should have received a copy of the GNU General Public License | ||
31 | * along with this program; if not, see the file COPYING, or write | ||
32 | * to the Free Software Foundation, Inc., | ||
33 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
34 | */ | 10 | */ |
35 | 11 | ||
36 | .global ___modsi3; | 12 | .global ___modsi3; |
diff --git a/arch/blackfin/lib/muldi3.S b/arch/blackfin/lib/muldi3.S index abde120ee230..953a38a1d1d1 100644 --- a/arch/blackfin/lib/muldi3.S +++ b/arch/blackfin/lib/muldi3.S | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the ADI BSD license or the GPL-2 (or later) | ||
5 | */ | ||
6 | |||
1 | .align 2 | 7 | .align 2 |
2 | .global ___muldi3; | 8 | .global ___muldi3; |
3 | .type ___muldi3, STT_FUNC; | 9 | .type ___muldi3, STT_FUNC; |
diff --git a/arch/blackfin/lib/outs.S b/arch/blackfin/lib/outs.S index 4685b7aa0080..250f4d4b9436 100644 --- a/arch/blackfin/lib/outs.S +++ b/arch/blackfin/lib/outs.S | |||
@@ -1,30 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/outs.S | 2 | * Implementation of outs{bwl} for BlackFin processors using zero overhead loops. |
3 | * Based on: | ||
4 | * Author: Bas Vermeulen <bas@buyways.nl> | ||
5 | * | 3 | * |
6 | * Created: Tue Mar 22 15:27:24 CEST 2005 | 4 | * Copyright 2005-2009 Analog Devices Inc. |
7 | * Description: Implementation of outs{bwl} for BlackFin processors using zero overhead loops. | 5 | * 2005 BuyWays BV |
6 | * Bas Vermeulen <bas@buyways.nl> | ||
8 | * | 7 | * |
9 | * Modified: Copyright (C) 2005 Bas Vermeulen, BuyWays BV <bas@buyways.nl> | 8 | * Licensed under the GPL-2. |
10 | * Copyright 2004-2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 9 | */ |
29 | 10 | ||
30 | #include <linux/linkage.h> | 11 | #include <linux/linkage.h> |
diff --git a/arch/blackfin/lib/smulsi3_highpart.S b/arch/blackfin/lib/smulsi3_highpart.S index e383cd3eca5d..99ee8c5de38b 100644 --- a/arch/blackfin/lib/smulsi3_highpart.S +++ b/arch/blackfin/lib/smulsi3_highpart.S | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the ADI BSD license or the GPL-2 (or later) | ||
5 | */ | ||
6 | |||
1 | .align 2 | 7 | .align 2 |
2 | .global ___smulsi3_highpart; | 8 | .global ___smulsi3_highpart; |
3 | .type ___smulsi3_highpart, STT_FUNC; | 9 | .type ___smulsi3_highpart, STT_FUNC; |
diff --git a/arch/blackfin/lib/udivsi3.S b/arch/blackfin/lib/udivsi3.S index 58fd96d74766..97e904315ec6 100644 --- a/arch/blackfin/lib/udivsi3.S +++ b/arch/blackfin/lib/udivsi3.S | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/udivsi3.S | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/linkage.h> | 7 | #include <linux/linkage.h> |
diff --git a/arch/blackfin/lib/umodsi3.S b/arch/blackfin/lib/umodsi3.S index 4f2b76ee7626..168eba7c64c8 100644 --- a/arch/blackfin/lib/umodsi3.S +++ b/arch/blackfin/lib/umodsi3.S | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/lib/umodsi3.S | 2 | * libgcc1 routines for Blackfin 5xx |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2004-2009 Analog Devices Inc. |
7 | * Description: libgcc1 routines for Blackfin 5xx | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #ifdef CONFIG_ARITHMETIC_OPS_L1 | 9 | #ifdef CONFIG_ARITHMETIC_OPS_L1 |
diff --git a/arch/blackfin/lib/umulsi3_highpart.S b/arch/blackfin/lib/umulsi3_highpart.S index 67b799351e3e..051824a6ed00 100644 --- a/arch/blackfin/lib/umulsi3_highpart.S +++ b/arch/blackfin/lib/umulsi3_highpart.S | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the ADI BSD license or the GPL-2 (or later) | ||
5 | */ | ||
6 | |||
1 | .align 2 | 7 | .align 2 |
2 | .global ___umulsi3_highpart; | 8 | .global ___umulsi3_highpart; |
3 | .type ___umulsi3_highpart, STT_FUNC; | 9 | .type ___umulsi3_highpart, STT_FUNC; |
diff --git a/arch/blackfin/mach-bf518/boards/ezbrd.c b/arch/blackfin/mach-bf518/boards/ezbrd.c index 03e4a9941f01..01975c017116 100644 --- a/arch/blackfin/mach-bf518/boards/ezbrd.c +++ b/arch/blackfin/mach-bf518/boards/ezbrd.c | |||
@@ -1,31 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf518/boards/ezbrd.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf527/boards/ezbrd.c | 3 | * 2005 National ICT Australia (NICTA) |
4 | * Author: Bryan Wu <cooloney@kernel.org> | 4 | * Aidan Williams <aidan@nicta.com.au> |
5 | * | 5 | * |
6 | * Created: | 6 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2008 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 7 | */ |
30 | 8 | ||
31 | #include <linux/device.h> | 9 | #include <linux/device.h> |
@@ -571,19 +549,6 @@ static struct platform_device bf51x_sdh_device = { | |||
571 | }; | 549 | }; |
572 | #endif | 550 | #endif |
573 | 551 | ||
574 | static struct resource bfin_gpios_resources = { | ||
575 | .start = 0, | ||
576 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
577 | .flags = IORESOURCE_IRQ, | ||
578 | }; | ||
579 | |||
580 | static struct platform_device bfin_gpios_device = { | ||
581 | .name = "simple-gpio", | ||
582 | .id = -1, | ||
583 | .num_resources = 1, | ||
584 | .resource = &bfin_gpios_resources, | ||
585 | }; | ||
586 | |||
587 | static const unsigned int cclk_vlev_datasheet[] = | 552 | static const unsigned int cclk_vlev_datasheet[] = |
588 | { | 553 | { |
589 | VRPAIR(VLEV_100, 400000000), | 554 | VRPAIR(VLEV_100, 400000000), |
@@ -660,8 +625,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
660 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 625 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
661 | &ezbrd_flash_device, | 626 | &ezbrd_flash_device, |
662 | #endif | 627 | #endif |
663 | |||
664 | &bfin_gpios_device, | ||
665 | }; | 628 | }; |
666 | 629 | ||
667 | static int __init ezbrd_init(void) | 630 | static int __init ezbrd_init(void) |
diff --git a/arch/blackfin/mach-bf518/dma.c b/arch/blackfin/mach-bf518/dma.c index 698e88ca5104..78b43605a0b5 100644 --- a/arch/blackfin/mach-bf518/dma.c +++ b/arch/blackfin/mach-bf518/dma.c | |||
@@ -1,31 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf518/dma.c | 2 | * the simple DMA Implementation for Blackfin |
3 | * Based on: | ||
4 | * Author: Bryan Wu <cooloney@kernel.org> | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2008 Analog Devices Inc. |
7 | * Description: This file contains the simple DMA Implementation for Blackfin | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
8 | |||
29 | #include <linux/module.h> | 9 | #include <linux/module.h> |
30 | 10 | ||
31 | #include <asm/blackfin.h> | 11 | #include <asm/blackfin.h> |
diff --git a/arch/blackfin/mach-bf518/include/mach/bf518.h b/arch/blackfin/mach-bf518/include/mach/bf518.h index 78da1a07ee73..856b330ecf0b 100644 --- a/arch/blackfin/mach-bf518/include/mach/bf518.h +++ b/arch/blackfin/mach-bf518/include/mach/bf518.h | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/bf518.h | 2 | * Copyright 2008 Analog Devices Inc. |
3 | * Based on: include/asm-blackfin/mach-bf527/bf527.h | ||
4 | * Author: Michael Hennerich (michael.hennerich@analog.com) | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF518 | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #ifndef __MACH_BF518_H__ | 7 | #ifndef __MACH_BF518_H__ |
diff --git a/arch/blackfin/mach-bf518/include/mach/bfin_serial_5xx.h b/arch/blackfin/mach-bf518/include/mach/bfin_serial_5xx.h index dbade93395eb..970d310021e7 100644 --- a/arch/blackfin/mach-bf518/include/mach/bfin_serial_5xx.h +++ b/arch/blackfin/mach-bf518/include/mach/bfin_serial_5xx.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf518/bfin_serial_5xx.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * based on: | ||
4 | * author: | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later |
7 | * description: | ||
8 | * blackfin serial driver head file | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #include <linux/serial.h> | 7 | #include <linux/serial.h> |
diff --git a/arch/blackfin/mach-bf518/include/mach/blackfin.h b/arch/blackfin/mach-bf518/include/mach/blackfin.h index 83421d393148..6cfb246aebec 100644 --- a/arch/blackfin/mach-bf518/include/mach/blackfin.h +++ b/arch/blackfin/mach-bf518/include/mach/blackfin.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/blackfin.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _MACH_BLACKFIN_H_ | 7 | #ifndef _MACH_BLACKFIN_H_ |
diff --git a/arch/blackfin/mach-bf518/include/mach/cdefBF512.h b/arch/blackfin/mach-bf518/include/mach/cdefBF512.h index 820c13c4daaa..493020d0a65a 100644 --- a/arch/blackfin/mach-bf518/include/mach/cdefBF512.h +++ b/arch/blackfin/mach-bf518/include/mach/cdefBF512.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/cdefbf512.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: system mmr register map | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _CDEF_BF512_H | 7 | #ifndef _CDEF_BF512_H |
diff --git a/arch/blackfin/mach-bf518/include/mach/cdefBF514.h b/arch/blackfin/mach-bf518/include/mach/cdefBF514.h index dfe492dfe54e..e1d99911025d 100644 --- a/arch/blackfin/mach-bf518/include/mach/cdefBF514.h +++ b/arch/blackfin/mach-bf518/include/mach/cdefBF514.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/cdefbf514.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: system mmr register map | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _CDEF_BF514_H | 7 | #ifndef _CDEF_BF514_H |
diff --git a/arch/blackfin/mach-bf518/include/mach/cdefBF516.h b/arch/blackfin/mach-bf518/include/mach/cdefBF516.h index 14df43d4677a..6b364eda4947 100644 --- a/arch/blackfin/mach-bf518/include/mach/cdefBF516.h +++ b/arch/blackfin/mach-bf518/include/mach/cdefBF516.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/cdefbf516.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: system mmr register map | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _CDEF_BF516_H | 7 | #ifndef _CDEF_BF516_H |
diff --git a/arch/blackfin/mach-bf518/include/mach/cdefBF518.h b/arch/blackfin/mach-bf518/include/mach/cdefBF518.h index bafb370cfb3c..929b90650bd4 100644 --- a/arch/blackfin/mach-bf518/include/mach/cdefBF518.h +++ b/arch/blackfin/mach-bf518/include/mach/cdefBF518.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/cdefbf518.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: system mmr register map | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _CDEF_BF518_H | 7 | #ifndef _CDEF_BF518_H |
@@ -211,6 +186,47 @@ | |||
211 | #define bfin_read_EMAC_TXC_ABORT() bfin_read32(EMAC_TXC_ABORT) | 186 | #define bfin_read_EMAC_TXC_ABORT() bfin_read32(EMAC_TXC_ABORT) |
212 | #define bfin_write_EMAC_TXC_ABORT(val) bfin_write32(EMAC_TXC_ABORT, val) | 187 | #define bfin_write_EMAC_TXC_ABORT(val) bfin_write32(EMAC_TXC_ABORT, val) |
213 | 188 | ||
189 | #define bfin_read_EMAC_PTP_CTL() bfin_read16(EMAC_PTP_CTL) | ||
190 | #define bfin_write_EMAC_PTP_CTL(val) bfin_write16(EMAC_PTP_CTL, val) | ||
191 | #define bfin_read_EMAC_PTP_IE() bfin_read16(EMAC_PTP_IE) | ||
192 | #define bfin_write_EMAC_PTP_IE(val) bfin_write16(EMAC_PTP_IE, val) | ||
193 | #define bfin_read_EMAC_PTP_ISTAT() bfin_read16(EMAC_PTP_ISTAT) | ||
194 | #define bfin_write_EMAC_PTP_ISTAT(val) bfin_write16(EMAC_PTP_ISTAT, val) | ||
195 | #define bfin_read_EMAC_PTP_FOFF() bfin_read32(EMAC_PTP_FOFF) | ||
196 | #define bfin_write_EMAC_PTP_FOFF(val) bfin_write32(EMAC_PTP_FOFF, val) | ||
197 | #define bfin_read_EMAC_PTP_FV1() bfin_read32(EMAC_PTP_FV1) | ||
198 | #define bfin_write_EMAC_PTP_FV1(val) bfin_write32(EMAC_PTP_FV1, val) | ||
199 | #define bfin_read_EMAC_PTP_FV2() bfin_read32(EMAC_PTP_FV2) | ||
200 | #define bfin_write_EMAC_PTP_FV2(val) bfin_write32(EMAC_PTP_FV2, val) | ||
201 | #define bfin_read_EMAC_PTP_FV3() bfin_read32(EMAC_PTP_FV3) | ||
202 | #define bfin_write_EMAC_PTP_FV3(val) bfin_write32(EMAC_PTP_FV3, val) | ||
203 | #define bfin_read_EMAC_PTP_ADDEND() bfin_read32(EMAC_PTP_ADDEND) | ||
204 | #define bfin_write_EMAC_PTP_ADDEND(val) bfin_write32(EMAC_PTP_ADDEND, val) | ||
205 | #define bfin_read_EMAC_PTP_ACCR() bfin_read32(EMAC_PTP_ACCR) | ||
206 | #define bfin_write_EMAC_PTP_ACCR(val) bfin_write32(EMAC_PTP_ACCR, val) | ||
207 | #define bfin_read_EMAC_PTP_OFFSET() bfin_read32(EMAC_PTP_OFFSET) | ||
208 | #define bfin_write_EMAC_PTP_OFFSET(val) bfin_write32(EMAC_PTP_OFFSET, val) | ||
209 | #define bfin_read_EMAC_PTP_TIMELO() bfin_read32(EMAC_PTP_TIMELO) | ||
210 | #define bfin_write_EMAC_PTP_TIMELO(val) bfin_write32(EMAC_PTP_TIMELO, val) | ||
211 | #define bfin_read_EMAC_PTP_TIMEHI() bfin_read32(EMAC_PTP_TIMEHI) | ||
212 | #define bfin_write_EMAC_PTP_TIMEHI(val) bfin_write32(EMAC_PTP_TIMEHI, val) | ||
213 | #define bfin_read_EMAC_PTP_RXSNAPLO() bfin_read32(EMAC_PTP_RXSNAPLO) | ||
214 | #define bfin_read_EMAC_PTP_RXSNAPHI() bfin_read32(EMAC_PTP_RXSNAPHI) | ||
215 | #define bfin_read_EMAC_PTP_TXSNAPLO() bfin_read32(EMAC_PTP_TXSNAPLO) | ||
216 | #define bfin_read_EMAC_PTP_TXSNAPHI() bfin_read32(EMAC_PTP_TXSNAPHI) | ||
217 | #define bfin_read_EMAC_PTP_ALARMLO() bfin_read32(EMAC_PTP_ALARMLO) | ||
218 | #define bfin_write_EMAC_PTP_ALARMLO(val) bfin_write32(EMAC_PTP_ALARMLO, val) | ||
219 | #define bfin_read_EMAC_PTP_ALARMHI() bfin_read32(EMAC_PTP_ALARMHI) | ||
220 | #define bfin_write_EMAC_PTP_ALARMHI(val) bfin_write32(EMAC_PTP_ALARMHI, val) | ||
221 | #define bfin_read_EMAC_PTP_ID_OFF() bfin_read16(EMAC_PTP_ID_OFF) | ||
222 | #define bfin_write_EMAC_PTP_ID_OFF(val) bfin_write16(EMAC_PTP_ID_OFF, val) | ||
223 | #define bfin_read_EMAC_PTP_ID_SNAP() bfin_read32(EMAC_PTP_ID_SNAP) | ||
224 | #define bfin_write_EMAC_PTP_ID_SNAP(val) bfin_write32(EMAC_PTP_ID_SNAP, val) | ||
225 | #define bfin_read_EMAC_PTP_PPS_STARTHI() bfin_read32(EMAC_PTP_PPS_STARTHI) | ||
226 | #define bfin_write_EMAC_PTP_PPS_STARTHI(val) bfin_write32(EMAC_PTP_PPS_STARTHI, val) | ||
227 | #define bfin_read_EMAC_PTP_PPS_PERIOD() bfin_read32(EMAC_PTP_PPS_PERIOD) | ||
228 | #define bfin_write_EMAC_PTP_PPS_PERIOD(val) bfin_write32(EMAC_PTP_PPS_PERIOD, val) | ||
229 | |||
214 | /* Removable Storage Interface Registers */ | 230 | /* Removable Storage Interface Registers */ |
215 | 231 | ||
216 | #define bfin_read_RSI_PWR_CTL() bfin_read16(RSI_PWR_CONTROL) | 232 | #define bfin_read_RSI_PWR_CTL() bfin_read16(RSI_PWR_CONTROL) |
diff --git a/arch/blackfin/mach-bf518/include/mach/cdefBF51x_base.h b/arch/blackfin/mach-bf518/include/mach/cdefBF51x_base.h index ee3d4733369c..1d970df7aee9 100644 --- a/arch/blackfin/mach-bf518/include/mach/cdefBF51x_base.h +++ b/arch/blackfin/mach-bf518/include/mach/cdefBF51x_base.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/cdefBF51x_base.h | 2 | * Copyright 2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF52X_H | 7 | #ifndef _CDEF_BF52X_H |
diff --git a/arch/blackfin/mach-bf518/include/mach/defBF512.h b/arch/blackfin/mach-bf518/include/mach/defBF512.h index a96ca90154dd..9b505bb0cb2d 100644 --- a/arch/blackfin/mach-bf518/include/mach/defBF512.h +++ b/arch/blackfin/mach-bf518/include/mach/defBF512.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/defBF512.h | 2 | * Copyright 2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF512_H | 7 | #ifndef _DEF_BF512_H |
diff --git a/arch/blackfin/mach-bf518/include/mach/defBF514.h b/arch/blackfin/mach-bf518/include/mach/defBF514.h index 56ee5a7c2007..b5adca23a788 100644 --- a/arch/blackfin/mach-bf518/include/mach/defBF514.h +++ b/arch/blackfin/mach-bf518/include/mach/defBF514.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/defBF514.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF514_H | 7 | #ifndef _DEF_BF514_H |
diff --git a/arch/blackfin/mach-bf518/include/mach/defBF516.h b/arch/blackfin/mach-bf518/include/mach/defBF516.h index dfc93843517d..7eb18774d727 100644 --- a/arch/blackfin/mach-bf518/include/mach/defBF516.h +++ b/arch/blackfin/mach-bf518/include/mach/defBF516.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/defBF516.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF516_H | 7 | #ifndef _DEF_BF516_H |
diff --git a/arch/blackfin/mach-bf518/include/mach/defBF518.h b/arch/blackfin/mach-bf518/include/mach/defBF518.h index 6e982abf4ede..794cf06eb5ba 100644 --- a/arch/blackfin/mach-bf518/include/mach/defBF518.h +++ b/arch/blackfin/mach-bf518/include/mach/defBF518.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/defBF518.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF518_H | 7 | #ifndef _DEF_BF518_H |
@@ -648,4 +624,32 @@ | |||
648 | 624 | ||
649 | #define RWR 0x1 /* Read Wait Request */ | 625 | #define RWR 0x1 /* Read Wait Request */ |
650 | 626 | ||
627 | /* Bit masks for EMAC_PTP_CTL */ | ||
628 | |||
629 | #define PTP_EN 0x1 /* Enable the PTP_TSYNC module */ | ||
630 | #define TL 0x2 /* Timestamp lock control */ | ||
631 | #define ASEN 0x10 /* Auxiliary snapshot control */ | ||
632 | #define PPSEN 0x80 /* Pulse-per-second (PPS) control */ | ||
633 | #define CKOEN 0x2000 /* Clock output control */ | ||
634 | |||
635 | /* Bit masks for EMAC_PTP_IE */ | ||
636 | |||
637 | #define ALIE 0x1 /* Alarm interrupt enable */ | ||
638 | #define RXEIE 0x2 /* Receive event interrupt enable */ | ||
639 | #define RXGIE 0x4 /* Receive general interrupt enable */ | ||
640 | #define TXIE 0x8 /* Transmit interrupt enable */ | ||
641 | #define RXOVE 0x10 /* Receive overrun error interrupt enable */ | ||
642 | #define TXOVE 0x20 /* Transmit overrun error interrupt enable */ | ||
643 | #define ASIE 0x40 /* Auxiliary snapshot interrupt enable */ | ||
644 | |||
645 | /* Bit masks for EMAC_PTP_ISTAT */ | ||
646 | |||
647 | #define ALS 0x1 /* Alarm status */ | ||
648 | #define RXEL 0x2 /* Receive event interrupt status */ | ||
649 | #define RXGL 0x4 /* Receive general interrupt status */ | ||
650 | #define TXTL 0x8 /* Transmit snapshot status */ | ||
651 | #define RXOV 0x10 /* Receive snapshot overrun status */ | ||
652 | #define TXOV 0x20 /* Transmit snapshot overrun status */ | ||
653 | #define ASL 0x40 /* Auxiliary snapshot interrupt status */ | ||
654 | |||
651 | #endif /* _DEF_BF518_H */ | 655 | #endif /* _DEF_BF518_H */ |
diff --git a/arch/blackfin/mach-bf518/include/mach/defBF51x_base.h b/arch/blackfin/mach-bf518/include/mach/defBF51x_base.h index 1bec8d1c2a73..e06f4112c695 100644 --- a/arch/blackfin/mach-bf518/include/mach/defBF51x_base.h +++ b/arch/blackfin/mach-bf518/include/mach/defBF51x_base.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf518/defBF51x_base.h | 2 | * Copyright 2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF51X_H | 7 | #ifndef _DEF_BF51X_H |
diff --git a/arch/blackfin/mach-bf518/include/mach/gpio.h b/arch/blackfin/mach-bf518/include/mach/gpio.h index 9757683c3948..bbab2d76499c 100644 --- a/arch/blackfin/mach-bf518/include/mach/gpio.h +++ b/arch/blackfin/mach-bf518/include/mach/gpio.h | |||
@@ -1,7 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf518/include/mach/gpio.h | ||
3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
4 | * | ||
5 | * Copyright (C) 2008 Analog Devices Inc. | 2 | * Copyright (C) 2008 Analog Devices Inc. |
6 | * Licensed under the GPL-2 or later. | 3 | * Licensed under the GPL-2 or later. |
7 | */ | 4 | */ |
diff --git a/arch/blackfin/mach-bf518/include/mach/irq.h b/arch/blackfin/mach-bf518/include/mach/irq.h index 3ff0f093313d..14e52ec7afa5 100644 --- a/arch/blackfin/mach-bf518/include/mach/irq.h +++ b/arch/blackfin/mach-bf518/include/mach/irq.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf518/irq.h | 2 | * Copyright 2008 Analog Devices Inc. |
3 | * based on: include/asm-blackfin/mach-bf527/irq.h | ||
4 | * author: Michael Hennerich (michael.hennerich@analog.com) | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later |
7 | * description: | ||
8 | * system mmr register map | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _BF518_IRQ_H_ | 7 | #ifndef _BF518_IRQ_H_ |
diff --git a/arch/blackfin/mach-bf518/include/mach/portmux.h b/arch/blackfin/mach-bf518/include/mach/portmux.h index a0fc77fd3315..e352910f7f99 100644 --- a/arch/blackfin/mach-bf518/include/mach/portmux.h +++ b/arch/blackfin/mach-bf518/include/mach/portmux.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2008-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later | ||
5 | */ | ||
6 | |||
1 | #ifndef _MACH_PORTMUX_H_ | 7 | #ifndef _MACH_PORTMUX_H_ |
2 | #define _MACH_PORTMUX_H_ | 8 | #define _MACH_PORTMUX_H_ |
3 | 9 | ||
diff --git a/arch/blackfin/mach-bf518/ints-priority.c b/arch/blackfin/mach-bf518/ints-priority.c index 3151fd5501ca..bb05bef34ec0 100644 --- a/arch/blackfin/mach-bf518/ints-priority.c +++ b/arch/blackfin/mach-bf518/ints-priority.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf518/ints-priority.c | 2 | * Set up the interrupt priorities |
3 | * Based on: arch/blackfin/mach-bf527/ints-priority.c | ||
4 | * Author: Bryan Wu <cooloney@kernel.org> | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2008 Analog Devices Inc. |
7 | * Description: Set up the interrupt priorities | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/mach-bf527/boards/cm_bf527.c b/arch/blackfin/mach-bf527/boards/cm_bf527.c index 08a3f01c9886..f1996b13a3da 100644 --- a/arch/blackfin/mach-bf527/boards/cm_bf527.c +++ b/arch/blackfin/mach-bf527/boards/cm_bf527.c | |||
@@ -1,31 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf527/boards/cm-bf527.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf537/boards/stamp.c | 3 | * 2008-2009 Bluetechnix |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * 2005 National ICT Australia (NICTA) |
5 | * Aidan Williams <aidan@nicta.com.au> | ||
5 | * | 6 | * |
6 | * Created: | 7 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2008 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 8 | */ |
30 | 9 | ||
31 | #include <linux/device.h> | 10 | #include <linux/device.h> |
@@ -616,12 +595,6 @@ static struct platform_device bfin_spi0_device = { | |||
616 | }; | 595 | }; |
617 | #endif /* spi master and devices */ | 596 | #endif /* spi master and devices */ |
618 | 597 | ||
619 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
620 | static struct platform_device bfin_fb_adv7393_device = { | ||
621 | .name = "bfin-adv7393", | ||
622 | }; | ||
623 | #endif | ||
624 | |||
625 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) | 598 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) |
626 | static struct mtd_partition cm_partitions[] = { | 599 | static struct mtd_partition cm_partitions[] = { |
627 | { | 600 | { |
@@ -786,6 +759,11 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
786 | .irq = IRQ_PF8, | 759 | .irq = IRQ_PF8, |
787 | }, | 760 | }, |
788 | #endif | 761 | #endif |
762 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
763 | { | ||
764 | I2C_BOARD_INFO("bfin-adv7393", 0x2B), | ||
765 | }, | ||
766 | #endif | ||
789 | }; | 767 | }; |
790 | 768 | ||
791 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 769 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
@@ -821,19 +799,6 @@ static struct platform_device bfin_device_gpiokeys = { | |||
821 | }; | 799 | }; |
822 | #endif | 800 | #endif |
823 | 801 | ||
824 | static struct resource bfin_gpios_resources = { | ||
825 | .start = 0, | ||
826 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
827 | .flags = IORESOURCE_IRQ, | ||
828 | }; | ||
829 | |||
830 | static struct platform_device bfin_gpios_device = { | ||
831 | .name = "simple-gpio", | ||
832 | .id = -1, | ||
833 | .num_resources = 1, | ||
834 | .resource = &bfin_gpios_resources, | ||
835 | }; | ||
836 | |||
837 | static const unsigned int cclk_vlev_datasheet[] = | 802 | static const unsigned int cclk_vlev_datasheet[] = |
838 | { | 803 | { |
839 | VRPAIR(VLEV_100, 400000000), | 804 | VRPAIR(VLEV_100, 400000000), |
@@ -909,10 +874,6 @@ static struct platform_device *cmbf527_devices[] __initdata = { | |||
909 | &bfin_spi0_device, | 874 | &bfin_spi0_device, |
910 | #endif | 875 | #endif |
911 | 876 | ||
912 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
913 | &bfin_fb_adv7393_device, | ||
914 | #endif | ||
915 | |||
916 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 877 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
917 | &bfin_uart_device, | 878 | &bfin_uart_device, |
918 | #endif | 879 | #endif |
@@ -942,8 +903,6 @@ static struct platform_device *cmbf527_devices[] __initdata = { | |||
942 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) | 903 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) |
943 | &cm_flash_device, | 904 | &cm_flash_device, |
944 | #endif | 905 | #endif |
945 | |||
946 | &bfin_gpios_device, | ||
947 | }; | 906 | }; |
948 | 907 | ||
949 | static int __init cm_init(void) | 908 | static int __init cm_init(void) |
diff --git a/arch/blackfin/mach-bf527/boards/ezbrd.c b/arch/blackfin/mach-bf527/boards/ezbrd.c index 68b4c804364c..cad23b15d83c 100644 --- a/arch/blackfin/mach-bf527/boards/ezbrd.c +++ b/arch/blackfin/mach-bf527/boards/ezbrd.c | |||
@@ -1,31 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf527/boards/ezbrd.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf537/boards/stamp.c | 3 | * 2005 National ICT Australia (NICTA) |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * Aidan Williams <aidan@nicta.com.au> |
5 | * | 5 | * |
6 | * Created: | 6 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2008 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 7 | */ |
30 | 8 | ||
31 | #include <linux/device.h> | 9 | #include <linux/device.h> |
@@ -611,19 +589,6 @@ static struct platform_device bfin_device_gpiokeys = { | |||
611 | }; | 589 | }; |
612 | #endif | 590 | #endif |
613 | 591 | ||
614 | static struct resource bfin_gpios_resources = { | ||
615 | .start = 0, | ||
616 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
617 | .flags = IORESOURCE_IRQ, | ||
618 | }; | ||
619 | |||
620 | static struct platform_device bfin_gpios_device = { | ||
621 | .name = "simple-gpio", | ||
622 | .id = -1, | ||
623 | .num_resources = 1, | ||
624 | .resource = &bfin_gpios_resources, | ||
625 | }; | ||
626 | |||
627 | static const unsigned int cclk_vlev_datasheet[] = | 592 | static const unsigned int cclk_vlev_datasheet[] = |
628 | { | 593 | { |
629 | VRPAIR(VLEV_100, 400000000), | 594 | VRPAIR(VLEV_100, 400000000), |
@@ -732,8 +697,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
732 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 697 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
733 | &ezbrd_flash_device, | 698 | &ezbrd_flash_device, |
734 | #endif | 699 | #endif |
735 | |||
736 | &bfin_gpios_device, | ||
737 | }; | 700 | }; |
738 | 701 | ||
739 | static int __init ezbrd_init(void) | 702 | static int __init ezbrd_init(void) |
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c index 2849b09abe99..f09665f74ba0 100644 --- a/arch/blackfin/mach-bf527/boards/ezkit.c +++ b/arch/blackfin/mach-bf527/boards/ezkit.c | |||
@@ -1,31 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf527/boards/ezkit.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf537/boards/stamp.c | 3 | * 2005 National ICT Australia (NICTA) |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * Aidan Williams <aidan@nicta.com.au> |
5 | * | 5 | * |
6 | * Created: | 6 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2008 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 7 | */ |
30 | 8 | ||
31 | #include <linux/device.h> | 9 | #include <linux/device.h> |
@@ -716,12 +694,6 @@ static struct platform_device bfin_fb_device = { | |||
716 | }; | 694 | }; |
717 | #endif | 695 | #endif |
718 | 696 | ||
719 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
720 | static struct platform_device bfin_fb_adv7393_device = { | ||
721 | .name = "bfin-adv7393", | ||
722 | }; | ||
723 | #endif | ||
724 | |||
725 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 697 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
726 | static struct resource bfin_uart_resources[] = { | 698 | static struct resource bfin_uart_resources[] = { |
727 | #ifdef CONFIG_SERIAL_BFIN_UART0 | 699 | #ifdef CONFIG_SERIAL_BFIN_UART0 |
@@ -837,6 +809,11 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
837 | .irq = IRQ_PF8, | 809 | .irq = IRQ_PF8, |
838 | }, | 810 | }, |
839 | #endif | 811 | #endif |
812 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
813 | { | ||
814 | I2C_BOARD_INFO("bfin-adv7393", 0x2B), | ||
815 | }, | ||
816 | #endif | ||
840 | }; | 817 | }; |
841 | 818 | ||
842 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 819 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
@@ -905,19 +882,6 @@ static struct platform_device bfin_rotary_device = { | |||
905 | }; | 882 | }; |
906 | #endif | 883 | #endif |
907 | 884 | ||
908 | static struct resource bfin_gpios_resources = { | ||
909 | .start = 0, | ||
910 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
911 | .flags = IORESOURCE_IRQ, | ||
912 | }; | ||
913 | |||
914 | static struct platform_device bfin_gpios_device = { | ||
915 | .name = "simple-gpio", | ||
916 | .id = -1, | ||
917 | .num_resources = 1, | ||
918 | .resource = &bfin_gpios_resources, | ||
919 | }; | ||
920 | |||
921 | static const unsigned int cclk_vlev_datasheet[] = | 885 | static const unsigned int cclk_vlev_datasheet[] = |
922 | { | 886 | { |
923 | VRPAIR(VLEV_100, 400000000), | 887 | VRPAIR(VLEV_100, 400000000), |
@@ -1001,10 +965,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
1001 | &bf52x_t350mcqb_device, | 965 | &bf52x_t350mcqb_device, |
1002 | #endif | 966 | #endif |
1003 | 967 | ||
1004 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
1005 | &bfin_fb_adv7393_device, | ||
1006 | #endif | ||
1007 | |||
1008 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 968 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
1009 | &bfin_uart_device, | 969 | &bfin_uart_device, |
1010 | #endif | 970 | #endif |
@@ -1038,8 +998,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
1038 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 998 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
1039 | &ezkit_flash_device, | 999 | &ezkit_flash_device, |
1040 | #endif | 1000 | #endif |
1041 | |||
1042 | &bfin_gpios_device, | ||
1043 | }; | 1001 | }; |
1044 | 1002 | ||
1045 | static int __init ezkit_init(void) | 1003 | static int __init ezkit_init(void) |
diff --git a/arch/blackfin/mach-bf527/dma.c b/arch/blackfin/mach-bf527/dma.c index 231877578243..7bc7577d6c4f 100644 --- a/arch/blackfin/mach-bf527/dma.c +++ b/arch/blackfin/mach-bf527/dma.c | |||
@@ -1,31 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf527/dma.c | 2 | * This file contains the simple DMA Implementation for Blackfin |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2007-2008 Analog Devices Inc. |
7 | * Description: This file contains the simple DMA Implementation for Blackfin | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
8 | |||
29 | #include <linux/module.h> | 9 | #include <linux/module.h> |
30 | 10 | ||
31 | #include <asm/blackfin.h> | 11 | #include <asm/blackfin.h> |
diff --git a/arch/blackfin/mach-bf527/include/mach/bf527.h b/arch/blackfin/mach-bf527/include/mach/bf527.h index 3832aab11e9a..ff68c8897087 100644 --- a/arch/blackfin/mach-bf527/include/mach/bf527.h +++ b/arch/blackfin/mach-bf527/include/mach/bf527.h | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf527/bf527.h | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Based on: include/asm-blackfin/mach-bf537/bf537.h | ||
4 | * Author: Michael Hennerich (michael.hennerich@analog.com) | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF527 | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #ifndef __MACH_BF527_H__ | 7 | #ifndef __MACH_BF527_H__ |
diff --git a/arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h b/arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h index ebd6cebc1fbc..c1d55b878b45 100644 --- a/arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h +++ b/arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf527/bfin_serial_5xx.h | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * based on: | ||
4 | * author: | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later |
7 | * description: | ||
8 | * blackfin serial driver head file | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #include <linux/serial.h> | 7 | #include <linux/serial.h> |
diff --git a/arch/blackfin/mach-bf527/include/mach/blackfin.h b/arch/blackfin/mach-bf527/include/mach/blackfin.h index ea9cb0fef8bc..e7d6034f268f 100644 --- a/arch/blackfin/mach-bf527/include/mach/blackfin.h +++ b/arch/blackfin/mach-bf527/include/mach/blackfin.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf527/blackfin.h | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _MACH_BLACKFIN_H_ | 7 | #ifndef _MACH_BLACKFIN_H_ |
diff --git a/arch/blackfin/mach-bf527/include/mach/cdefBF522.h b/arch/blackfin/mach-bf527/include/mach/cdefBF522.h index 663c2bbdfd91..1079af8c7aef 100644 --- a/arch/blackfin/mach-bf527/include/mach/cdefBF522.h +++ b/arch/blackfin/mach-bf527/include/mach/cdefBF522.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf527/cdefbf522.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: system mmr register map | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _CDEF_BF522_H | 7 | #ifndef _CDEF_BF522_H |
diff --git a/arch/blackfin/mach-bf527/include/mach/cdefBF525.h b/arch/blackfin/mach-bf527/include/mach/cdefBF525.h index 00377eb59b75..dc3119e9f663 100644 --- a/arch/blackfin/mach-bf527/include/mach/cdefBF525.h +++ b/arch/blackfin/mach-bf527/include/mach/cdefBF525.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf527/cdefbf525.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: system mmr register map | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _CDEF_BF525_H | 7 | #ifndef _CDEF_BF525_H |
diff --git a/arch/blackfin/mach-bf527/include/mach/cdefBF527.h b/arch/blackfin/mach-bf527/include/mach/cdefBF527.h index fca8db708119..d6579449ee46 100644 --- a/arch/blackfin/mach-bf527/include/mach/cdefBF527.h +++ b/arch/blackfin/mach-bf527/include/mach/cdefBF527.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf527/cdefbf527.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: system mmr register map | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _CDEF_BF527_H | 7 | #ifndef _CDEF_BF527_H |
diff --git a/arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h b/arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h index 1fe76d8e0403..7014dde10dd6 100644 --- a/arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h +++ b/arch/blackfin/mach-bf527/include/mach/cdefBF52x_base.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf527/cdefBF52x_base.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF52X_H | 7 | #ifndef _CDEF_BF52X_H |
diff --git a/arch/blackfin/mach-bf527/include/mach/defBF522.h b/arch/blackfin/mach-bf527/include/mach/defBF522.h index 0a8cdcdf0b49..cb139a254810 100644 --- a/arch/blackfin/mach-bf527/include/mach/defBF522.h +++ b/arch/blackfin/mach-bf527/include/mach/defBF522.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf527/defBF522.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF522_H | 7 | #ifndef _DEF_BF522_H |
diff --git a/arch/blackfin/mach-bf527/include/mach/defBF525.h b/arch/blackfin/mach-bf527/include/mach/defBF525.h index 5cd7576fef76..82abefc1ef6c 100644 --- a/arch/blackfin/mach-bf527/include/mach/defBF525.h +++ b/arch/blackfin/mach-bf527/include/mach/defBF525.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf527/defBF525.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF525_H | 7 | #ifndef _DEF_BF525_H |
diff --git a/arch/blackfin/mach-bf527/include/mach/defBF527.h b/arch/blackfin/mach-bf527/include/mach/defBF527.h index f040f364afa3..570a125df025 100644 --- a/arch/blackfin/mach-bf527/include/mach/defBF527.h +++ b/arch/blackfin/mach-bf527/include/mach/defBF527.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf527/defBF527.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF527_H | 7 | #ifndef _DEF_BF527_H |
diff --git a/arch/blackfin/mach-bf527/include/mach/defBF52x_base.h b/arch/blackfin/mach-bf527/include/mach/defBF52x_base.h index 68b55d03fedf..f821700716ee 100644 --- a/arch/blackfin/mach-bf527/include/mach/defBF52x_base.h +++ b/arch/blackfin/mach-bf527/include/mach/defBF52x_base.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf527/defBF52x_base.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF52X_H | 7 | #ifndef _DEF_BF52X_H |
diff --git a/arch/blackfin/mach-bf527/include/mach/gpio.h b/arch/blackfin/mach-bf527/include/mach/gpio.h index 06b6eebf0d49..104bff85290d 100644 --- a/arch/blackfin/mach-bf527/include/mach/gpio.h +++ b/arch/blackfin/mach-bf527/include/mach/gpio.h | |||
@@ -1,7 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf527/include/mach/gpio.h | ||
3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
4 | * | ||
5 | * Copyright (C) 2008 Analog Devices Inc. | 2 | * Copyright (C) 2008 Analog Devices Inc. |
6 | * Licensed under the GPL-2 or later. | 3 | * Licensed under the GPL-2 or later. |
7 | */ | 4 | */ |
diff --git a/arch/blackfin/mach-bf527/include/mach/irq.h b/arch/blackfin/mach-bf527/include/mach/irq.h index 8ea660d8151f..aa6579a64a2f 100644 --- a/arch/blackfin/mach-bf527/include/mach/irq.h +++ b/arch/blackfin/mach-bf527/include/mach/irq.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf527/irq.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * based on: include/asm-blackfin/mach-bf537/irq.h | ||
4 | * author: Michael Hennerich (michael.hennerich@analog.com) | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later |
7 | * description: | ||
8 | * system mmr register map | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _BF527_IRQ_H_ | 7 | #ifndef _BF527_IRQ_H_ |
diff --git a/arch/blackfin/mach-bf527/include/mach/portmux.h b/arch/blackfin/mach-bf527/include/mach/portmux.h index 72b1652be4da..d4518b6f4adf 100644 --- a/arch/blackfin/mach-bf527/include/mach/portmux.h +++ b/arch/blackfin/mach-bf527/include/mach/portmux.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later | ||
5 | */ | ||
6 | |||
1 | #ifndef _MACH_PORTMUX_H_ | 7 | #ifndef _MACH_PORTMUX_H_ |
2 | #define _MACH_PORTMUX_H_ | 8 | #define _MACH_PORTMUX_H_ |
3 | 9 | ||
diff --git a/arch/blackfin/mach-bf527/ints-priority.c b/arch/blackfin/mach-bf527/ints-priority.c index f8c8acd73e30..44ca215bf164 100644 --- a/arch/blackfin/mach-bf527/ints-priority.c +++ b/arch/blackfin/mach-bf527/ints-priority.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf537/ints-priority.c | 2 | * Set up the interrupt priorities |
3 | * Based on: arch/blackfin/mach-bf533/ints-priority.c | ||
4 | * Author: Michael Hennerich (michael.hennerich@analog.com) | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2007-2008 Analog Devices Inc. |
7 | * Description: Set up the interrupt priorities | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/mach-bf533/boards/H8606.c b/arch/blackfin/mach-bf533/boards/H8606.c index 6c2b47fe4fe4..43f43a095a99 100644 --- a/arch/blackfin/mach-bf533/boards/H8606.c +++ b/arch/blackfin/mach-bf533/boards/H8606.c | |||
@@ -1,32 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf533/H8606.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/stamp.c | 3 | * 2007-2008 HV Sistemas S.L. |
4 | * Author: Javier Herrero <jherrero@hvsistemas.es> | 4 | * Javier Herrero <jherrero@hvsistemas.es> |
5 | * 2005 National ICT Australia (NICTA) | ||
6 | * Aidan Williams <aidan@nicta.com.au> | ||
5 | * | 7 | * |
6 | * Created: 2007 | 8 | * Licensed under the GPL-2 or later. |
7 | * Description: Board Info File for the HV Sistemas H8606 board | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2006 Analog Devices Inc | ||
12 | * Copyright 2007,2008 HV Sistemas S.L. | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2 of the License, or | ||
19 | * (at your option) any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; if not, see the file COPYING, or write | ||
28 | * to the Free Software Foundation, Inc., | ||
29 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
30 | */ | 9 | */ |
31 | 10 | ||
32 | #include <linux/device.h> | 11 | #include <linux/device.h> |
diff --git a/arch/blackfin/mach-bf533/boards/blackstamp.c b/arch/blackfin/mach-bf533/boards/blackstamp.c index 8208d67e2c97..b580884848d4 100644 --- a/arch/blackfin/mach-bf533/boards/blackstamp.c +++ b/arch/blackfin/mach-bf533/boards/blackstamp.c | |||
@@ -1,16 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf533/blackstamp.c | 2 | * Board Info File for the BlackStamp |
3 | * Based on: arch/blackfin/mach-bf533/stamp.c | ||
4 | * Author: Benjamin Matthews <bmat@lle.rochester.edu> | ||
5 | * Aidan Williams <aidan@nicta.com.au> | ||
6 | * | 3 | * |
7 | * Created: 2008 | ||
8 | * Description: Board Info File for the BlackStamp | ||
9 | * | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2008 Analog Devices Inc. | 4 | * Copyright 2004-2008 Analog Devices Inc. |
12 | * | 5 | * 2008 Benjamin Matthews <bmat@lle.rochester.edu> |
13 | * Enter bugs at http://blackfin.uclinux.org/ | 6 | * 2005 National ICT Australia (NICTA) |
7 | * Aidan Williams <aidan@nicta.com.au> | ||
14 | * | 8 | * |
15 | * More info about the BlackStamp at: | 9 | * More info about the BlackStamp at: |
16 | * http://blackfin.uclinux.org/gf/project/blackstamp/ | 10 | * http://blackfin.uclinux.org/gf/project/blackstamp/ |
@@ -281,19 +275,6 @@ static struct platform_device bfin_device_gpiokeys = { | |||
281 | }; | 275 | }; |
282 | #endif | 276 | #endif |
283 | 277 | ||
284 | static struct resource bfin_gpios_resources = { | ||
285 | .start = 0, | ||
286 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
287 | .flags = IORESOURCE_IRQ, | ||
288 | }; | ||
289 | |||
290 | static struct platform_device bfin_gpios_device = { | ||
291 | .name = "simple-gpio", | ||
292 | .id = -1, | ||
293 | .num_resources = 1, | ||
294 | .resource = &bfin_gpios_resources, | ||
295 | }; | ||
296 | |||
297 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) | 278 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) |
298 | #include <linux/i2c-gpio.h> | 279 | #include <linux/i2c-gpio.h> |
299 | 280 | ||
@@ -384,8 +365,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
384 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) | 365 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) |
385 | &i2c_gpio_device, | 366 | &i2c_gpio_device, |
386 | #endif | 367 | #endif |
387 | |||
388 | &bfin_gpios_device, | ||
389 | }; | 368 | }; |
390 | 369 | ||
391 | static int __init blackstamp_init(void) | 370 | static int __init blackstamp_init(void) |
diff --git a/arch/blackfin/mach-bf533/boards/cm_bf533.c b/arch/blackfin/mach-bf533/boards/cm_bf533.c index 7443b26c80c5..7fc3b860d4ae 100644 --- a/arch/blackfin/mach-bf533/boards/cm_bf533.c +++ b/arch/blackfin/mach-bf533/boards/cm_bf533.c | |||
@@ -1,30 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf533/boards/cm_bf533.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/boards/ezkit.c | 3 | * 2008-2009 Bluetechnix |
4 | * Author: Aidan Williams <aidan@nicta.com.au> Copyright 2005 | 4 | * 2005 National ICT Australia (NICTA) |
5 | * Aidan Williams <aidan@nicta.com.au> | ||
5 | * | 6 | * |
6 | * Created: 2005 | 7 | * Licensed under the GPL-2 or later. |
7 | * Description: Board description file | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 8 | */ |
29 | 9 | ||
30 | #include <linux/device.h> | 10 | #include <linux/device.h> |
@@ -261,19 +241,6 @@ static struct platform_device smsc911x_device = { | |||
261 | }; | 241 | }; |
262 | #endif | 242 | #endif |
263 | 243 | ||
264 | static struct resource bfin_gpios_resources = { | ||
265 | .start = 0, | ||
266 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
267 | .flags = IORESOURCE_IRQ, | ||
268 | }; | ||
269 | |||
270 | static struct platform_device bfin_gpios_device = { | ||
271 | .name = "simple-gpio", | ||
272 | .id = -1, | ||
273 | .num_resources = 1, | ||
274 | .resource = &bfin_gpios_resources, | ||
275 | }; | ||
276 | |||
277 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 244 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
278 | static struct resource bfin_uart_resources[] = { | 245 | static struct resource bfin_uart_resources[] = { |
279 | { | 246 | { |
@@ -506,8 +473,6 @@ static struct platform_device *cm_bf533_devices[] __initdata = { | |||
506 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 473 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
507 | ¶_flash_device, | 474 | ¶_flash_device, |
508 | #endif | 475 | #endif |
509 | |||
510 | &bfin_gpios_device, | ||
511 | }; | 476 | }; |
512 | 477 | ||
513 | static int __init cm_bf533_init(void) | 478 | static int __init cm_bf533_init(void) |
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c index fd518e383b79..d4689dcc198e 100644 --- a/arch/blackfin/mach-bf533/boards/ezkit.c +++ b/arch/blackfin/mach-bf533/boards/ezkit.c | |||
@@ -1,31 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf533/ezkit.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: Original Work | 3 | * 2005 National ICT Australia (NICTA) |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * Aidan Williams <aidan@nicta.com.au> |
5 | * | 5 | * |
6 | * Created: 2005 | 6 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: Robin Getz <rgetz@blackfin.uclinux.org> - Named the boards | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2006 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 7 | */ |
30 | 8 | ||
31 | #include <linux/device.h> | 9 | #include <linux/device.h> |
@@ -33,12 +11,14 @@ | |||
33 | #include <linux/mtd/mtd.h> | 11 | #include <linux/mtd/mtd.h> |
34 | #include <linux/mtd/partitions.h> | 12 | #include <linux/mtd/partitions.h> |
35 | #include <linux/mtd/plat-ram.h> | 13 | #include <linux/mtd/plat-ram.h> |
14 | #include <linux/mtd/physmap.h> | ||
36 | #include <linux/spi/spi.h> | 15 | #include <linux/spi/spi.h> |
37 | #include <linux/spi/flash.h> | 16 | #include <linux/spi/flash.h> |
38 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 17 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
39 | #include <linux/usb/isp1362.h> | 18 | #include <linux/usb/isp1362.h> |
40 | #endif | 19 | #endif |
41 | #include <linux/irq.h> | 20 | #include <linux/irq.h> |
21 | #include <linux/i2c.h> | ||
42 | #include <asm/dma.h> | 22 | #include <asm/dma.h> |
43 | #include <asm/bfin5xx_spi.h> | 23 | #include <asm/bfin5xx_spi.h> |
44 | #include <asm/portmux.h> | 24 | #include <asm/portmux.h> |
@@ -56,12 +36,6 @@ static struct platform_device rtc_device = { | |||
56 | }; | 36 | }; |
57 | #endif | 37 | #endif |
58 | 38 | ||
59 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
60 | static struct platform_device bfin_fb_adv7393_device = { | ||
61 | .name = "bfin-adv7393", | ||
62 | }; | ||
63 | #endif | ||
64 | |||
65 | /* | 39 | /* |
66 | * USB-LAN EzExtender board | 40 | * USB-LAN EzExtender board |
67 | * Driver needs to know address, irq and flag pin. | 41 | * Driver needs to know address, irq and flag pin. |
@@ -98,54 +72,69 @@ static struct platform_device smc91x_device = { | |||
98 | }; | 72 | }; |
99 | #endif | 73 | #endif |
100 | 74 | ||
101 | #if defined(CONFIG_MTD_PSD4256G) || defined(CONFIG_MTD_PSD4256G_MODULE) | 75 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
102 | static const char *map_probes[] = { | 76 | static struct mtd_partition ezkit_partitions_a[] = { |
103 | "stm_flash", | 77 | { |
104 | NULL, | 78 | .name = "bootloader(nor a)", |
79 | .size = 0x40000, | ||
80 | .offset = 0, | ||
81 | }, { | ||
82 | .name = "linux kernel(nor a)", | ||
83 | .size = MTDPART_SIZ_FULL, | ||
84 | .offset = MTDPART_OFS_APPEND, | ||
85 | }, | ||
105 | }; | 86 | }; |
106 | 87 | ||
107 | static struct platdata_mtd_ram stm_pri_data_a = { | 88 | static struct physmap_flash_data ezkit_flash_data_a = { |
108 | .mapname = "Flash A Primary", | 89 | .width = 2, |
109 | .map_probes = map_probes, | 90 | .parts = ezkit_partitions_a, |
110 | .bankwidth = 2, | 91 | .nr_parts = ARRAY_SIZE(ezkit_partitions_a), |
111 | }; | 92 | }; |
112 | 93 | ||
113 | static struct resource stm_pri_resource_a = { | 94 | static struct resource ezkit_flash_resource_a = { |
114 | .start = 0x20000000, | 95 | .start = 0x20000000, |
115 | .end = 0x200fffff, | 96 | .end = 0x200fffff, |
116 | .flags = IORESOURCE_MEM, | 97 | .flags = IORESOURCE_MEM, |
117 | }; | 98 | }; |
118 | 99 | ||
119 | static struct platform_device stm_pri_device_a = { | 100 | static struct platform_device ezkit_flash_device_a = { |
120 | .name = "mtd-ram", | 101 | .name = "physmap-flash", |
121 | .id = 0, | 102 | .id = 0, |
122 | .dev = { | 103 | .dev = { |
123 | .platform_data = &stm_pri_data_a, | 104 | .platform_data = &ezkit_flash_data_a, |
124 | }, | 105 | }, |
125 | .num_resources = 1, | 106 | .num_resources = 1, |
126 | .resource = &stm_pri_resource_a, | 107 | .resource = &ezkit_flash_resource_a, |
108 | }; | ||
109 | |||
110 | static struct mtd_partition ezkit_partitions_b[] = { | ||
111 | { | ||
112 | .name = "file system(nor b)", | ||
113 | .size = MTDPART_SIZ_FULL, | ||
114 | .offset = MTDPART_OFS_APPEND, | ||
115 | }, | ||
127 | }; | 116 | }; |
128 | 117 | ||
129 | static struct platdata_mtd_ram stm_pri_data_b = { | 118 | static struct physmap_flash_data ezkit_flash_data_b = { |
130 | .mapname = "Flash B Primary", | 119 | .width = 2, |
131 | .map_probes = map_probes, | 120 | .parts = ezkit_partitions_b, |
132 | .bankwidth = 2, | 121 | .nr_parts = ARRAY_SIZE(ezkit_partitions_b), |
133 | }; | 122 | }; |
134 | 123 | ||
135 | static struct resource stm_pri_resource_b = { | 124 | static struct resource ezkit_flash_resource_b = { |
136 | .start = 0x20100000, | 125 | .start = 0x20100000, |
137 | .end = 0x201fffff, | 126 | .end = 0x201fffff, |
138 | .flags = IORESOURCE_MEM, | 127 | .flags = IORESOURCE_MEM, |
139 | }; | 128 | }; |
140 | 129 | ||
141 | static struct platform_device stm_pri_device_b = { | 130 | static struct platform_device ezkit_flash_device_b = { |
142 | .name = "mtd-ram", | 131 | .name = "physmap-flash", |
143 | .id = 4, | 132 | .id = 4, |
144 | .dev = { | 133 | .dev = { |
145 | .platform_data = &stm_pri_data_b, | 134 | .platform_data = &ezkit_flash_data_b, |
146 | }, | 135 | }, |
147 | .num_resources = 1, | 136 | .num_resources = 1, |
148 | .resource = &stm_pri_resource_b, | 137 | .resource = &ezkit_flash_resource_b, |
149 | }; | 138 | }; |
150 | #endif | 139 | #endif |
151 | 140 | ||
@@ -400,19 +389,6 @@ static struct platform_device bfin_device_gpiokeys = { | |||
400 | }; | 389 | }; |
401 | #endif | 390 | #endif |
402 | 391 | ||
403 | static struct resource bfin_gpios_resources = { | ||
404 | .start = 0, | ||
405 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
406 | .flags = IORESOURCE_IRQ, | ||
407 | }; | ||
408 | |||
409 | static struct platform_device bfin_gpios_device = { | ||
410 | .name = "simple-gpio", | ||
411 | .id = -1, | ||
412 | .num_resources = 1, | ||
413 | .resource = &bfin_gpios_resources, | ||
414 | }; | ||
415 | |||
416 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) | 392 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) |
417 | #include <linux/i2c-gpio.h> | 393 | #include <linux/i2c-gpio.h> |
418 | 394 | ||
@@ -460,13 +436,21 @@ static struct platform_device bfin_dpmc = { | |||
460 | }, | 436 | }, |
461 | }; | 437 | }; |
462 | 438 | ||
439 | static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | ||
440 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
441 | { | ||
442 | I2C_BOARD_INFO("bfin-adv7393", 0x2B), | ||
443 | }, | ||
444 | #endif | ||
445 | }; | ||
446 | |||
463 | static struct platform_device *ezkit_devices[] __initdata = { | 447 | static struct platform_device *ezkit_devices[] __initdata = { |
464 | 448 | ||
465 | &bfin_dpmc, | 449 | &bfin_dpmc, |
466 | 450 | ||
467 | #if defined(CONFIG_MTD_PSD4256G) || defined(CONFIG_MTD_PSD4256G_MODULE) | 451 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
468 | &stm_pri_device_a, | 452 | &ezkit_flash_device_a, |
469 | &stm_pri_device_b, | 453 | &ezkit_flash_device_b, |
470 | #endif | 454 | #endif |
471 | 455 | ||
472 | #if defined(CONFIG_MTD_PLATRAM) || defined(CONFIG_MTD_PLATRAM_MODULE) | 456 | #if defined(CONFIG_MTD_PLATRAM) || defined(CONFIG_MTD_PLATRAM_MODULE) |
@@ -482,10 +466,6 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
482 | &bfin_spi0_device, | 466 | &bfin_spi0_device, |
483 | #endif | 467 | #endif |
484 | 468 | ||
485 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
486 | &bfin_fb_adv7393_device, | ||
487 | #endif | ||
488 | |||
489 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) | 469 | #if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) |
490 | &rtc_device, | 470 | &rtc_device, |
491 | #endif | 471 | #endif |
@@ -507,8 +487,6 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
507 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) | 487 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) |
508 | &i2c_gpio_device, | 488 | &i2c_gpio_device, |
509 | #endif | 489 | #endif |
510 | |||
511 | &bfin_gpios_device, | ||
512 | }; | 490 | }; |
513 | 491 | ||
514 | static int __init ezkit_init(void) | 492 | static int __init ezkit_init(void) |
@@ -516,6 +494,8 @@ static int __init ezkit_init(void) | |||
516 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | 494 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
517 | platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); | 495 | platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); |
518 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | 496 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
497 | i2c_register_board_info(0, bfin_i2c_board_info, | ||
498 | ARRAY_SIZE(bfin_i2c_board_info)); | ||
519 | return 0; | 499 | return 0; |
520 | } | 500 | } |
521 | 501 | ||
diff --git a/arch/blackfin/mach-bf533/boards/ip0x.c b/arch/blackfin/mach-bf533/boards/ip0x.c index f19b63378b12..644be5e5ab6f 100644 --- a/arch/blackfin/mach-bf533/boards/ip0x.c +++ b/arch/blackfin/mach-bf533/boards/ip0x.c | |||
@@ -1,34 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf533/ip0x.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/bf1.c | 3 | * 2007 David Rowe |
4 | * Based on: arch/blackfin/mach-bf533/stamp.c | 4 | * 2006 Intratrade Ltd. |
5 | * Author: Ivan Danov <idanov@gmail.com> | 5 | * Ivan Danov <idanov@gmail.com> |
6 | * Modified for IP0X David Rowe | 6 | * 2005 National ICT Australia (NICTA) |
7 | * Aidan Williams <aidan@nicta.com.au> | ||
7 | * | 8 | * |
8 | * Created: 2007 | 9 | * Licensed under the GPL-2 or later. |
9 | * Description: Board info file for the IP04/IP08 boards, which | ||
10 | * are derived from the BlackfinOne V2.0 boards. | ||
11 | * | ||
12 | * Modified: | ||
13 | * COpyright 2007 David Rowe | ||
14 | * Copyright 2006 Intratrade Ltd. | ||
15 | * Copyright 2005 National ICT Australia (NICTA) | ||
16 | * Copyright 2004-2006 Analog Devices Inc. | ||
17 | * | ||
18 | * This program is free software; you can redistribute it and/or modify | ||
19 | * it under the terms of the GNU General Public License as published by | ||
20 | * the Free Software Foundation; either version 2 of the License, or | ||
21 | * (at your option) any later version. | ||
22 | * | ||
23 | * This program is distributed in the hope that it will be useful, | ||
24 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
26 | * GNU General Public License for more details. | ||
27 | * | ||
28 | * You should have received a copy of the GNU General Public License | ||
29 | * along with this program; if not, see the file COPYING, or write | ||
30 | * to the Free Software Foundation, Inc., | ||
31 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
32 | */ | 10 | */ |
33 | 11 | ||
34 | #include <linux/device.h> | 12 | #include <linux/device.h> |
@@ -145,7 +123,6 @@ static struct bfin5xx_spi_chip mmc_spi_chip_info = { | |||
145 | .ctl_reg = 0x1000, /* CPOL=0,CPHA=0,Sandisk 1G work */ | 123 | .ctl_reg = 0x1000, /* CPOL=0,CPHA=0,Sandisk 1G work */ |
146 | .enable_dma = 0, /* if 1 - block!!! */ | 124 | .enable_dma = 0, /* if 1 - block!!! */ |
147 | .bits_per_word = 8, | 125 | .bits_per_word = 8, |
148 | .cs_change_per_word = 0, | ||
149 | }; | 126 | }; |
150 | #endif | 127 | #endif |
151 | 128 | ||
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c index 729fd7c26336..82f70efd66e7 100644 --- a/arch/blackfin/mach-bf533/boards/stamp.c +++ b/arch/blackfin/mach-bf533/boards/stamp.c | |||
@@ -1,31 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf533/stamp.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/ezkit.c | 3 | * 2005 National ICT Australia (NICTA) |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * Aidan Williams <aidan@nicta.com.au> |
5 | * | 5 | * |
6 | * Created: 2005 | 6 | * Licensed under the GPL-2 or later. |
7 | * Description: Board Info File for the BF533-STAMP | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2006 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 7 | */ |
30 | 8 | ||
31 | #include <linux/device.h> | 9 | #include <linux/device.h> |
@@ -95,12 +73,6 @@ static struct platform_device smc91x_device = { | |||
95 | }; | 73 | }; |
96 | #endif | 74 | #endif |
97 | 75 | ||
98 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
99 | static struct platform_device bfin_fb_adv7393_device = { | ||
100 | .name = "bfin-adv7393", | ||
101 | }; | ||
102 | #endif | ||
103 | |||
104 | #if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) | 76 | #if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) |
105 | static struct resource net2272_bfin_resources[] = { | 77 | static struct resource net2272_bfin_resources[] = { |
106 | { | 78 | { |
@@ -436,19 +408,6 @@ static struct platform_device bfin_device_gpiokeys = { | |||
436 | }; | 408 | }; |
437 | #endif | 409 | #endif |
438 | 410 | ||
439 | static struct resource bfin_gpios_resources = { | ||
440 | .start = 0, | ||
441 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
442 | .flags = IORESOURCE_IRQ, | ||
443 | }; | ||
444 | |||
445 | static struct platform_device bfin_gpios_device = { | ||
446 | .name = "simple-gpio", | ||
447 | .id = -1, | ||
448 | .num_resources = 1, | ||
449 | .resource = &bfin_gpios_resources, | ||
450 | }; | ||
451 | |||
452 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) | 411 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) |
453 | #include <linux/i2c-gpio.h> | 412 | #include <linux/i2c-gpio.h> |
454 | 413 | ||
@@ -487,6 +446,11 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
487 | .irq = 39, | 446 | .irq = 39, |
488 | }, | 447 | }, |
489 | #endif | 448 | #endif |
449 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
450 | { | ||
451 | I2C_BOARD_INFO("bfin-adv7393", 0x2B), | ||
452 | }, | ||
453 | #endif | ||
490 | }; | 454 | }; |
491 | 455 | ||
492 | static const unsigned int cclk_vlev_datasheet[] = | 456 | static const unsigned int cclk_vlev_datasheet[] = |
@@ -528,10 +492,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
528 | &smc91x_device, | 492 | &smc91x_device, |
529 | #endif | 493 | #endif |
530 | 494 | ||
531 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
532 | &bfin_fb_adv7393_device, | ||
533 | #endif | ||
534 | |||
535 | #if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) | 495 | #if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) |
536 | &net2272_bfin_device, | 496 | &net2272_bfin_device, |
537 | #endif | 497 | #endif |
@@ -563,8 +523,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
563 | &i2c_gpio_device, | 523 | &i2c_gpio_device, |
564 | #endif | 524 | #endif |
565 | 525 | ||
566 | &bfin_gpios_device, | ||
567 | |||
568 | #if defined(CONFIG_MTD_BFIN_ASYNC) || defined(CONFIG_MTD_BFIN_ASYNC_MODULE) | 526 | #if defined(CONFIG_MTD_BFIN_ASYNC) || defined(CONFIG_MTD_BFIN_ASYNC_MODULE) |
569 | &stamp_flash_device, | 527 | &stamp_flash_device, |
570 | #endif | 528 | #endif |
diff --git a/arch/blackfin/mach-bf533/dma.c b/arch/blackfin/mach-bf533/dma.c index 7a443c37fb9f..4a14a46a9a68 100644 --- a/arch/blackfin/mach-bf533/dma.c +++ b/arch/blackfin/mach-bf533/dma.c | |||
@@ -1,31 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf533/dma.c | 2 | * simple DMA Implementation for Blackfin |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2007-2009 Analog Devices Inc. |
7 | * Description: This file contains the simple DMA Implementation for Blackfin | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
8 | |||
29 | #include <linux/module.h> | 9 | #include <linux/module.h> |
30 | 10 | ||
31 | #include <asm/blackfin.h> | 11 | #include <asm/blackfin.h> |
diff --git a/arch/blackfin/mach-bf533/include/mach/bf533.h b/arch/blackfin/mach-bf533/include/mach/bf533.h index cf4427cd3f72..e3e05f8f7af9 100644 --- a/arch/blackfin/mach-bf533/include/mach/bf533.h +++ b/arch/blackfin/mach-bf533/include/mach/bf533.h | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf533/bf533.h | 2 | * SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF561 |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2005-2008 Analog Devices Inc. |
7 | * Description: SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF561 | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #ifndef __MACH_BF533_H__ | 9 | #ifndef __MACH_BF533_H__ |
diff --git a/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h b/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h index 6965b4088c44..9e1f3defb6bc 100644 --- a/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h +++ b/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | 2 | * Copyright 2006-2009 Analog Devices Inc. |
3 | * based on: | ||
4 | * author: | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later |
7 | * description: | ||
8 | * blackfin serial driver head file | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #include <linux/serial.h> | 7 | #include <linux/serial.h> |
diff --git a/arch/blackfin/mach-bf533/include/mach/blackfin.h b/arch/blackfin/mach-bf533/include/mach/blackfin.h index 499e897a4f4f..f4bd6df5d968 100644 --- a/arch/blackfin/mach-bf533/include/mach/blackfin.h +++ b/arch/blackfin/mach-bf533/include/mach/blackfin.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf533/blackfin.h | 2 | * Copyright 2005-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _MACH_BLACKFIN_H_ | 7 | #ifndef _MACH_BLACKFIN_H_ |
diff --git a/arch/blackfin/mach-bf533/include/mach/cdefBF532.h b/arch/blackfin/mach-bf533/include/mach/cdefBF532.h index bbc3c8386d48..feb2392c43ea 100644 --- a/arch/blackfin/mach-bf533/include/mach/cdefBF532.h +++ b/arch/blackfin/mach-bf533/include/mach/cdefBF532.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf533/cdefBF532.h | 2 | * Copyright 2005-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF532_H | 7 | #ifndef _CDEF_BF532_H |
diff --git a/arch/blackfin/mach-bf533/include/mach/defBF532.h b/arch/blackfin/mach-bf533/include/mach/defBF532.h index 7f4633223e6d..02b328eb0e07 100644 --- a/arch/blackfin/mach-bf533/include/mach/defBF532.h +++ b/arch/blackfin/mach-bf533/include/mach/defBF532.h | |||
@@ -1,48 +1,10 @@ | |||
1 | /************************************************************************ | ||
2 | * | ||
3 | * This file is subject to the terms and conditions of the GNU Public | ||
4 | * License. See the file "COPYING" in the main directory of this archive | ||
5 | * for more details. | ||
6 | * | ||
7 | * Non-GPL License also available as part of VisualDSP++ | ||
8 | * http://www.analog.com/processors/resources/crosscore/visualDspDevSoftware.html | ||
9 | * | ||
10 | * (c) Copyright 2001-2005 Analog Devices, Inc. All rights reserved | ||
11 | * | ||
12 | * This file under source code control, please send bugs or changes to: | ||
13 | * dsptools.support@analog.com | ||
14 | * | ||
15 | ************************************************************************/ | ||
16 | /* | 1 | /* |
17 | * File: include/asm-blackfin/mach-bf533/defBF532.h | 2 | * System & MMR bit and Address definitions for ADSP-BF532 |
18 | * Based on: | ||
19 | * Author: | ||
20 | * | ||
21 | * Created: | ||
22 | * Description: | ||
23 | * | ||
24 | * Rev: | ||
25 | * | ||
26 | * Modified: | ||
27 | * | ||
28 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
29 | * | ||
30 | * This program is free software; you can redistribute it and/or modify | ||
31 | * it under the terms of the GNU General Public License as published by | ||
32 | * the Free Software Foundation; either version 2, or (at your option) | ||
33 | * any later version. | ||
34 | * | 3 | * |
35 | * This program is distributed in the hope that it will be useful, | 4 | * Copyright 2005-2008 Analog Devices Inc. |
36 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
37 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
38 | * GNU General Public License for more details. | ||
39 | * | 5 | * |
40 | * You should have received a copy of the GNU General Public License | 6 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
41 | * along with this program; see the file COPYING. | ||
42 | * If not, write to the Free Software Foundation, | ||
43 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
44 | */ | 7 | */ |
45 | /* SYSTEM & MM REGISTER BIT & ADDRESS DEFINITIONS FOR ADSP-BF532 */ | ||
46 | 8 | ||
47 | #ifndef _DEF_BF532_H | 9 | #ifndef _DEF_BF532_H |
48 | #define _DEF_BF532_H | 10 | #define _DEF_BF532_H |
diff --git a/arch/blackfin/mach-bf533/include/mach/gpio.h b/arch/blackfin/mach-bf533/include/mach/gpio.h index e45c17077aff..2af19d69a7a7 100644 --- a/arch/blackfin/mach-bf533/include/mach/gpio.h +++ b/arch/blackfin/mach-bf533/include/mach/gpio.h | |||
@@ -1,7 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf533/include/mach/gpio.h | ||
3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
4 | * | ||
5 | * Copyright (C) 2008 Analog Devices Inc. | 2 | * Copyright (C) 2008 Analog Devices Inc. |
6 | * Licensed under the GPL-2 or later. | 3 | * Licensed under the GPL-2 or later. |
7 | */ | 4 | */ |
diff --git a/arch/blackfin/mach-bf533/include/mach/irq.h b/arch/blackfin/mach-bf533/include/mach/irq.h index db1e346cd1aa..c31498be0bbb 100644 --- a/arch/blackfin/mach-bf533/include/mach/irq.h +++ b/arch/blackfin/mach-bf533/include/mach/irq.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf533/defBF532.h | 2 | * Copyright 2005-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _BF533_IRQ_H_ | 7 | #ifndef _BF533_IRQ_H_ |
diff --git a/arch/blackfin/mach-bf533/include/mach/portmux.h b/arch/blackfin/mach-bf533/include/mach/portmux.h index 2f59ce0b0cb5..075dae1af164 100644 --- a/arch/blackfin/mach-bf533/include/mach/portmux.h +++ b/arch/blackfin/mach-bf533/include/mach/portmux.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later | ||
5 | */ | ||
6 | |||
1 | #ifndef _MACH_PORTMUX_H_ | 7 | #ifndef _MACH_PORTMUX_H_ |
2 | #define _MACH_PORTMUX_H_ | 8 | #define _MACH_PORTMUX_H_ |
3 | 9 | ||
diff --git a/arch/blackfin/mach-bf533/ints-priority.c b/arch/blackfin/mach-bf533/ints-priority.c index f51994b7a2b9..8f714cf8135b 100644 --- a/arch/blackfin/mach-bf533/ints-priority.c +++ b/arch/blackfin/mach-bf533/ints-priority.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf533/ints-priority.c | 2 | * Set up the interrupt priorities |
3 | * Based on: | ||
4 | * Author: Michael Hennerich | ||
5 | * | 3 | * |
6 | * Created: ? | 4 | * Copyright 2005-2009 Analog Devices Inc. |
7 | * Description: Set up the interrupt priorities | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537e.c b/arch/blackfin/mach-bf537/boards/cm_bf537e.c index 87acb7dd2df3..c85f4d770535 100644 --- a/arch/blackfin/mach-bf537/boards/cm_bf537e.c +++ b/arch/blackfin/mach-bf537/boards/cm_bf537e.c | |||
@@ -1,31 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf537/boards/cm_bf537.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/boards/ezkit.c | 3 | * 2008-2009 Bluetechnix |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * 2005 National ICT Australia (NICTA) |
5 | * Aidan Williams <aidan@nicta.com.au> | ||
5 | * | 6 | * |
6 | * Created: 2005 | 7 | * Licensed under the GPL-2 or later. |
7 | * Description: Board description file | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2006 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 8 | */ |
30 | 9 | ||
31 | #include <linux/device.h> | 10 | #include <linux/device.h> |
@@ -297,19 +276,6 @@ static struct platform_device net2272_bfin_device = { | |||
297 | }; | 276 | }; |
298 | #endif | 277 | #endif |
299 | 278 | ||
300 | static struct resource bfin_gpios_resources = { | ||
301 | .start = 0, | ||
302 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
303 | .flags = IORESOURCE_IRQ, | ||
304 | }; | ||
305 | |||
306 | static struct platform_device bfin_gpios_device = { | ||
307 | .name = "simple-gpio", | ||
308 | .id = -1, | ||
309 | .num_resources = 1, | ||
310 | .resource = &bfin_gpios_resources, | ||
311 | }; | ||
312 | |||
313 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) | 279 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) |
314 | static struct mtd_partition cm_partitions[] = { | 280 | static struct mtd_partition cm_partitions[] = { |
315 | { | 281 | { |
@@ -699,8 +665,6 @@ static struct platform_device *cm_bf537e_devices[] __initdata = { | |||
699 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) | 665 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) |
700 | &cm_flash_device, | 666 | &cm_flash_device, |
701 | #endif | 667 | #endif |
702 | |||
703 | &bfin_gpios_device, | ||
704 | }; | 668 | }; |
705 | 669 | ||
706 | static int __init cm_bf537e_init(void) | 670 | static int __init cm_bf537e_init(void) |
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537u.c b/arch/blackfin/mach-bf537/boards/cm_bf537u.c index 8219dc3d65bd..ea11aa81340d 100644 --- a/arch/blackfin/mach-bf537/boards/cm_bf537u.c +++ b/arch/blackfin/mach-bf537/boards/cm_bf537u.c | |||
@@ -1,31 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf537/boards/cm_bf537u.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/boards/ezkit.c | 3 | * 2008-2009 Bluetechnix |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * 2005 National ICT Australia (NICTA) |
5 | * Aidan Williams <aidan@nicta.com.au> | ||
5 | * | 6 | * |
6 | * Created: 2005 | 7 | * Licensed under the GPL-2 or later. |
7 | * Description: Board description file | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2006 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 8 | */ |
30 | 9 | ||
31 | #include <linux/device.h> | 10 | #include <linux/device.h> |
@@ -298,19 +277,6 @@ static struct platform_device net2272_bfin_device = { | |||
298 | }; | 277 | }; |
299 | #endif | 278 | #endif |
300 | 279 | ||
301 | static struct resource bfin_gpios_resources = { | ||
302 | .start = 0, | ||
303 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
304 | .flags = IORESOURCE_IRQ, | ||
305 | }; | ||
306 | |||
307 | static struct platform_device bfin_gpios_device = { | ||
308 | .name = "simple-gpio", | ||
309 | .id = -1, | ||
310 | .num_resources = 1, | ||
311 | .resource = &bfin_gpios_resources, | ||
312 | }; | ||
313 | |||
314 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) | 280 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) |
315 | static struct mtd_partition cm_partitions[] = { | 281 | static struct mtd_partition cm_partitions[] = { |
316 | { | 282 | { |
@@ -605,8 +571,6 @@ static struct platform_device *cm_bf537u_devices[] __initdata = { | |||
605 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) | 571 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) |
606 | &cm_flash_device, | 572 | &cm_flash_device, |
607 | #endif | 573 | #endif |
608 | |||
609 | &bfin_gpios_device, | ||
610 | }; | 574 | }; |
611 | 575 | ||
612 | static int __init cm_bf537u_init(void) | 576 | static int __init cm_bf537u_init(void) |
diff --git a/arch/blackfin/mach-bf537/boards/minotaur.c b/arch/blackfin/mach-bf537/boards/minotaur.c index 399f81da7b93..0da927252701 100644 --- a/arch/blackfin/mach-bf537/boards/minotaur.c +++ b/arch/blackfin/mach-bf537/boards/minotaur.c | |||
@@ -1,4 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2004-2009 Analog Devices Inc. | ||
3 | * 2008-2009 Cambridge Signal Processing | ||
4 | * 2005 National ICT Australia (NICTA) | ||
5 | * Aidan Williams <aidan@nicta.com.au> | ||
6 | * | ||
7 | * Licensed under the GPL-2 or later. | ||
2 | */ | 8 | */ |
3 | 9 | ||
4 | #include <linux/device.h> | 10 | #include <linux/device.h> |
diff --git a/arch/blackfin/mach-bf537/boards/pnav10.c b/arch/blackfin/mach-bf537/boards/pnav10.c index 10b35b838bac..9ba290466b56 100644 --- a/arch/blackfin/mach-bf537/boards/pnav10.c +++ b/arch/blackfin/mach-bf537/boards/pnav10.c | |||
@@ -1,31 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf537/boards/stamp.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/boards/ezkit.c | 3 | * 2005 National ICT Australia (NICTA) |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * Aidan Williams <aidan@nicta.com.au> |
5 | * | 5 | * |
6 | * Created: | 6 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2008 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 7 | */ |
30 | 8 | ||
31 | #include <linux/device.h> | 9 | #include <linux/device.h> |
@@ -302,7 +280,6 @@ static struct bfin5xx_spi_chip mmc_spi_chip_info = { | |||
302 | 280 | ||
303 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | 281 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) |
304 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { | 282 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { |
305 | .cs_change_per_word = 0, | ||
306 | .enable_dma = 0, | 283 | .enable_dma = 0, |
307 | .bits_per_word = 16, | 284 | .bits_per_word = 16, |
308 | }; | 285 | }; |
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c index 9db6b40743e0..c46baa5e6d9b 100644 --- a/arch/blackfin/mach-bf537/boards/stamp.c +++ b/arch/blackfin/mach-bf537/boards/stamp.c | |||
@@ -1,31 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf537/boards/stamp.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/boards/ezkit.c | 3 | * 2005 National ICT Australia (NICTA) |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * Aidan Williams <aidan@nicta.com.au> |
5 | * | 5 | * |
6 | * Created: | 6 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2006 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 7 | */ |
30 | 8 | ||
31 | #include <linux/device.h> | 9 | #include <linux/device.h> |
@@ -121,19 +99,6 @@ static struct platform_device bfin_device_gpiokeys = { | |||
121 | }; | 99 | }; |
122 | #endif | 100 | #endif |
123 | 101 | ||
124 | static struct resource bfin_gpios_resources = { | ||
125 | .start = 0, | ||
126 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
127 | .flags = IORESOURCE_IRQ, | ||
128 | }; | ||
129 | |||
130 | static struct platform_device bfin_gpios_device = { | ||
131 | .name = "simple-gpio", | ||
132 | .id = -1, | ||
133 | .num_resources = 1, | ||
134 | .resource = &bfin_gpios_resources, | ||
135 | }; | ||
136 | |||
137 | #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) | 102 | #if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) |
138 | static struct resource bfin_pcmcia_cf_resources[] = { | 103 | static struct resource bfin_pcmcia_cf_resources[] = { |
139 | { | 104 | { |
@@ -1078,12 +1043,6 @@ static struct platform_device bfin_fb_device = { | |||
1078 | }; | 1043 | }; |
1079 | #endif | 1044 | #endif |
1080 | 1045 | ||
1081 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
1082 | static struct platform_device bfin_fb_adv7393_device = { | ||
1083 | .name = "bfin-adv7393", | ||
1084 | }; | ||
1085 | #endif | ||
1086 | |||
1087 | #if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE) | 1046 | #if defined(CONFIG_FB_BFIN_LQ035Q1) || defined(CONFIG_FB_BFIN_LQ035Q1_MODULE) |
1088 | #include <asm/bfin-lq035q1.h> | 1047 | #include <asm/bfin-lq035q1.h> |
1089 | 1048 | ||
@@ -1498,6 +1457,11 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = { | |||
1498 | .platform_data = (void *)&adp5588_gpio_data, | 1457 | .platform_data = (void *)&adp5588_gpio_data, |
1499 | }, | 1458 | }, |
1500 | #endif | 1459 | #endif |
1460 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
1461 | { | ||
1462 | I2C_BOARD_INFO("bfin-adv7393", 0x2B), | ||
1463 | }, | ||
1464 | #endif | ||
1501 | }; | 1465 | }; |
1502 | 1466 | ||
1503 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) | 1467 | #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) |
@@ -1668,10 +1632,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
1668 | &bfin_lq035q1_device, | 1632 | &bfin_lq035q1_device, |
1669 | #endif | 1633 | #endif |
1670 | 1634 | ||
1671 | #if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) | ||
1672 | &bfin_fb_adv7393_device, | ||
1673 | #endif | ||
1674 | |||
1675 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) | 1635 | #if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) |
1676 | &bfin_uart_device, | 1636 | &bfin_uart_device, |
1677 | #endif | 1637 | #endif |
@@ -1702,8 +1662,6 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
1702 | &bfin_device_gpiokeys, | 1662 | &bfin_device_gpiokeys, |
1703 | #endif | 1663 | #endif |
1704 | 1664 | ||
1705 | &bfin_gpios_device, | ||
1706 | |||
1707 | #if defined(CONFIG_MTD_NAND_PLATFORM) || defined(CONFIG_MTD_NAND_PLATFORM_MODULE) | 1665 | #if defined(CONFIG_MTD_NAND_PLATFORM) || defined(CONFIG_MTD_NAND_PLATFORM_MODULE) |
1708 | &bfin_async_nand_device, | 1666 | &bfin_async_nand_device, |
1709 | #endif | 1667 | #endif |
diff --git a/arch/blackfin/mach-bf537/boards/tcm_bf537.c b/arch/blackfin/mach-bf537/boards/tcm_bf537.c index 61353f7bcb9e..57163b65a4f5 100644 --- a/arch/blackfin/mach-bf537/boards/tcm_bf537.c +++ b/arch/blackfin/mach-bf537/boards/tcm_bf537.c | |||
@@ -1,31 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf537/boards/tcm_bf537.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/boards/cm_bf537.c | 3 | * 2008-2009 Bluetechnix |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * 2005 National ICT Australia (NICTA) |
5 | * Aidan Williams <aidan@nicta.com.au> | ||
5 | * | 6 | * |
6 | * Created: 2005 | 7 | * Licensed under the GPL-2 or later. |
7 | * Description: Board description file | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2006 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 8 | */ |
30 | 9 | ||
31 | #include <linux/device.h> | 10 | #include <linux/device.h> |
@@ -298,19 +277,6 @@ static struct platform_device net2272_bfin_device = { | |||
298 | }; | 277 | }; |
299 | #endif | 278 | #endif |
300 | 279 | ||
301 | static struct resource bfin_gpios_resources = { | ||
302 | .start = 0, | ||
303 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
304 | .flags = IORESOURCE_IRQ, | ||
305 | }; | ||
306 | |||
307 | static struct platform_device bfin_gpios_device = { | ||
308 | .name = "simple-gpio", | ||
309 | .id = -1, | ||
310 | .num_resources = 1, | ||
311 | .resource = &bfin_gpios_resources, | ||
312 | }; | ||
313 | |||
314 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) | 280 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) |
315 | static struct mtd_partition cm_partitions[] = { | 281 | static struct mtd_partition cm_partitions[] = { |
316 | { | 282 | { |
@@ -607,8 +573,6 @@ static struct platform_device *cm_bf537_devices[] __initdata = { | |||
607 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) | 573 | #if defined(CONFIG_MTD_GPIO_ADDR) || defined(CONFIG_MTD_GPIO_ADDR_MODULE) |
608 | &cm_flash_device, | 574 | &cm_flash_device, |
609 | #endif | 575 | #endif |
610 | |||
611 | &bfin_gpios_device, | ||
612 | }; | 576 | }; |
613 | 577 | ||
614 | static int __init tcm_bf537_init(void) | 578 | static int __init tcm_bf537_init(void) |
diff --git a/arch/blackfin/mach-bf537/dma.c b/arch/blackfin/mach-bf537/dma.c index d23fc0edf2b9..5c8c4ed517bb 100644 --- a/arch/blackfin/mach-bf537/dma.c +++ b/arch/blackfin/mach-bf537/dma.c | |||
@@ -1,31 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf537/dma.c | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: This file contains the simple DMA Implementation for Blackfin | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * This file contains the simple DMA Implementation for Blackfin |
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
8 | |||
29 | #include <linux/module.h> | 9 | #include <linux/module.h> |
30 | 10 | ||
31 | #include <asm/blackfin.h> | 11 | #include <asm/blackfin.h> |
diff --git a/arch/blackfin/mach-bf537/include/mach/bf537.h b/arch/blackfin/mach-bf537/include/mach/bf537.h index f194a848ae8e..17fab4474669 100644 --- a/arch/blackfin/mach-bf537/include/mach/bf537.h +++ b/arch/blackfin/mach-bf537/include/mach/bf537.h | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf537/bf537.h | 2 | * System MMR Register and memory map for ADSP-BF537 |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2005-2008 Analog Devices Inc. |
7 | * Description: SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF537 | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #ifndef __MACH_BF537_H__ | 9 | #ifndef __MACH_BF537_H__ |
diff --git a/arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h b/arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h index e95d54f9af6c..635c91c526a3 100644 --- a/arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h +++ b/arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | 2 | * Copyright 2006-2009 Analog Devices Inc. |
3 | * based on: | ||
4 | * author: | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later |
7 | * description: | ||
8 | * blackfin serial driver header files | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #include <linux/serial.h> | 7 | #include <linux/serial.h> |
diff --git a/arch/blackfin/mach-bf537/include/mach/blackfin.h b/arch/blackfin/mach-bf537/include/mach/blackfin.h index 9ee8834c8f1a..eab006d260c5 100644 --- a/arch/blackfin/mach-bf537/include/mach/blackfin.h +++ b/arch/blackfin/mach-bf537/include/mach/blackfin.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf537/blackfin.h | 2 | * Copyright 2005-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _MACH_BLACKFIN_H_ | 7 | #ifndef _MACH_BLACKFIN_H_ |
diff --git a/arch/blackfin/mach-bf537/include/mach/cdefBF534.h b/arch/blackfin/mach-bf537/include/mach/cdefBF534.h index 5f8b5f845be6..91825c9bd226 100644 --- a/arch/blackfin/mach-bf537/include/mach/cdefBF534.h +++ b/arch/blackfin/mach-bf537/include/mach/cdefBF534.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf537/cdefbf534.h | 2 | * Copyright 2005-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: system mmr register map | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _CDEF_BF534_H | 7 | #ifndef _CDEF_BF534_H |
diff --git a/arch/blackfin/mach-bf537/include/mach/cdefBF537.h b/arch/blackfin/mach-bf537/include/mach/cdefBF537.h index b8fc949a991f..9363c3990421 100644 --- a/arch/blackfin/mach-bf537/include/mach/cdefBF537.h +++ b/arch/blackfin/mach-bf537/include/mach/cdefBF537.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf537/cdefBF537.h | 2 | * Copyright 2005-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later |
7 | * Description: | ||
8 | * System MMR Register Map | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _CDEF_BF537_H | 7 | #ifndef _CDEF_BF537_H |
diff --git a/arch/blackfin/mach-bf537/include/mach/defBF534.h b/arch/blackfin/mach-bf537/include/mach/defBF534.h index a3227f9003ff..cebb14feb1ba 100644 --- a/arch/blackfin/mach-bf537/include/mach/defBF534.h +++ b/arch/blackfin/mach-bf537/include/mach/defBF534.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf537/cdefBF537.h | 2 | * Copyright 2005-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF534_H | 7 | #ifndef _DEF_BF534_H |
diff --git a/arch/blackfin/mach-bf537/include/mach/defBF537.h b/arch/blackfin/mach-bf537/include/mach/defBF537.h index 3d6c83e31b1e..8cb5d5cf0c94 100644 --- a/arch/blackfin/mach-bf537/include/mach/defBF537.h +++ b/arch/blackfin/mach-bf537/include/mach/defBF537.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf537/defbf537.h | 2 | * Copyright 2005-2008 Analog Devices Inc. |
3 | * based on: | ||
4 | * author: | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * description: | ||
8 | * system mmr register map | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _DEF_BF537_H | 7 | #ifndef _DEF_BF537_H |
diff --git a/arch/blackfin/mach-bf537/include/mach/gpio.h b/arch/blackfin/mach-bf537/include/mach/gpio.h index d77a31e45a30..104bff85290d 100644 --- a/arch/blackfin/mach-bf537/include/mach/gpio.h +++ b/arch/blackfin/mach-bf537/include/mach/gpio.h | |||
@@ -1,7 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf537/include/mach/gpio.h | ||
3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
4 | * | ||
5 | * Copyright (C) 2008 Analog Devices Inc. | 2 | * Copyright (C) 2008 Analog Devices Inc. |
6 | * Licensed under the GPL-2 or later. | 3 | * Licensed under the GPL-2 or later. |
7 | */ | 4 | */ |
diff --git a/arch/blackfin/mach-bf537/include/mach/irq.h b/arch/blackfin/mach-bf537/include/mach/irq.h index b2a71d5d4e5f..0defa9457e7f 100644 --- a/arch/blackfin/mach-bf537/include/mach/irq.h +++ b/arch/blackfin/mach-bf537/include/mach/irq.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf537/irq.h | 2 | * Copyright 2005-2008 Analog Devices Inc. |
3 | * based on: | ||
4 | * author: | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later |
7 | * description: | ||
8 | * system mmr register map | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _BF537_IRQ_H_ | 7 | #ifndef _BF537_IRQ_H_ |
diff --git a/arch/blackfin/mach-bf537/include/mach/portmux.h b/arch/blackfin/mach-bf537/include/mach/portmux.h index 87285e75e903..da9760329e49 100644 --- a/arch/blackfin/mach-bf537/include/mach/portmux.h +++ b/arch/blackfin/mach-bf537/include/mach/portmux.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later | ||
5 | */ | ||
6 | |||
1 | #ifndef _MACH_PORTMUX_H_ | 7 | #ifndef _MACH_PORTMUX_H_ |
2 | #define _MACH_PORTMUX_H_ | 8 | #define _MACH_PORTMUX_H_ |
3 | 9 | ||
diff --git a/arch/blackfin/mach-bf537/ints-priority.c b/arch/blackfin/mach-bf537/ints-priority.c index 51c48087e03b..f6500622b35d 100644 --- a/arch/blackfin/mach-bf537/ints-priority.c +++ b/arch/blackfin/mach-bf537/ints-priority.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf537/ints-priority.c | 2 | * Copyright 2005-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/ints-priority.c | ||
4 | * Author: Michael Hennerich | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: Set up the interrupt priorities | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Set up the interrupt priorities |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/mach-bf538/boards/ezkit.c b/arch/blackfin/mach-bf538/boards/ezkit.c index f2ac3b0ebf24..14af5c2088d4 100644 --- a/arch/blackfin/mach-bf538/boards/ezkit.c +++ b/arch/blackfin/mach-bf538/boards/ezkit.c | |||
@@ -1,31 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf538/boards/ezkit.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf537/boards/ezkit.c | 3 | * 2005 National ICT Australia (NICTA) |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * Aidan Williams <aidan@nicta.com.au> |
5 | * | 5 | * |
6 | * Created: | 6 | * Licensed under the GPL-2 |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2008 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 7 | */ |
30 | 8 | ||
31 | #include <linux/device.h> | 9 | #include <linux/device.h> |
@@ -237,7 +215,6 @@ static struct flash_platform_data bfin_spi_flash_data = { | |||
237 | static struct bfin5xx_spi_chip spi_flash_chip_info = { | 215 | static struct bfin5xx_spi_chip spi_flash_chip_info = { |
238 | .enable_dma = 0, /* use dma transfer with this chip*/ | 216 | .enable_dma = 0, /* use dma transfer with this chip*/ |
239 | .bits_per_word = 8, | 217 | .bits_per_word = 8, |
240 | .cs_change_per_word = 0, | ||
241 | }; | 218 | }; |
242 | #endif | 219 | #endif |
243 | 220 | ||
@@ -506,19 +483,6 @@ static struct platform_device i2c_bfin_twi1_device = { | |||
506 | #endif | 483 | #endif |
507 | #endif | 484 | #endif |
508 | 485 | ||
509 | static struct resource bfin_gpios_resources = { | ||
510 | .start = 0, | ||
511 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
512 | .flags = IORESOURCE_IRQ, | ||
513 | }; | ||
514 | |||
515 | static struct platform_device bfin_gpios_device = { | ||
516 | .name = "simple-gpio", | ||
517 | .id = -1, | ||
518 | .num_resources = 1, | ||
519 | .resource = &bfin_gpios_resources, | ||
520 | }; | ||
521 | |||
522 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 486 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
523 | #include <linux/gpio_keys.h> | 487 | #include <linux/gpio_keys.h> |
524 | 488 | ||
@@ -658,8 +622,6 @@ static struct platform_device *cm_bf538_devices[] __initdata = { | |||
658 | &bfin_device_gpiokeys, | 622 | &bfin_device_gpiokeys, |
659 | #endif | 623 | #endif |
660 | 624 | ||
661 | &bfin_gpios_device, | ||
662 | |||
663 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 625 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
664 | &ezkit_flash_device, | 626 | &ezkit_flash_device, |
665 | #endif | 627 | #endif |
diff --git a/arch/blackfin/mach-bf538/dma.c b/arch/blackfin/mach-bf538/dma.c index d6837fbf94ea..5dc022589214 100644 --- a/arch/blackfin/mach-bf538/dma.c +++ b/arch/blackfin/mach-bf538/dma.c | |||
@@ -1,31 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf538/dma.c | 2 | * the simple DMA Implementation for Blackfin |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2008 Analog Devices Inc. |
7 | * Description: This file contains the simple DMA Implementation for Blackfin | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
8 | |||
29 | #include <linux/module.h> | 9 | #include <linux/module.h> |
30 | 10 | ||
31 | #include <asm/blackfin.h> | 11 | #include <asm/blackfin.h> |
diff --git a/arch/blackfin/mach-bf538/include/mach/bf538.h b/arch/blackfin/mach-bf538/include/mach/bf538.h index 9c8abb307908..0cf5bf8dab84 100644 --- a/arch/blackfin/mach-bf538/include/mach/bf538.h +++ b/arch/blackfin/mach-bf538/include/mach/bf538.h | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf538/bf538.h | 2 | * SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF538 |
3 | * Based on: include/asm-blackfin/mach-bf537/bf537.h | ||
4 | * Author: Michael Hennerich (michael.hennerich@analog.com) | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2008 Analog Devices Inc. |
7 | * Description: SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF527 | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #ifndef __MACH_BF538_H__ | 9 | #ifndef __MACH_BF538_H__ |
diff --git a/arch/blackfin/mach-bf538/include/mach/bfin_serial_5xx.h b/arch/blackfin/mach-bf538/include/mach/bfin_serial_5xx.h index 999f239fe1a6..5c148142f041 100644 --- a/arch/blackfin/mach-bf538/include/mach/bfin_serial_5xx.h +++ b/arch/blackfin/mach-bf538/include/mach/bfin_serial_5xx.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf538/bfin_serial_5xx.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * based on: | ||
4 | * author: | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later. |
7 | * description: | ||
8 | * blackfin serial driver header files | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #include <linux/serial.h> | 7 | #include <linux/serial.h> |
diff --git a/arch/blackfin/mach-bf538/include/mach/blackfin.h b/arch/blackfin/mach-bf538/include/mach/blackfin.h index 5ecee1690957..278e8942eef2 100644 --- a/arch/blackfin/mach-bf538/include/mach/blackfin.h +++ b/arch/blackfin/mach-bf538/include/mach/blackfin.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf538/blackfin.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _MACH_BLACKFIN_H_ | 7 | #ifndef _MACH_BLACKFIN_H_ |
diff --git a/arch/blackfin/mach-bf538/include/mach/cdefBF538.h b/arch/blackfin/mach-bf538/include/mach/cdefBF538.h index 1de67515dc9d..401ebd79d0aa 100644 --- a/arch/blackfin/mach-bf538/include/mach/cdefBF538.h +++ b/arch/blackfin/mach-bf538/include/mach/cdefBF538.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf538/cdefBF538.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF538_H | 7 | #ifndef _CDEF_BF538_H |
diff --git a/arch/blackfin/mach-bf538/include/mach/defBF539.h b/arch/blackfin/mach-bf538/include/mach/defBF539.h index 1c58914a8740..5f6c34dfd08e 100644 --- a/arch/blackfin/mach-bf538/include/mach/defBF539.h +++ b/arch/blackfin/mach-bf538/include/mach/defBF539.h | |||
@@ -1,47 +1,9 @@ | |||
1 | /************************************************************************ | ||
2 | * | ||
3 | * This file is subject to the terms and conditions of the GNU Public | ||
4 | * License. See the file "COPYING" in the main directory of this archive | ||
5 | * for more details. | ||
6 | * | ||
7 | * Non-GPL License also available as part of VisualDSP++ | ||
8 | * http://www.analog.com/processors/resources/crosscore/visualDspDevSoftware.html | ||
9 | * | ||
10 | * (c) Copyright 2001-2005 Analog Devices, Inc. All rights reserved | ||
11 | * | ||
12 | * This file under source code control, please send bugs or changes to: | ||
13 | * dsptools.support@analog.com | ||
14 | * | ||
15 | ************************************************************************/ | ||
16 | /* | 1 | /* |
17 | * File: include/asm-blackfin/mach-bf538/defBF539.h | 2 | * Copyright 2008-2009 Analog Devices Inc. |
18 | * Based on: | ||
19 | * Author: | ||
20 | * | ||
21 | * Created: | ||
22 | * Description: | ||
23 | * | 3 | * |
24 | * Rev: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
25 | * | ||
26 | * Modified: | ||
27 | * | ||
28 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
29 | * | ||
30 | * This program is free software; you can redistribute it and/or modify | ||
31 | * it under the terms of the GNU General Public License as published by | ||
32 | * the Free Software Foundation; either version 2, or (at your option) | ||
33 | * any later version. | ||
34 | * | ||
35 | * This program is distributed in the hope that it will be useful, | ||
36 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
37 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
38 | * GNU General Public License for more details. | ||
39 | * | ||
40 | * You should have received a copy of the GNU General Public License | ||
41 | * along with this program; see the file COPYING. | ||
42 | * If not, write to the Free Software Foundation, | ||
43 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
44 | */ | 5 | */ |
6 | |||
45 | /* SYSTEM & MM REGISTER BIT & ADDRESS DEFINITIONS FOR ADSP-BF538/9 */ | 7 | /* SYSTEM & MM REGISTER BIT & ADDRESS DEFINITIONS FOR ADSP-BF538/9 */ |
46 | 8 | ||
47 | #ifndef _DEF_BF539_H | 9 | #ifndef _DEF_BF539_H |
diff --git a/arch/blackfin/mach-bf538/include/mach/gpio.h b/arch/blackfin/mach-bf538/include/mach/gpio.h index 30f4f723f7cc..295c78a465c2 100644 --- a/arch/blackfin/mach-bf538/include/mach/gpio.h +++ b/arch/blackfin/mach-bf538/include/mach/gpio.h | |||
@@ -1,7 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf538/include/mach/gpio.h | ||
3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
4 | * | ||
5 | * Copyright (C) 2008 Analog Devices Inc. | 2 | * Copyright (C) 2008 Analog Devices Inc. |
6 | * Licensed under the GPL-2 or later. | 3 | * Licensed under the GPL-2 or later. |
7 | */ | 4 | */ |
diff --git a/arch/blackfin/mach-bf538/include/mach/irq.h b/arch/blackfin/mach-bf538/include/mach/irq.h index fdc87fe2c174..a4b7fcbc556b 100644 --- a/arch/blackfin/mach-bf538/include/mach/irq.h +++ b/arch/blackfin/mach-bf538/include/mach/irq.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf538/irq.h | 2 | * Copyright 2008 Analog Devices Inc. |
3 | * based on: include/asm-blackfin/mach-bf537/irq.h | ||
4 | * author: Michael Hennerich (michael.hennerich@analog.com) | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later. |
7 | * description: | ||
8 | * system mmr register map | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _BF538_IRQ_H_ | 7 | #ifndef _BF538_IRQ_H_ |
diff --git a/arch/blackfin/mach-bf538/include/mach/portmux.h b/arch/blackfin/mach-bf538/include/mach/portmux.h index c8db264e3e4d..6121cf8b5872 100644 --- a/arch/blackfin/mach-bf538/include/mach/portmux.h +++ b/arch/blackfin/mach-bf538/include/mach/portmux.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2008-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _MACH_PORTMUX_H_ | 7 | #ifndef _MACH_PORTMUX_H_ |
2 | #define _MACH_PORTMUX_H_ | 8 | #define _MACH_PORTMUX_H_ |
3 | 9 | ||
diff --git a/arch/blackfin/mach-bf538/ints-priority.c b/arch/blackfin/mach-bf538/ints-priority.c index 70d17e550e05..1fa793ced347 100644 --- a/arch/blackfin/mach-bf538/ints-priority.c +++ b/arch/blackfin/mach-bf538/ints-priority.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf538/ints-priority.c | 2 | * Set up the interrupt priorities |
3 | * Based on: arch/blackfin/mach-bf533/ints-priority.c | ||
4 | * Author: Michael Hennerich | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2008 Analog Devices Inc. |
7 | * Description: Set up the interrupt priorities | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/mach-bf548/boards/cm_bf548.c b/arch/blackfin/mach-bf548/boards/cm_bf548.c index e565aae11d72..ccdcd6da2e9f 100644 --- a/arch/blackfin/mach-bf548/boards/cm_bf548.c +++ b/arch/blackfin/mach-bf548/boards/cm_bf548.c | |||
@@ -1,31 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf548/boards/cm_bf548.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf537/boards/ezkit.c | 3 | * 2008-2009 Bluetechnix |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * 2005 National ICT Australia (NICTA) |
5 | * Aidan Williams <aidan@nicta.com.au> | ||
5 | * | 6 | * |
6 | * Created: | 7 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2008 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 8 | */ |
30 | 9 | ||
31 | #include <linux/device.h> | 10 | #include <linux/device.h> |
@@ -380,19 +359,6 @@ static struct platform_device musb_device = { | |||
380 | }; | 359 | }; |
381 | #endif | 360 | #endif |
382 | 361 | ||
383 | static struct resource bfin_gpios_resources = { | ||
384 | .start = 0, | ||
385 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
386 | .flags = IORESOURCE_IRQ, | ||
387 | }; | ||
388 | |||
389 | static struct platform_device bfin_gpios_device = { | ||
390 | .name = "simple-gpio", | ||
391 | .id = -1, | ||
392 | .num_resources = 1, | ||
393 | .resource = &bfin_gpios_resources, | ||
394 | }; | ||
395 | |||
396 | #if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE) | 362 | #if defined(CONFIG_PATA_BF54X) || defined(CONFIG_PATA_BF54X_MODULE) |
397 | static struct resource bfin_atapi_resources[] = { | 363 | static struct resource bfin_atapi_resources[] = { |
398 | { | 364 | { |
@@ -546,13 +512,11 @@ static struct flash_platform_data bfin_spi_flash_data = { | |||
546 | static struct bfin5xx_spi_chip spi_flash_chip_info = { | 512 | static struct bfin5xx_spi_chip spi_flash_chip_info = { |
547 | .enable_dma = 0, /* use dma transfer with this chip*/ | 513 | .enable_dma = 0, /* use dma transfer with this chip*/ |
548 | .bits_per_word = 8, | 514 | .bits_per_word = 8, |
549 | .cs_change_per_word = 0, | ||
550 | }; | 515 | }; |
551 | #endif | 516 | #endif |
552 | 517 | ||
553 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | 518 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) |
554 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { | 519 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { |
555 | .cs_change_per_word = 0, | ||
556 | .enable_dma = 0, | 520 | .enable_dma = 0, |
557 | .bits_per_word = 16, | 521 | .bits_per_word = 16, |
558 | }; | 522 | }; |
@@ -853,8 +817,6 @@ static struct platform_device *cm_bf548_devices[] __initdata = { | |||
853 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 817 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
854 | ¶_flash_device, | 818 | ¶_flash_device, |
855 | #endif | 819 | #endif |
856 | |||
857 | &bfin_gpios_device, | ||
858 | }; | 820 | }; |
859 | 821 | ||
860 | static int __init cm_bf548_init(void) | 822 | static int __init cm_bf548_init(void) |
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c index c66f3801274f..1a5286bbb3fa 100644 --- a/arch/blackfin/mach-bf548/boards/ezkit.c +++ b/arch/blackfin/mach-bf548/boards/ezkit.c | |||
@@ -1,31 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf548/boards/ezkit.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf537/boards/ezkit.c | 3 | * 2005 National ICT Australia (NICTA) |
4 | * Author: Aidan Williams <aidan@nicta.com.au> | 4 | * Aidan Williams <aidan@nicta.com.au> |
5 | * | 5 | * |
6 | * Created: | 6 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2005 National ICT Australia (NICTA) | ||
11 | * Copyright 2004-2007 Analog Devices Inc. | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 7 | */ |
30 | 8 | ||
31 | #include <linux/device.h> | 9 | #include <linux/device.h> |
@@ -208,7 +186,6 @@ static struct platform_device bfin_rotary_device = { | |||
208 | #endif | 186 | #endif |
209 | 187 | ||
210 | #if defined(CONFIG_INPUT_ADXL34X) || defined(CONFIG_INPUT_ADXL34X_MODULE) | 188 | #if defined(CONFIG_INPUT_ADXL34X) || defined(CONFIG_INPUT_ADXL34X_MODULE) |
211 | #include <linux/input.h> | ||
212 | #include <linux/spi/adxl34x.h> | 189 | #include <linux/spi/adxl34x.h> |
213 | static const struct adxl34x_platform_data adxl34x_info = { | 190 | static const struct adxl34x_platform_data adxl34x_info = { |
214 | .x_axis_offset = 0, | 191 | .x_axis_offset = 0, |
@@ -636,7 +613,6 @@ static struct flash_platform_data bfin_spi_flash_data = { | |||
636 | static struct bfin5xx_spi_chip spi_flash_chip_info = { | 613 | static struct bfin5xx_spi_chip spi_flash_chip_info = { |
637 | .enable_dma = 0, /* use dma transfer with this chip*/ | 614 | .enable_dma = 0, /* use dma transfer with this chip*/ |
638 | .bits_per_word = 8, | 615 | .bits_per_word = 8, |
639 | .cs_change_per_word = 0, | ||
640 | }; | 616 | }; |
641 | #endif | 617 | #endif |
642 | 618 | ||
@@ -650,7 +626,6 @@ static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | |||
650 | 626 | ||
651 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | 627 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) |
652 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { | 628 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { |
653 | .cs_change_per_word = 0, | ||
654 | .enable_dma = 0, | 629 | .enable_dma = 0, |
655 | .bits_per_word = 16, | 630 | .bits_per_word = 16, |
656 | }; | 631 | }; |
@@ -681,7 +656,6 @@ static struct bfin5xx_spi_chip spidev_chip_info = { | |||
681 | static struct bfin5xx_spi_chip spi_adxl34x_chip_info = { | 656 | static struct bfin5xx_spi_chip spi_adxl34x_chip_info = { |
682 | .enable_dma = 0, /* use dma transfer with this chip*/ | 657 | .enable_dma = 0, /* use dma transfer with this chip*/ |
683 | .bits_per_word = 8, | 658 | .bits_per_word = 8, |
684 | .cs_change_per_word = 0, | ||
685 | }; | 659 | }; |
686 | #endif | 660 | #endif |
687 | 661 | ||
@@ -908,19 +882,6 @@ static struct platform_device bfin_device_gpiokeys = { | |||
908 | }; | 882 | }; |
909 | #endif | 883 | #endif |
910 | 884 | ||
911 | static struct resource bfin_gpios_resources = { | ||
912 | .start = 0, | ||
913 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
914 | .flags = IORESOURCE_IRQ, | ||
915 | }; | ||
916 | |||
917 | static struct platform_device bfin_gpios_device = { | ||
918 | .name = "simple-gpio", | ||
919 | .id = -1, | ||
920 | .num_resources = 1, | ||
921 | .resource = &bfin_gpios_resources, | ||
922 | }; | ||
923 | |||
924 | static const unsigned int cclk_vlev_datasheet[] = | 885 | static const unsigned int cclk_vlev_datasheet[] = |
925 | { | 886 | { |
926 | /* | 887 | /* |
@@ -1028,8 +989,6 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
1028 | &bfin_device_gpiokeys, | 989 | &bfin_device_gpiokeys, |
1029 | #endif | 990 | #endif |
1030 | 991 | ||
1031 | &bfin_gpios_device, | ||
1032 | |||
1033 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 992 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
1034 | &ezkit_flash_device, | 993 | &ezkit_flash_device, |
1035 | #endif | 994 | #endif |
diff --git a/arch/blackfin/mach-bf548/dma.c b/arch/blackfin/mach-bf548/dma.c index d9239bc05dd4..039a6d9d38f3 100644 --- a/arch/blackfin/mach-bf548/dma.c +++ b/arch/blackfin/mach-bf548/dma.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf548/dma.c | 2 | * the simple DMA Implementation for Blackfin |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2007-2009 Analog Devices Inc. |
7 | * Description: This file contains the simple DMA Implementation for Blackfin | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/mach-bf548/include/mach/bf548.h b/arch/blackfin/mach-bf548/include/mach/bf548.h index cd31f72bdd82..7bead5ce0f3b 100644 --- a/arch/blackfin/mach-bf548/include/mach/bf548.h +++ b/arch/blackfin/mach-bf548/include/mach/bf548.h | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/bf548.h | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: System MMR register and memory map for ADSP-BF548 | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #ifndef __MACH_BF548_H__ | 7 | #ifndef __MACH_BF548_H__ |
diff --git a/arch/blackfin/mach-bf548/include/mach/bf54x-lq043.h b/arch/blackfin/mach-bf548/include/mach/bf54x-lq043.h index 9c7ca62a45eb..8821efe57fbc 100644 --- a/arch/blackfin/mach-bf548/include/mach/bf54x-lq043.h +++ b/arch/blackfin/mach-bf548/include/mach/bf54x-lq043.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007-2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef BF54X_LQ043_H | 7 | #ifndef BF54X_LQ043_H |
2 | #define BF54X_LQ043_H | 8 | #define BF54X_LQ043_H |
3 | 9 | ||
diff --git a/arch/blackfin/mach-bf548/include/mach/bf54x_keys.h b/arch/blackfin/mach-bf548/include/mach/bf54x_keys.h index 1fb4ec77cc25..49338ae299ab 100644 --- a/arch/blackfin/mach-bf548/include/mach/bf54x_keys.h +++ b/arch/blackfin/mach-bf548/include/mach/bf54x_keys.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007-2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _BFIN_KPAD_H | 7 | #ifndef _BFIN_KPAD_H |
2 | #define _BFIN_KPAD_H | 8 | #define _BFIN_KPAD_H |
3 | 9 | ||
diff --git a/arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h b/arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h index 2d1b5fa3cca0..dd44aa75fe72 100644 --- a/arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h +++ b/arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * based on: | ||
4 | * author: | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later. |
7 | * description: | ||
8 | * blackfin serial driver head file | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #include <linux/serial.h> | 7 | #include <linux/serial.h> |
diff --git a/arch/blackfin/mach-bf548/include/mach/blackfin.h b/arch/blackfin/mach-bf548/include/mach/blackfin.h index 318667b2f036..13302b67857a 100644 --- a/arch/blackfin/mach-bf548/include/mach/blackfin.h +++ b/arch/blackfin/mach-bf548/include/mach/blackfin.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/blackfin.h | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _MACH_BLACKFIN_H_ | 7 | #ifndef _MACH_BLACKFIN_H_ |
diff --git a/arch/blackfin/mach-bf548/include/mach/cdefBF542.h b/arch/blackfin/mach-bf548/include/mach/cdefBF542.h index 07aefb9ed79b..42f4a9469549 100644 --- a/arch/blackfin/mach-bf548/include/mach/cdefBF542.h +++ b/arch/blackfin/mach-bf548/include/mach/cdefBF542.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/cdefBF542.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF542_H | 7 | #ifndef _CDEF_BF542_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/cdefBF544.h b/arch/blackfin/mach-bf548/include/mach/cdefBF544.h index 431a69278991..2207799575ff 100644 --- a/arch/blackfin/mach-bf548/include/mach/cdefBF544.h +++ b/arch/blackfin/mach-bf548/include/mach/cdefBF544.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/cdefBF544.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF544_H | 7 | #ifndef _CDEF_BF544_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/cdefBF547.h b/arch/blackfin/mach-bf548/include/mach/cdefBF547.h index 93376e90dfc5..423421515134 100644 --- a/arch/blackfin/mach-bf548/include/mach/cdefBF547.h +++ b/arch/blackfin/mach-bf548/include/mach/cdefBF547.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/cdefBF547.h | 2 | * Copyright 2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF548_H | 7 | #ifndef _CDEF_BF548_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/cdefBF548.h b/arch/blackfin/mach-bf548/include/mach/cdefBF548.h index 9cd74384136f..df84180410c4 100644 --- a/arch/blackfin/mach-bf548/include/mach/cdefBF548.h +++ b/arch/blackfin/mach-bf548/include/mach/cdefBF548.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/cdefBF548.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF548_H | 7 | #ifndef _CDEF_BF548_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/cdefBF549.h b/arch/blackfin/mach-bf548/include/mach/cdefBF549.h index ead360b69dea..34c84c7fb256 100644 --- a/arch/blackfin/mach-bf548/include/mach/cdefBF549.h +++ b/arch/blackfin/mach-bf548/include/mach/cdefBF549.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf549/cdefBF549.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF549_H | 7 | #ifndef _CDEF_BF549_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/cdefBF54x_base.h b/arch/blackfin/mach-bf548/include/mach/cdefBF54x_base.h index 6e636c418cb0..a2e9d9849eba 100644 --- a/arch/blackfin/mach-bf548/include/mach/cdefBF54x_base.h +++ b/arch/blackfin/mach-bf548/include/mach/cdefBF54x_base.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/cdefBF54x_base.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF54X_H | 7 | #ifndef _CDEF_BF54X_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/defBF542.h b/arch/blackfin/mach-bf548/include/mach/defBF542.h index b1316541b8d6..d3bc6d1df547 100644 --- a/arch/blackfin/mach-bf548/include/mach/defBF542.h +++ b/arch/blackfin/mach-bf548/include/mach/defBF542.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/defBF542.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF542_H | 7 | #ifndef _DEF_BF542_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/defBF544.h b/arch/blackfin/mach-bf548/include/mach/defBF544.h index c2c785bdc5fc..dd414ae4ba4c 100644 --- a/arch/blackfin/mach-bf548/include/mach/defBF544.h +++ b/arch/blackfin/mach-bf548/include/mach/defBF544.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/defBF544.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF544_H | 7 | #ifndef _DEF_BF544_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/defBF547.h b/arch/blackfin/mach-bf548/include/mach/defBF547.h index 661f0d877bd1..5a9dbabe0a68 100644 --- a/arch/blackfin/mach-bf548/include/mach/defBF547.h +++ b/arch/blackfin/mach-bf548/include/mach/defBF547.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/defBF547.h | 2 | * Copyright 2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF548_H | 7 | #ifndef _DEF_BF548_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/defBF548.h b/arch/blackfin/mach-bf548/include/mach/defBF548.h index 85d4bade911d..82cd593f7391 100644 --- a/arch/blackfin/mach-bf548/include/mach/defBF548.h +++ b/arch/blackfin/mach-bf548/include/mach/defBF548.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/defBF548.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF548_H | 7 | #ifndef _DEF_BF548_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/defBF549.h b/arch/blackfin/mach-bf548/include/mach/defBF549.h index 096734541644..6fc6e39ab61b 100644 --- a/arch/blackfin/mach-bf548/include/mach/defBF549.h +++ b/arch/blackfin/mach-bf548/include/mach/defBF549.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/defBF549.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF549_H | 7 | #ifndef _DEF_BF549_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/defBF54x_base.h b/arch/blackfin/mach-bf548/include/mach/defBF54x_base.h index e022e896cb18..8590c8c78336 100644 --- a/arch/blackfin/mach-bf548/include/mach/defBF54x_base.h +++ b/arch/blackfin/mach-bf548/include/mach/defBF54x_base.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/defBF54x_base.h | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _DEF_BF54X_H | 7 | #ifndef _DEF_BF54X_H |
diff --git a/arch/blackfin/mach-bf548/include/mach/gpio.h b/arch/blackfin/mach-bf548/include/mach/gpio.h index 3a2051709787..850e39d193e3 100644 --- a/arch/blackfin/mach-bf548/include/mach/gpio.h +++ b/arch/blackfin/mach-bf548/include/mach/gpio.h | |||
@@ -1,34 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf548/gpio.h | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Based on: | 3 | * Licensed under the GPL-2 or later. |
4 | * Author: Michael Hennerich (hennerich@blackfin.uclinux.org) | ||
5 | * | ||
6 | * Created: | ||
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 4 | */ |
29 | 5 | ||
30 | |||
31 | |||
32 | #define GPIO_PA0 0 | 6 | #define GPIO_PA0 0 |
33 | #define GPIO_PA1 1 | 7 | #define GPIO_PA1 1 |
34 | #define GPIO_PA2 2 | 8 | #define GPIO_PA2 2 |
diff --git a/arch/blackfin/mach-bf548/include/mach/irq.h b/arch/blackfin/mach-bf548/include/mach/irq.h index f194625f6821..106db05684ae 100644 --- a/arch/blackfin/mach-bf548/include/mach/irq.h +++ b/arch/blackfin/mach-bf548/include/mach/irq.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf548/irq.h | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * based on: include/asm-blackfin/mach-bf537/irq.h | ||
4 | * author: Roy Huang (roy.huang@analog.com) | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later. |
7 | * description: | ||
8 | * system mmr register map | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _BF548_IRQ_H_ | 7 | #ifndef _BF548_IRQ_H_ |
diff --git a/arch/blackfin/mach-bf548/include/mach/portmux.h b/arch/blackfin/mach-bf548/include/mach/portmux.h index ce372ba0f046..89ad6a886362 100644 --- a/arch/blackfin/mach-bf548/include/mach/portmux.h +++ b/arch/blackfin/mach-bf548/include/mach/portmux.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _MACH_PORTMUX_H_ | 7 | #ifndef _MACH_PORTMUX_H_ |
2 | #define _MACH_PORTMUX_H_ | 8 | #define _MACH_PORTMUX_H_ |
3 | 9 | ||
diff --git a/arch/blackfin/mach-bf548/ints-priority.c b/arch/blackfin/mach-bf548/ints-priority.c index 9dd0fa3ac4de..48dd3a4bc4a5 100644 --- a/arch/blackfin/mach-bf548/ints-priority.c +++ b/arch/blackfin/mach-bf548/ints-priority.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf537/ints-priority.c | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/ints-priority.c | ||
4 | * Author: Michael Hennerich | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: Set up the interrupt priorities | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Set up the interrupt priorities |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/mach-bf561/atomic.S b/arch/blackfin/mach-bf561/atomic.S index 9439bc6bd01f..0261a5e751b3 100644 --- a/arch/blackfin/mach-bf561/atomic.S +++ b/arch/blackfin/mach-bf561/atomic.S | |||
@@ -1,23 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf561/atomic.S | 2 | * Copyright 2007-2008 Analog Devices Inc. |
3 | * Author: Philippe Gerum <rpm@xenomai.org> | 3 | * Philippe Gerum <rpm@xenomai.org> |
4 | * | 4 | * |
5 | * Copyright 2007 Analog Devices Inc. | 5 | * Licensed under the GPL-2 or later. |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, see the file COPYING, or write | ||
19 | * to the Free Software Foundation, Inc., | ||
20 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
21 | */ | 6 | */ |
22 | 7 | ||
23 | #include <linux/linkage.h> | 8 | #include <linux/linkage.h> |
diff --git a/arch/blackfin/mach-bf561/boards/cm_bf561.c b/arch/blackfin/mach-bf561/boards/cm_bf561.c index 6577ecfcf11e..dfc8d5b77986 100644 --- a/arch/blackfin/mach-bf561/boards/cm_bf561.c +++ b/arch/blackfin/mach-bf561/boards/cm_bf561.c | |||
@@ -1,30 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf533/boards/cm_bf561.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: arch/blackfin/mach-bf533/boards/ezkit.c | 3 | * 2008-2009 Bluetechnix |
4 | * Author: Aidan Williams <aidan@nicta.com.au> Copyright 2005 | 4 | * 2005 National ICT Australia (NICTA) |
5 | * Aidan Williams <aidan@nicta.com.au> | ||
5 | * | 6 | * |
6 | * Created: 2006 | 7 | * Licensed under the GPL-2 or later. |
7 | * Description: Board description file | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 8 | */ |
29 | 9 | ||
30 | #include <linux/device.h> | 10 | #include <linux/device.h> |
@@ -285,19 +265,6 @@ static struct platform_device net2272_bfin_device = { | |||
285 | }; | 265 | }; |
286 | #endif | 266 | #endif |
287 | 267 | ||
288 | static struct resource bfin_gpios_resources = { | ||
289 | .start = 0, | ||
290 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
291 | .flags = IORESOURCE_IRQ, | ||
292 | }; | ||
293 | |||
294 | static struct platform_device bfin_gpios_device = { | ||
295 | .name = "simple-gpio", | ||
296 | .id = -1, | ||
297 | .num_resources = 1, | ||
298 | .resource = &bfin_gpios_resources, | ||
299 | }; | ||
300 | |||
301 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) | 268 | #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) |
302 | static struct resource isp1362_hcd_resources[] = { | 269 | static struct resource isp1362_hcd_resources[] = { |
303 | { | 270 | { |
@@ -532,8 +499,6 @@ static struct platform_device *cm_bf561_devices[] __initdata = { | |||
532 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 499 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
533 | ¶_flash_device, | 500 | ¶_flash_device, |
534 | #endif | 501 | #endif |
535 | |||
536 | &bfin_gpios_device, | ||
537 | }; | 502 | }; |
538 | 503 | ||
539 | static int __init cm_bf561_init(void) | 504 | static int __init cm_bf561_init(void) |
diff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c index caed96bb957e..9e2d8cfba546 100644 --- a/arch/blackfin/mach-bf561/boards/ezkit.c +++ b/arch/blackfin/mach-bf561/boards/ezkit.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf561/ezkit.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | 3 | * 2005 National ICT Australia (NICTA) |
4 | * Author: | 4 | * Aidan Williams <aidan@nicta.com.au> |
5 | * | 5 | * |
6 | * Created: | 6 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/device.h> | 9 | #include <linux/device.h> |
@@ -387,19 +366,6 @@ static struct platform_device bfin_device_gpiokeys = { | |||
387 | }; | 366 | }; |
388 | #endif | 367 | #endif |
389 | 368 | ||
390 | static struct resource bfin_gpios_resources = { | ||
391 | .start = 0, | ||
392 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
393 | .flags = IORESOURCE_IRQ, | ||
394 | }; | ||
395 | |||
396 | static struct platform_device bfin_gpios_device = { | ||
397 | .name = "simple-gpio", | ||
398 | .id = -1, | ||
399 | .num_resources = 1, | ||
400 | .resource = &bfin_gpios_resources, | ||
401 | }; | ||
402 | |||
403 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) | 369 | #if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE) |
404 | #include <linux/i2c-gpio.h> | 370 | #include <linux/i2c-gpio.h> |
405 | 371 | ||
@@ -493,8 +459,6 @@ static struct platform_device *ezkit_devices[] __initdata = { | |||
493 | &isp1362_hcd_device, | 459 | &isp1362_hcd_device, |
494 | #endif | 460 | #endif |
495 | 461 | ||
496 | &bfin_gpios_device, | ||
497 | |||
498 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) | 462 | #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) |
499 | &ezkit_flash_device, | 463 | &ezkit_flash_device, |
500 | #endif | 464 | #endif |
diff --git a/arch/blackfin/mach-bf561/boards/tepla.c b/arch/blackfin/mach-bf561/boards/tepla.c index 6f77dbe952f5..8ba7252455e1 100644 --- a/arch/blackfin/mach-bf561/boards/tepla.c +++ b/arch/blackfin/mach-bf561/boards/tepla.c | |||
@@ -1,15 +1,13 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf561/tepla.c | 2 | * Copyright 2004-2007 Analog Devices Inc. |
3 | * 2005 National ICT Australia (NICTA) | ||
4 | * Aidan Williams <aidan@nicta.com.au> | ||
3 | * | 5 | * |
4 | * Copyright 2004-2007 Analog Devices Inc. | 6 | * Thanks to Jamey Hicks. |
5 | * Only SMSC91C1111 was registered, may do more later. | ||
6 | * | 7 | * |
7 | * Copyright 2005 National ICT Australia (NICTA), Aidan Williams <aidan@nicta.com.au> | 8 | * Only SMSC91C1111 was registered, may do more later. |
8 | * Thanks to Jamey Hicks. | ||
9 | * | 9 | * |
10 | * This program is free software; you can redistribute it and/or modify | 10 | * Licensed under the GPL-2 |
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | 11 | */ |
14 | 12 | ||
15 | #include <linux/device.h> | 13 | #include <linux/device.h> |
diff --git a/arch/blackfin/mach-bf561/coreb.c b/arch/blackfin/mach-bf561/coreb.c index 93635a766f9c..1e60a92dd602 100644 --- a/arch/blackfin/mach-bf561/coreb.c +++ b/arch/blackfin/mach-bf561/coreb.c | |||
@@ -48,7 +48,7 @@ coreb_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned l | |||
48 | return ret; | 48 | return ret; |
49 | } | 49 | } |
50 | 50 | ||
51 | static struct file_operations coreb_fops = { | 51 | static const struct file_operations coreb_fops = { |
52 | .owner = THIS_MODULE, | 52 | .owner = THIS_MODULE, |
53 | .ioctl = coreb_ioctl, | 53 | .ioctl = coreb_ioctl, |
54 | }; | 54 | }; |
diff --git a/arch/blackfin/mach-bf561/dma.c b/arch/blackfin/mach-bf561/dma.c index 42b0037afe61..c938c3c7355d 100644 --- a/arch/blackfin/mach-bf561/dma.c +++ b/arch/blackfin/mach-bf561/dma.c | |||
@@ -1,31 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf561/dma.c | 2 | * the simple DMA Implementation for Blackfin |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2007-2008 Analog Devices Inc. |
7 | * Description: This file contains the simple DMA Implementation for Blackfin | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
8 | |||
29 | #include <linux/module.h> | 9 | #include <linux/module.h> |
30 | 10 | ||
31 | #include <asm/blackfin.h> | 11 | #include <asm/blackfin.h> |
diff --git a/arch/blackfin/mach-bf561/include/mach/bf561.h b/arch/blackfin/mach-bf561/include/mach/bf561.h index 9968362a2ee4..9f9a367e6a24 100644 --- a/arch/blackfin/mach-bf561/include/mach/bf561.h +++ b/arch/blackfin/mach-bf561/include/mach/bf561.h | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf561/bf561.h | 2 | * SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF561 |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2005-2008 Analog Devices Inc. |
7 | * Description: SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF561 | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #ifndef __MACH_BF561_H__ | 9 | #ifndef __MACH_BF561_H__ |
diff --git a/arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h b/arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h index fd5e8878b8c4..e33e158bc16d 100644 --- a/arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h +++ b/arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h | |||
@@ -1,32 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * file: include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | 2 | * Copyright 2006-2009 Analog Devices Inc. |
3 | * based on: | ||
4 | * author: | ||
5 | * | 3 | * |
6 | * created: | 4 | * Licensed under the GPL-2 or later. |
7 | * description: | ||
8 | * blackfin serial driver head file | ||
9 | * rev: | ||
10 | * | ||
11 | * modified: | ||
12 | * | ||
13 | * | ||
14 | * bugs: enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * this program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the gnu general public license as published by | ||
18 | * the free software foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * this program is distributed in the hope that it will be useful, | ||
22 | * but without any warranty; without even the implied warranty of | ||
23 | * merchantability or fitness for a particular purpose. see the | ||
24 | * gnu general public license for more details. | ||
25 | * | ||
26 | * you should have received a copy of the gnu general public license | ||
27 | * along with this program; see the file copying. | ||
28 | * if not, write to the free software foundation, | ||
29 | * 59 temple place - suite 330, boston, ma 02111-1307, usa. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #include <linux/serial.h> | 7 | #include <linux/serial.h> |
diff --git a/arch/blackfin/mach-bf561/include/mach/blackfin.h b/arch/blackfin/mach-bf561/include/mach/blackfin.h index 8be31358ef88..67d6bdcd3fa8 100644 --- a/arch/blackfin/mach-bf561/include/mach/blackfin.h +++ b/arch/blackfin/mach-bf561/include/mach/blackfin.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf561/blackfin.h | 2 | * Copyright 2005-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _MACH_BLACKFIN_H_ | 7 | #ifndef _MACH_BLACKFIN_H_ |
diff --git a/arch/blackfin/mach-bf561/include/mach/cdefBF561.h b/arch/blackfin/mach-bf561/include/mach/cdefBF561.h index 9d9858c2be68..81ecdb71c6af 100644 --- a/arch/blackfin/mach-bf561/include/mach/cdefBF561.h +++ b/arch/blackfin/mach-bf561/include/mach/cdefBF561.h | |||
@@ -1,31 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: include/asm-blackfin/mach-bf561/cdefBF561.h | 2 | * Copyright 2005-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: C POINTERS TO SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF561 | ||
8 | * | ||
9 | * Rev: | ||
10 | * | ||
11 | * Modified: | ||
12 | * | ||
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2, or (at your option) | ||
18 | * any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License | ||
26 | * along with this program; see the file COPYING. | ||
27 | * If not, write to the Free Software Foundation, | ||
28 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
29 | */ | 5 | */ |
30 | 6 | ||
31 | #ifndef _CDEF_BF561_H | 7 | #ifndef _CDEF_BF561_H |
diff --git a/arch/blackfin/mach-bf561/include/mach/defBF561.h b/arch/blackfin/mach-bf561/include/mach/defBF561.h index 5fc0f05026e0..a31e509553fb 100644 --- a/arch/blackfin/mach-bf561/include/mach/defBF561.h +++ b/arch/blackfin/mach-bf561/include/mach/defBF561.h | |||
@@ -1,32 +1,7 @@ | |||
1 | |||
2 | /* | 1 | /* |
3 | * File: include/asm-blackfin/mach-bf561/defBF561.h | 2 | * Copyright 2005-2009 Analog Devices Inc. |
4 | * Based on: | ||
5 | * Author: | ||
6 | * | ||
7 | * Created: | ||
8 | * Description: | ||
9 | * SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF561 | ||
10 | * Rev: | ||
11 | * | ||
12 | * Modified: | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | 3 | * |
26 | * You should have received a copy of the GNU General Public License | 4 | * Licensed under the ADI BSD license or the GPL-2 (or later) |
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _DEF_BF561_H | 7 | #ifndef _DEF_BF561_H |
diff --git a/arch/blackfin/mach-bf561/include/mach/gpio.h b/arch/blackfin/mach-bf561/include/mach/gpio.h index 7882f79e1ade..a651a8cf805f 100644 --- a/arch/blackfin/mach-bf561/include/mach/gpio.h +++ b/arch/blackfin/mach-bf561/include/mach/gpio.h | |||
@@ -1,7 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf561/include/mach/gpio.h | ||
3 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
4 | * | ||
5 | * Copyright (C) 2008 Analog Devices Inc. | 2 | * Copyright (C) 2008 Analog Devices Inc. |
6 | * Licensed under the GPL-2 or later. | 3 | * Licensed under the GPL-2 or later. |
7 | */ | 4 | */ |
diff --git a/arch/blackfin/mach-bf561/include/mach/irq.h b/arch/blackfin/mach-bf561/include/mach/irq.h index 6698389c5564..7b208db267bf 100644 --- a/arch/blackfin/mach-bf561/include/mach/irq.h +++ b/arch/blackfin/mach-bf561/include/mach/irq.h | |||
@@ -1,32 +1,7 @@ | |||
1 | |||
2 | /* | 1 | /* |
3 | * File: include/asm-blackfin/mach-bf561/irq.h | 2 | * Copyright 2005-2008 Analog Devices Inc. |
4 | * Based on: | ||
5 | * Author: | ||
6 | * | ||
7 | * Created: | ||
8 | * Description: | ||
9 | * | ||
10 | * Rev: | ||
11 | * | ||
12 | * Modified: | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2, or (at your option) | ||
19 | * any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | 3 | * |
26 | * You should have received a copy of the GNU General Public License | 4 | * Licensed under the GPL-2 or later. |
27 | * along with this program; see the file COPYING. | ||
28 | * If not, write to the Free Software Foundation, | ||
29 | * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
30 | */ | 5 | */ |
31 | 6 | ||
32 | #ifndef _BF561_IRQ_H_ | 7 | #ifndef _BF561_IRQ_H_ |
diff --git a/arch/blackfin/mach-bf561/include/mach/portmux.h b/arch/blackfin/mach-bf561/include/mach/portmux.h index 2e5ad6347dea..3a7b46bbe849 100644 --- a/arch/blackfin/mach-bf561/include/mach/portmux.h +++ b/arch/blackfin/mach-bf561/include/mach/portmux.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007-2009 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _MACH_PORTMUX_H_ | 7 | #ifndef _MACH_PORTMUX_H_ |
2 | #define _MACH_PORTMUX_H_ | 8 | #define _MACH_PORTMUX_H_ |
3 | 9 | ||
diff --git a/arch/blackfin/mach-bf561/include/mach/smp.h b/arch/blackfin/mach-bf561/include/mach/smp.h index f9e65ebe81b2..390c7f4ae7b3 100644 --- a/arch/blackfin/mach-bf561/include/mach/smp.h +++ b/arch/blackfin/mach-bf561/include/mach/smp.h | |||
@@ -1,3 +1,9 @@ | |||
1 | /* | ||
2 | * Copyright 2007-2008 Analog Devices Inc. | ||
3 | * | ||
4 | * Licensed under the GPL-2 or later. | ||
5 | */ | ||
6 | |||
1 | #ifndef _MACH_BF561_SMP | 7 | #ifndef _MACH_BF561_SMP |
2 | #define _MACH_BF561_SMP | 8 | #define _MACH_BF561_SMP |
3 | 9 | ||
diff --git a/arch/blackfin/mach-bf561/ints-priority.c b/arch/blackfin/mach-bf561/ints-priority.c index 9d2f23344720..b4424172ad9e 100644 --- a/arch/blackfin/mach-bf561/ints-priority.c +++ b/arch/blackfin/mach-bf561/ints-priority.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf561/ints-priority.c | 2 | * Set up the interrupt priorities |
3 | * Based on: arch/blackfin/mach-bf537/ints-priority.c | ||
4 | * Author: Michael Hennerich | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2005-2009 Analog Devices Inc. |
7 | * Description: Set up the interrupt priorities | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/mach-bf561/secondary.S b/arch/blackfin/mach-bf561/secondary.S index f72a6af20c4f..8e6050369c06 100644 --- a/arch/blackfin/mach-bf561/secondary.S +++ b/arch/blackfin/mach-bf561/secondary.S | |||
@@ -1,26 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf561/secondary.S | 2 | * BF561 coreB bootstrap file |
3 | * Based on: arch/blackfin/mach-bf561/head.S | ||
4 | * Author: Philippe Gerum <rpm@xenomai.org> | ||
5 | * | 3 | * |
6 | * Copyright 2007 Analog Devices Inc. | 4 | * Copyright 2007-2009 Analog Devices Inc. |
5 | * Philippe Gerum <rpm@xenomai.org> | ||
7 | * | 6 | * |
8 | * Description: BF561 coreB bootstrap file | 7 | * Licensed under the GPL-2 or later. |
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, see the file COPYING, or write | ||
22 | * to the Free Software Foundation, Inc., | ||
23 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
24 | */ | 8 | */ |
25 | 9 | ||
26 | #include <linux/linkage.h> | 10 | #include <linux/linkage.h> |
diff --git a/arch/blackfin/mach-bf561/smp.c b/arch/blackfin/mach-bf561/smp.c index 8c10701c251f..510f57641495 100644 --- a/arch/blackfin/mach-bf561/smp.c +++ b/arch/blackfin/mach-bf561/smp.c | |||
@@ -1,23 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-bf561/smp.c | 2 | * Copyright 2007-2009 Analog Devices Inc. |
3 | * Author: Philippe Gerum <rpm@xenomai.org> | 3 | * Philippe Gerum <rpm@xenomai.org> |
4 | * | 4 | * |
5 | * Copyright 2007 Analog Devices Inc. | 5 | * Licensed under the GPL-2 or later. |
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, see the file COPYING, or write | ||
19 | * to the Free Software Foundation, Inc., | ||
20 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
21 | */ | 6 | */ |
22 | 7 | ||
23 | #include <linux/init.h> | 8 | #include <linux/init.h> |
diff --git a/arch/blackfin/mach-common/arch_checks.c b/arch/blackfin/mach-common/arch_checks.c index 5998d8632a73..9dbafcdcf479 100644 --- a/arch/blackfin/mach-common/arch_checks.c +++ b/arch/blackfin/mach-common/arch_checks.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-common/arch_checks.c | 2 | * Do some checking to make sure things are OK |
3 | * Based on: | ||
4 | * Author: Robin Getz <rgetz@blackfin.uclinux.org> | ||
5 | * | 3 | * |
6 | * Created: 25Jul07 | 4 | * Copyright 2007-2009 Analog Devices Inc. |
7 | * Description: Do some checking to make sure things are OK | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <asm/fixed_code.h> | 9 | #include <asm/fixed_code.h> |
diff --git a/arch/blackfin/mach-common/cache-c.c b/arch/blackfin/mach-common/cache-c.c index 4ebbd78db3a4..a60a24f5035d 100644 --- a/arch/blackfin/mach-common/cache-c.c +++ b/arch/blackfin/mach-common/cache-c.c | |||
@@ -3,8 +3,6 @@ | |||
3 | * | 3 | * |
4 | * Copyright 2004-2009 Analog Devices Inc. | 4 | * Copyright 2004-2009 Analog Devices Inc. |
5 | * | 5 | * |
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | ||
8 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
9 | */ | 7 | */ |
10 | 8 | ||
diff --git a/arch/blackfin/mach-common/cache.S b/arch/blackfin/mach-common/cache.S index d9666fe6c3d6..ea540318a228 100644 --- a/arch/blackfin/mach-common/cache.S +++ b/arch/blackfin/mach-common/cache.S | |||
@@ -3,8 +3,6 @@ | |||
3 | * | 3 | * |
4 | * Copyright 2004-2008 Analog Devices Inc. | 4 | * Copyright 2004-2008 Analog Devices Inc. |
5 | * | 5 | * |
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | ||
8 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
9 | */ | 7 | */ |
10 | 8 | ||
diff --git a/arch/blackfin/mach-common/cpufreq.c b/arch/blackfin/mach-common/cpufreq.c index 85c658083279..01506504e6d0 100644 --- a/arch/blackfin/mach-common/cpufreq.c +++ b/arch/blackfin/mach-common/cpufreq.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-common/cpufreq.c | 2 | * Blackfin core clock scaling |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2008-2009 Analog Devices Inc. |
7 | * Description: Blackfin core clock scaling | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S index 1e7cac23e25f..94a0375cbdcf 100644 --- a/arch/blackfin/mach-common/entry.S +++ b/arch/blackfin/mach-common/entry.S | |||
@@ -1,32 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-common/entry.S | 2 | * Contains the system-call and fault low-level handling routines. |
3 | * Based on: | 3 | * This also contains the timer-interrupt handler, as well as all |
4 | * Author: Linus Torvalds | 4 | * interrupts and faults that can result in a task-switch. |
5 | * | 5 | * |
6 | * Created: ? | 6 | * Copyright 2005-2009 Analog Devices Inc. |
7 | * Description: contains the system-call and fault low-level handling routines. | ||
8 | * This also contains the timer-interrupt handler, as well as all | ||
9 | * interrupts and faults that can result in a task-switch. | ||
10 | * | 7 | * |
11 | * Modified: | 8 | * Licensed under the GPL-2 or later. |
12 | * Copyright 2004-2006 Analog Devices Inc. | ||
13 | * | ||
14 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
15 | * | ||
16 | * This program is free software; you can redistribute it and/or modify | ||
17 | * it under the terms of the GNU General Public License as published by | ||
18 | * the Free Software Foundation; either version 2 of the License, or | ||
19 | * (at your option) any later version. | ||
20 | * | ||
21 | * This program is distributed in the hope that it will be useful, | ||
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
24 | * GNU General Public License for more details. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License | ||
27 | * along with this program; if not, see the file COPYING, or write | ||
28 | * to the Free Software Foundation, Inc., | ||
29 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
30 | */ | 9 | */ |
31 | 10 | ||
32 | /* NOTE: This code handles signal-recognition, which happens every time | 11 | /* NOTE: This code handles signal-recognition, which happens every time |
diff --git a/arch/blackfin/mach-common/head.S b/arch/blackfin/mach-common/head.S index 9c79dfea2a53..cab0a0031eee 100644 --- a/arch/blackfin/mach-common/head.S +++ b/arch/blackfin/mach-common/head.S | |||
@@ -3,8 +3,6 @@ | |||
3 | * | 3 | * |
4 | * Copyright 2004-2008 Analog Devices Inc. | 4 | * Copyright 2004-2008 Analog Devices Inc. |
5 | * | 5 | * |
6 | * Enter bugs at http://blackfin.uclinux.org/ | ||
7 | * | ||
8 | * Licensed under the GPL-2 or later. | 6 | * Licensed under the GPL-2 or later. |
9 | */ | 7 | */ |
10 | 8 | ||
diff --git a/arch/blackfin/mach-common/interrupt.S b/arch/blackfin/mach-common/interrupt.S index 82d417ef4b5b..8085ff1cce00 100644 --- a/arch/blackfin/mach-common/interrupt.S +++ b/arch/blackfin/mach-common/interrupt.S | |||
@@ -1,31 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-common/interrupt.S | 2 | * Interrupt Entries |
3 | * Based on: | ||
4 | * Author: D. Jeff Dionne <jeff@ryeham.ee.ryerson.ca> | ||
5 | * Kenneth Albanowski <kjahds@kjahds.com> | ||
6 | * | ||
7 | * Created: ? | ||
8 | * Description: Interrupt Entries | ||
9 | * | ||
10 | * Modified: | ||
11 | * Copyright 2004-2006 Analog Devices Inc. | ||
12 | * | 3 | * |
13 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 4 | * Copyright 2005-2009 Analog Devices Inc. |
14 | * | 5 | * D. Jeff Dionne <jeff@ryeham.ee.ryerson.ca> |
15 | * This program is free software; you can redistribute it and/or modify | 6 | * Kenneth Albanowski <kjahds@kjahds.com> |
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * This program is distributed in the hope that it will be useful, | ||
21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
23 | * GNU General Public License for more details. | ||
24 | * | 7 | * |
25 | * You should have received a copy of the GNU General Public License | 8 | * Licensed under the GPL-2 or later. |
26 | * along with this program; if not, see the file COPYING, or write | ||
27 | * to the Free Software Foundation, Inc., | ||
28 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
29 | */ | 9 | */ |
30 | 10 | ||
31 | #include <asm/blackfin.h> | 11 | #include <asm/blackfin.h> |
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c index 6ffda78aaf9d..660ea1bec54c 100644 --- a/arch/blackfin/mach-common/ints-priority.c +++ b/arch/blackfin/mach-common/ints-priority.c | |||
@@ -1,33 +1,14 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-common/ints-priority.c | 2 | * Set up the interrupt priorities |
3 | * | 3 | * |
4 | * Description: Set up the interrupt priorities | 4 | * Copyright 2004-2009 Analog Devices Inc. |
5 | * 2003 Bas Vermeulen <bas@buyways.nl> | ||
6 | * 2002 Arcturus Networks Inc. MaTed <mated@sympatico.ca> | ||
7 | * 2000-2001 Lineo, Inc. D. Jefff Dionne <jeff@lineo.ca> | ||
8 | * 1999 D. Jeff Dionne <jeff@uclinux.org> | ||
9 | * 1996 Roman Zippel | ||
5 | * | 10 | * |
6 | * Modified: | 11 | * Licensed under the GPL-2 |
7 | * 1996 Roman Zippel | ||
8 | * 1999 D. Jeff Dionne <jeff@uclinux.org> | ||
9 | * 2000-2001 Lineo, Inc. D. Jefff Dionne <jeff@lineo.ca> | ||
10 | * 2002 Arcturus Networks Inc. MaTed <mated@sympatico.ca> | ||
11 | * 2003 Metrowerks/Motorola | ||
12 | * 2003 Bas Vermeulen <bas@buyways.nl> | ||
13 | * Copyright 2004-2008 Analog Devices Inc. | ||
14 | * | ||
15 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
16 | * | ||
17 | * This program is free software; you can redistribute it and/or modify | ||
18 | * it under the terms of the GNU General Public License as published by | ||
19 | * the Free Software Foundation; either version 2 of the License, or | ||
20 | * (at your option) any later version. | ||
21 | * | ||
22 | * This program is distributed in the hope that it will be useful, | ||
23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
25 | * GNU General Public License for more details. | ||
26 | * | ||
27 | * You should have received a copy of the GNU General Public License | ||
28 | * along with this program; if not, see the file COPYING, or write | ||
29 | * to the Free Software Foundation, Inc., | ||
30 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
31 | */ | 12 | */ |
32 | 13 | ||
33 | #include <linux/module.h> | 14 | #include <linux/module.h> |
diff --git a/arch/blackfin/mach-common/irqpanic.c b/arch/blackfin/mach-common/irqpanic.c index 883e3241b17e..c6496249e2bc 100644 --- a/arch/blackfin/mach-common/irqpanic.c +++ b/arch/blackfin/mach-common/irqpanic.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-common/irqpanic.c | 2 | * panic kernel with dump information |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: ? | 4 | * Copyright 2005-2009 Analog Devices Inc. |
7 | * Description: panic kernel with dump information | ||
8 | * | 5 | * |
9 | * Modified: rgetz - added cache checking code 14Feb06 | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/blackfin/mach-common/pm.c b/arch/blackfin/mach-common/pm.c index 0e3d4ff9d8b6..8837be4edb4a 100644 --- a/arch/blackfin/mach-common/pm.c +++ b/arch/blackfin/mach-common/pm.c | |||
@@ -1,35 +1,11 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mach-common/pm.c | 2 | * Blackfin power management |
3 | * Based on: arm/mach-omap/pm.c | ||
4 | * Author: Cliff Brake <cbrake@accelent.com> Copyright (c) 2001 | ||
5 | * | 3 | * |
6 | * Created: 2001 | 4 | * Copyright 2006-2009 Analog Devices Inc. |
7 | * Description: Blackfin power management | ||
8 | * | 5 | * |
9 | * Modified: Nicolas Pitre - PXA250 support | 6 | * Licensed under the GPL-2 |
10 | * Copyright (c) 2002 Monta Vista Software, Inc. | 7 | * based on arm/mach-omap/pm.c |
11 | * David Singleton - OMAP1510 | 8 | * Copyright 2001, Cliff Brake <cbrake@accelent.com> and others |
12 | * Copyright (c) 2002 Monta Vista Software, Inc. | ||
13 | * Dirk Behme <dirk.behme@de.bosch.com> - OMAP1510/1610 | ||
14 | * Copyright 2004 | ||
15 | * Copyright 2004-2008 Analog Devices Inc. | ||
16 | * | ||
17 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
18 | * | ||
19 | * This program is free software; you can redistribute it and/or modify | ||
20 | * it under the terms of the GNU General Public License as published by | ||
21 | * the Free Software Foundation; either version 2 of the License, or | ||
22 | * (at your option) any later version. | ||
23 | * | ||
24 | * This program is distributed in the hope that it will be useful, | ||
25 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
26 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
27 | * GNU General Public License for more details. | ||
28 | * | ||
29 | * You should have received a copy of the GNU General Public License | ||
30 | * along with this program; if not, see the file COPYING, or write | ||
31 | * to the Free Software Foundation, Inc., | ||
32 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
33 | */ | 9 | */ |
34 | 10 | ||
35 | #include <linux/suspend.h> | 11 | #include <linux/suspend.h> |
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c index 349ee3f5466a..d98585f3237d 100644 --- a/arch/blackfin/mach-common/smp.c +++ b/arch/blackfin/mach-common/smp.c | |||
@@ -1,24 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/kernel/smp.c | 2 | * IPI management based on arch/arm/kernel/smp.c (Copyright 2002 ARM Limited) |
3 | * Author: Philippe Gerum <rpm@xenomai.org> | ||
4 | * IPI management based on arch/arm/kernel/smp.c. | ||
5 | * | 3 | * |
6 | * Copyright 2007 Analog Devices Inc. | 4 | * Copyright 2007-2009 Analog Devices Inc. |
5 | * Philippe Gerum <rpm@xenomai.org> | ||
7 | * | 6 | * |
8 | * This program is free software; you can redistribute it and/or modify | 7 | * Licensed under the GPL-2. |
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, see the file COPYING, or write | ||
20 | * to the Free Software Foundation, Inc., | ||
21 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
22 | */ | 8 | */ |
23 | 9 | ||
24 | #include <linux/module.h> | 10 | #include <linux/module.h> |
diff --git a/arch/blackfin/mm/blackfin_sram.h b/arch/blackfin/mm/blackfin_sram.h index bc0062884fde..fb0b1599cfb7 100644 --- a/arch/blackfin/mm/blackfin_sram.h +++ b/arch/blackfin/mm/blackfin_sram.h | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mm/blackfin_sram.h | 2 | * Local prototypes meant for internal use only |
3 | * Based on: arch/blackfin/mm/blackfin_sram.c | ||
4 | * Author: Mike Frysinger | ||
5 | * | 3 | * |
6 | * Created: Aug 2006 | 4 | * Copyright 2006-2009 Analog Devices Inc. |
7 | * Description: Local prototypes meant for internal use only | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2006 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #ifndef __BLACKFIN_SRAM_H__ | 9 | #ifndef __BLACKFIN_SRAM_H__ |
diff --git a/arch/blackfin/mm/init.c b/arch/blackfin/mm/init.c index b88ce7fda548..bb9c98f9cb5b 100644 --- a/arch/blackfin/mm/init.c +++ b/arch/blackfin/mm/init.c | |||
@@ -1,30 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mm/init.c | 2 | * Copyright 2004-2009 Analog Devices Inc. |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Licensed under the GPL-2 or later. |
7 | * Description: | ||
8 | * | ||
9 | * Modified: | ||
10 | * Copyright 2004-2007 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 5 | */ |
29 | 6 | ||
30 | #include <linux/swap.h> | 7 | #include <linux/swap.h> |
diff --git a/arch/blackfin/mm/isram-driver.c b/arch/blackfin/mm/isram-driver.c index beb1a608824c..84cdc5a1c139 100644 --- a/arch/blackfin/mm/isram-driver.c +++ b/arch/blackfin/mm/isram-driver.c | |||
@@ -1,19 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * Description: Instruction SRAM accessor functions for the Blackfin | 2 | * Instruction SRAM accessor functions for the Blackfin |
3 | * | 3 | * |
4 | * Copyright 2008 Analog Devices Inc. | 4 | * Copyright 2008 Analog Devices Inc. |
5 | * | 5 | * |
6 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | 6 | * Licensed under the GPL-2 or later |
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program; if not, see the file COPYING, or write | ||
15 | * to the Free Software Foundation, Inc., | ||
16 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
17 | */ | 7 | */ |
18 | 8 | ||
19 | #define pr_fmt(fmt) "isram: " fmt | 9 | #define pr_fmt(fmt) "isram: " fmt |
diff --git a/arch/blackfin/mm/sram-alloc.c b/arch/blackfin/mm/sram-alloc.c index eb63ab353e5a..f068c11ea98f 100644 --- a/arch/blackfin/mm/sram-alloc.c +++ b/arch/blackfin/mm/sram-alloc.c | |||
@@ -1,30 +1,9 @@ | |||
1 | /* | 1 | /* |
2 | * File: arch/blackfin/mm/sram-alloc.c | 2 | * SRAM allocator for Blackfin on-chip memory |
3 | * Based on: | ||
4 | * Author: | ||
5 | * | 3 | * |
6 | * Created: | 4 | * Copyright 2004-2009 Analog Devices Inc. |
7 | * Description: SRAM allocator for Blackfin L1 and L2 memory | ||
8 | * | 5 | * |
9 | * Modified: | 6 | * Licensed under the GPL-2 or later. |
10 | * Copyright 2004-2008 Analog Devices Inc. | ||
11 | * | ||
12 | * Bugs: Enter bugs at http://blackfin.uclinux.org/ | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License as published by | ||
16 | * the Free Software Foundation; either version 2 of the License, or | ||
17 | * (at your option) any later version. | ||
18 | * | ||
19 | * This program is distributed in the hope that it will be useful, | ||
20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
22 | * GNU General Public License for more details. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License | ||
25 | * along with this program; if not, see the file COPYING, or write | ||
26 | * to the Free Software Foundation, Inc., | ||
27 | * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
28 | */ | 7 | */ |
29 | 8 | ||
30 | #include <linux/module.h> | 9 | #include <linux/module.h> |
diff --git a/arch/cris/arch-v10/drivers/sync_serial.c b/arch/cris/arch-v10/drivers/sync_serial.c index 6cc1a0319a5d..562b9a7feae7 100644 --- a/arch/cris/arch-v10/drivers/sync_serial.c +++ b/arch/cris/arch-v10/drivers/sync_serial.c | |||
@@ -244,7 +244,7 @@ static unsigned sync_serial_prescale_shadow; | |||
244 | 244 | ||
245 | #define NUMBER_OF_PORTS 2 | 245 | #define NUMBER_OF_PORTS 2 |
246 | 246 | ||
247 | static struct file_operations sync_serial_fops = { | 247 | static const struct file_operations sync_serial_fops = { |
248 | .owner = THIS_MODULE, | 248 | .owner = THIS_MODULE, |
249 | .write = sync_serial_write, | 249 | .write = sync_serial_write, |
250 | .read = sync_serial_read, | 250 | .read = sync_serial_read, |
diff --git a/arch/cris/arch-v32/drivers/mach-fs/gpio.c b/arch/cris/arch-v32/drivers/mach-fs/gpio.c index fe1fde893887..d89ab80498ed 100644 --- a/arch/cris/arch-v32/drivers/mach-fs/gpio.c +++ b/arch/cris/arch-v32/drivers/mach-fs/gpio.c | |||
@@ -855,7 +855,7 @@ gpio_leds_ioctl(unsigned int cmd, unsigned long arg) | |||
855 | return 0; | 855 | return 0; |
856 | } | 856 | } |
857 | 857 | ||
858 | struct file_operations gpio_fops = { | 858 | static const struct file_operations gpio_fops = { |
859 | .owner = THIS_MODULE, | 859 | .owner = THIS_MODULE, |
860 | .poll = gpio_poll, | 860 | .poll = gpio_poll, |
861 | .ioctl = gpio_ioctl, | 861 | .ioctl = gpio_ioctl, |
diff --git a/arch/m32r/include/asm/io.h b/arch/m32r/include/asm/io.h index d06933bd6318..4010f1fc5b65 100644 --- a/arch/m32r/include/asm/io.h +++ b/arch/m32r/include/asm/io.h | |||
@@ -162,6 +162,13 @@ static inline void _writel(unsigned long l, unsigned long addr) | |||
162 | #define __raw_writew writew | 162 | #define __raw_writew writew |
163 | #define __raw_writel writel | 163 | #define __raw_writel writel |
164 | 164 | ||
165 | #define ioread8 read | ||
166 | #define ioread16 readw | ||
167 | #define ioread32 readl | ||
168 | #define iowrite8 writeb | ||
169 | #define iowrite16 writew | ||
170 | #define iowrite32 writel | ||
171 | |||
165 | #define mmiowb() | 172 | #define mmiowb() |
166 | 173 | ||
167 | #define flush_write_buffers() do { } while (0) /* M32R_FIXME */ | 174 | #define flush_write_buffers() do { } while (0) /* M32R_FIXME */ |
diff --git a/arch/m32r/kernel/m32r_ksyms.c b/arch/m32r/kernel/m32r_ksyms.c index 22624b51d4d3..700570747a90 100644 --- a/arch/m32r/kernel/m32r_ksyms.c +++ b/arch/m32r/kernel/m32r_ksyms.c | |||
@@ -23,12 +23,6 @@ EXPORT_SYMBOL(__ioremap); | |||
23 | EXPORT_SYMBOL(iounmap); | 23 | EXPORT_SYMBOL(iounmap); |
24 | EXPORT_SYMBOL(kernel_thread); | 24 | EXPORT_SYMBOL(kernel_thread); |
25 | 25 | ||
26 | /* Networking helper routines. */ | ||
27 | /* Delay loops */ | ||
28 | EXPORT_SYMBOL(__udelay); | ||
29 | EXPORT_SYMBOL(__delay); | ||
30 | EXPORT_SYMBOL(__const_udelay); | ||
31 | |||
32 | EXPORT_SYMBOL(strncpy_from_user); | 26 | EXPORT_SYMBOL(strncpy_from_user); |
33 | EXPORT_SYMBOL(__strncpy_from_user); | 27 | EXPORT_SYMBOL(__strncpy_from_user); |
34 | EXPORT_SYMBOL(clear_user); | 28 | EXPORT_SYMBOL(clear_user); |
diff --git a/arch/m32r/kernel/smp.c b/arch/m32r/kernel/smp.c index 1b7598e6f6e8..8a88f1f0a3e2 100644 --- a/arch/m32r/kernel/smp.c +++ b/arch/m32r/kernel/smp.c | |||
@@ -17,6 +17,7 @@ | |||
17 | 17 | ||
18 | #include <linux/irq.h> | 18 | #include <linux/irq.h> |
19 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
20 | #include <linux/sched.h> | ||
20 | #include <linux/spinlock.h> | 21 | #include <linux/spinlock.h> |
21 | #include <linux/mm.h> | 22 | #include <linux/mm.h> |
22 | #include <linux/smp.h> | 23 | #include <linux/smp.h> |
diff --git a/arch/m32r/kernel/time.c b/arch/m32r/kernel/time.c index ba61c4c73202..e7fee0f198d5 100644 --- a/arch/m32r/kernel/time.c +++ b/arch/m32r/kernel/time.c | |||
@@ -33,6 +33,15 @@ | |||
33 | 33 | ||
34 | #include <asm/hw_irq.h> | 34 | #include <asm/hw_irq.h> |
35 | 35 | ||
36 | #if defined(CONFIG_RTC_DRV_CMOS) || defined(CONFIG_RTC_DRV_CMOS_MODULE) | ||
37 | /* this needs a better home */ | ||
38 | DEFINE_SPINLOCK(rtc_lock); | ||
39 | |||
40 | #ifdef CONFIG_RTC_DRV_CMOS_MODULE | ||
41 | EXPORT_SYMBOL(rtc_lock); | ||
42 | #endif | ||
43 | #endif /* pc-style 'CMOS' RTC support */ | ||
44 | |||
36 | #ifdef CONFIG_SMP | 45 | #ifdef CONFIG_SMP |
37 | extern void smp_local_timer_interrupt(void); | 46 | extern void smp_local_timer_interrupt(void); |
38 | #endif | 47 | #endif |
diff --git a/arch/m32r/kernel/traps.c b/arch/m32r/kernel/traps.c index 03b14e55cd89..fbd109031df3 100644 --- a/arch/m32r/kernel/traps.c +++ b/arch/m32r/kernel/traps.c | |||
@@ -104,8 +104,8 @@ static void set_eit_vector_entries(void) | |||
104 | eit_vector[186] = (unsigned long)smp_call_function_interrupt; | 104 | eit_vector[186] = (unsigned long)smp_call_function_interrupt; |
105 | eit_vector[187] = (unsigned long)smp_ipi_timer_interrupt; | 105 | eit_vector[187] = (unsigned long)smp_ipi_timer_interrupt; |
106 | eit_vector[188] = (unsigned long)smp_flush_cache_all_interrupt; | 106 | eit_vector[188] = (unsigned long)smp_flush_cache_all_interrupt; |
107 | eit_vector[189] = (unsigned long)smp_call_function_single_interrupt; | 107 | eit_vector[189] = 0; /* CPU_BOOT_IPI */ |
108 | eit_vector[190] = 0; | 108 | eit_vector[190] = (unsigned long)smp_call_function_single_interrupt; |
109 | eit_vector[191] = 0; | 109 | eit_vector[191] = 0; |
110 | #endif | 110 | #endif |
111 | _flush_cache_copyback_all(); | 111 | _flush_cache_copyback_all(); |
diff --git a/arch/m32r/lib/delay.c b/arch/m32r/lib/delay.c index ced549be80f5..940f4837e42b 100644 --- a/arch/m32r/lib/delay.c +++ b/arch/m32r/lib/delay.c | |||
@@ -122,4 +122,8 @@ void __ndelay(unsigned long nsecs) | |||
122 | { | 122 | { |
123 | __const_udelay(nsecs * 0x00005); /* 2**32 / 1000000000 (rounded up) */ | 123 | __const_udelay(nsecs * 0x00005); /* 2**32 / 1000000000 (rounded up) */ |
124 | } | 124 | } |
125 | |||
126 | EXPORT_SYMBOL(__delay); | ||
127 | EXPORT_SYMBOL(__const_udelay); | ||
128 | EXPORT_SYMBOL(__udelay); | ||
125 | EXPORT_SYMBOL(__ndelay); | 129 | EXPORT_SYMBOL(__ndelay); |
diff --git a/arch/m32r/mm/discontig.c b/arch/m32r/mm/discontig.c index b7a78ad429b7..5d2858f6eede 100644 --- a/arch/m32r/mm/discontig.c +++ b/arch/m32r/mm/discontig.c | |||
@@ -32,6 +32,9 @@ typedef struct { | |||
32 | } mem_prof_t; | 32 | } mem_prof_t; |
33 | static mem_prof_t mem_prof[MAX_NUMNODES]; | 33 | static mem_prof_t mem_prof[MAX_NUMNODES]; |
34 | 34 | ||
35 | extern unsigned long memory_start; | ||
36 | extern unsigned long memory_end; | ||
37 | |||
35 | static void __init mem_prof_init(void) | 38 | static void __init mem_prof_init(void) |
36 | { | 39 | { |
37 | unsigned long start_pfn, holes, free_pfn; | 40 | unsigned long start_pfn, holes, free_pfn; |
@@ -42,7 +45,7 @@ static void __init mem_prof_init(void) | |||
42 | /* Node#0 SDRAM */ | 45 | /* Node#0 SDRAM */ |
43 | mp = &mem_prof[0]; | 46 | mp = &mem_prof[0]; |
44 | mp->start_pfn = PFN_UP(CONFIG_MEMORY_START); | 47 | mp->start_pfn = PFN_UP(CONFIG_MEMORY_START); |
45 | mp->pages = PFN_DOWN(CONFIG_MEMORY_SIZE); | 48 | mp->pages = PFN_DOWN(memory_end - memory_start); |
46 | mp->holes = 0; | 49 | mp->holes = 0; |
47 | mp->free_pfn = PFN_UP(__pa(_end)); | 50 | mp->free_pfn = PFN_UP(__pa(_end)); |
48 | 51 | ||
diff --git a/arch/m32r/mm/mmu.S b/arch/m32r/mm/mmu.S index 49a6d16a3d58..e9491a5ae827 100644 --- a/arch/m32r/mm/mmu.S +++ b/arch/m32r/mm/mmu.S | |||
@@ -150,9 +150,13 @@ ENTRY(tme_handler) | |||
150 | 150 | ||
151 | ; pmd = pmd_offset(pgd, address); | 151 | ; pmd = pmd_offset(pgd, address); |
152 | ld r3, @r3 ; r3: pmd data | 152 | ld r3, @r3 ; r3: pmd data |
153 | ldi r2, #-4096 | ||
154 | beqz r3, 3f ; pmd_none(*pmd) ? | 153 | beqz r3, 3f ; pmd_none(*pmd) ? |
155 | 154 | ||
155 | and3 r2, r3, #0xfff | ||
156 | add3 r2, r2, #-355 ; _KERNPG_TABLE(=0x163) | ||
157 | bnez r2, 3f ; pmd_bad(*pmd) ? | ||
158 | ldi r2, #-4096 | ||
159 | |||
156 | ; pte = pte_offset(pmd, address); | 160 | ; pte = pte_offset(pmd, address); |
157 | and r2, r3 ; r2: pte base addr | 161 | and r2, r3 ; r2: pte base addr |
158 | srl3 r3, r0, #10 | 162 | srl3 r3, r0, #10 |
@@ -263,9 +267,9 @@ ENTRY(tme_handler) | |||
263 | ld r1, @r3 ; r1: pmd | 267 | ld r1, @r3 ; r1: pmd |
264 | beqz r1, 3f ; pmd_none(*pmd) ? | 268 | beqz r1, 3f ; pmd_none(*pmd) ? |
265 | ; | 269 | ; |
266 | and3 r1, r1, #0xeff | 270 | and3 r1, r1, #0x3ff |
267 | ldi r4, #611 ; _KERNPG_TABLE(=611) | 271 | ldi r4, #0x163 ; _KERNPG_TABLE(=0x163) |
268 | bne r1, r4, 3f ; !pmd_bad(*pmd) ? | 272 | bne r1, r4, 3f ; pmd_bad(*pmd) ? |
269 | 273 | ||
270 | .fillinsn | 274 | .fillinsn |
271 | 4: | 275 | 4: |
diff --git a/arch/m68k/include/asm/hardirq_mm.h b/arch/m68k/include/asm/hardirq_mm.h index 554f65b6cd3b..394ee946015c 100644 --- a/arch/m68k/include/asm/hardirq_mm.h +++ b/arch/m68k/include/asm/hardirq_mm.h | |||
@@ -1,8 +1,16 @@ | |||
1 | #ifndef __M68K_HARDIRQ_H | 1 | #ifndef __M68K_HARDIRQ_H |
2 | #define __M68K_HARDIRQ_H | 2 | #define __M68K_HARDIRQ_H |
3 | 3 | ||
4 | #define HARDIRQ_BITS 8 | 4 | #include <linux/threads.h> |
5 | #include <linux/cache.h> | ||
6 | |||
7 | /* entry.S is sensitive to the offsets of these fields */ | ||
8 | typedef struct { | ||
9 | unsigned int __softirq_pending; | ||
10 | } ____cacheline_aligned irq_cpustat_t; | ||
5 | 11 | ||
6 | #include <asm-generic/hardirq.h> | 12 | #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ |
13 | |||
14 | #define HARDIRQ_BITS 8 | ||
7 | 15 | ||
8 | #endif | 16 | #endif |
diff --git a/arch/m68knommu/kernel/asm-offsets.c b/arch/m68knommu/kernel/asm-offsets.c index 594ee0e657fe..9a8876f715d8 100644 --- a/arch/m68knommu/kernel/asm-offsets.c +++ b/arch/m68knommu/kernel/asm-offsets.c | |||
@@ -45,25 +45,25 @@ int main(void) | |||
45 | DEFINE(THREAD_FPSTATE, offsetof(struct thread_struct, fpstate)); | 45 | DEFINE(THREAD_FPSTATE, offsetof(struct thread_struct, fpstate)); |
46 | 46 | ||
47 | /* offsets into the pt_regs */ | 47 | /* offsets into the pt_regs */ |
48 | DEFINE(PT_D0, offsetof(struct pt_regs, d0)); | 48 | DEFINE(PT_OFF_D0, offsetof(struct pt_regs, d0)); |
49 | DEFINE(PT_ORIG_D0, offsetof(struct pt_regs, orig_d0)); | 49 | DEFINE(PT_OFF_ORIG_D0, offsetof(struct pt_regs, orig_d0)); |
50 | DEFINE(PT_D1, offsetof(struct pt_regs, d1)); | 50 | DEFINE(PT_OFF_D1, offsetof(struct pt_regs, d1)); |
51 | DEFINE(PT_D2, offsetof(struct pt_regs, d2)); | 51 | DEFINE(PT_OFF_D2, offsetof(struct pt_regs, d2)); |
52 | DEFINE(PT_D3, offsetof(struct pt_regs, d3)); | 52 | DEFINE(PT_OFF_D3, offsetof(struct pt_regs, d3)); |
53 | DEFINE(PT_D4, offsetof(struct pt_regs, d4)); | 53 | DEFINE(PT_OFF_D4, offsetof(struct pt_regs, d4)); |
54 | DEFINE(PT_D5, offsetof(struct pt_regs, d5)); | 54 | DEFINE(PT_OFF_D5, offsetof(struct pt_regs, d5)); |
55 | DEFINE(PT_A0, offsetof(struct pt_regs, a0)); | 55 | DEFINE(PT_OFF_A0, offsetof(struct pt_regs, a0)); |
56 | DEFINE(PT_A1, offsetof(struct pt_regs, a1)); | 56 | DEFINE(PT_OFF_A1, offsetof(struct pt_regs, a1)); |
57 | DEFINE(PT_A2, offsetof(struct pt_regs, a2)); | 57 | DEFINE(PT_OFF_A2, offsetof(struct pt_regs, a2)); |
58 | DEFINE(PT_PC, offsetof(struct pt_regs, pc)); | 58 | DEFINE(PT_OFF_PC, offsetof(struct pt_regs, pc)); |
59 | DEFINE(PT_SR, offsetof(struct pt_regs, sr)); | 59 | DEFINE(PT_OFF_SR, offsetof(struct pt_regs, sr)); |
60 | 60 | ||
61 | #ifdef CONFIG_COLDFIRE | 61 | #ifdef CONFIG_COLDFIRE |
62 | /* bitfields are a bit difficult */ | 62 | /* bitfields are a bit difficult */ |
63 | DEFINE(PT_FORMATVEC, offsetof(struct pt_regs, sr) - 2); | 63 | DEFINE(PT_OFF_FORMATVEC, offsetof(struct pt_regs, sr) - 2); |
64 | #else | 64 | #else |
65 | /* bitfields are a bit difficult */ | 65 | /* bitfields are a bit difficult */ |
66 | DEFINE(PT_VECTOR, offsetof(struct pt_regs, pc) + 4); | 66 | DEFINE(PT_OFF_VECTOR, offsetof(struct pt_regs, pc) + 4); |
67 | #endif | 67 | #endif |
68 | 68 | ||
69 | /* signal defines */ | 69 | /* signal defines */ |
diff --git a/arch/m68knommu/kernel/entry.S b/arch/m68knommu/kernel/entry.S index f56faa5c9cd9..56043ade3941 100644 --- a/arch/m68knommu/kernel/entry.S +++ b/arch/m68knommu/kernel/entry.S | |||
@@ -46,7 +46,7 @@ | |||
46 | ENTRY(buserr) | 46 | ENTRY(buserr) |
47 | SAVE_ALL | 47 | SAVE_ALL |
48 | moveq #-1,%d0 | 48 | moveq #-1,%d0 |
49 | movel %d0,%sp@(PT_ORIG_D0) | 49 | movel %d0,%sp@(PT_OFF_ORIG_D0) |
50 | movel %sp,%sp@- /* stack frame pointer argument */ | 50 | movel %sp,%sp@- /* stack frame pointer argument */ |
51 | jsr buserr_c | 51 | jsr buserr_c |
52 | addql #4,%sp | 52 | addql #4,%sp |
@@ -55,7 +55,7 @@ ENTRY(buserr) | |||
55 | ENTRY(trap) | 55 | ENTRY(trap) |
56 | SAVE_ALL | 56 | SAVE_ALL |
57 | moveq #-1,%d0 | 57 | moveq #-1,%d0 |
58 | movel %d0,%sp@(PT_ORIG_D0) | 58 | movel %d0,%sp@(PT_OFF_ORIG_D0) |
59 | movel %sp,%sp@- /* stack frame pointer argument */ | 59 | movel %sp,%sp@- /* stack frame pointer argument */ |
60 | jsr trap_c | 60 | jsr trap_c |
61 | addql #4,%sp | 61 | addql #4,%sp |
@@ -67,7 +67,7 @@ ENTRY(trap) | |||
67 | ENTRY(dbginterrupt) | 67 | ENTRY(dbginterrupt) |
68 | SAVE_ALL | 68 | SAVE_ALL |
69 | moveq #-1,%d0 | 69 | moveq #-1,%d0 |
70 | movel %d0,%sp@(PT_ORIG_D0) | 70 | movel %d0,%sp@(PT_OFF_ORIG_D0) |
71 | movel %sp,%sp@- /* stack frame pointer argument */ | 71 | movel %sp,%sp@- /* stack frame pointer argument */ |
72 | jsr dbginterrupt_c | 72 | jsr dbginterrupt_c |
73 | addql #4,%sp | 73 | addql #4,%sp |
diff --git a/arch/m68knommu/mm/init.c b/arch/m68knommu/mm/init.c index b1703c67a4f1..f3236d0b522d 100644 --- a/arch/m68knommu/mm/init.c +++ b/arch/m68knommu/mm/init.c | |||
@@ -162,7 +162,7 @@ void free_initrd_mem(unsigned long start, unsigned long end) | |||
162 | totalram_pages++; | 162 | totalram_pages++; |
163 | pages++; | 163 | pages++; |
164 | } | 164 | } |
165 | printk (KERN_NOTICE "Freeing initrd memory: %dk freed\n", pages); | 165 | printk (KERN_NOTICE "Freeing initrd memory: %dk freed\n", pages * (PAGE_SIZE / 1024)); |
166 | } | 166 | } |
167 | #endif | 167 | #endif |
168 | 168 | ||
diff --git a/arch/m68knommu/platform/5206e/config.c b/arch/m68knommu/platform/5206e/config.c index 0f41ba82a3b5..942397984c66 100644 --- a/arch/m68knommu/platform/5206e/config.c +++ b/arch/m68knommu/platform/5206e/config.c | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <asm/mcfsim.h> | 17 | #include <asm/mcfsim.h> |
18 | #include <asm/mcfuart.h> | 18 | #include <asm/mcfuart.h> |
19 | #include <asm/mcfdma.h> | 19 | #include <asm/mcfdma.h> |
20 | #include <asm/mcfuart.h> | ||
21 | 20 | ||
22 | /***************************************************************************/ | 21 | /***************************************************************************/ |
23 | 22 | ||
diff --git a/arch/m68knommu/platform/68328/entry.S b/arch/m68knommu/platform/68328/entry.S index b1aef72f3baf..9d80d2c42866 100644 --- a/arch/m68knommu/platform/68328/entry.S +++ b/arch/m68knommu/platform/68328/entry.S | |||
@@ -39,17 +39,17 @@ | |||
39 | .globl inthandler7 | 39 | .globl inthandler7 |
40 | 40 | ||
41 | badsys: | 41 | badsys: |
42 | movel #-ENOSYS,%sp@(PT_D0) | 42 | movel #-ENOSYS,%sp@(PT_OFF_D0) |
43 | jra ret_from_exception | 43 | jra ret_from_exception |
44 | 44 | ||
45 | do_trace: | 45 | do_trace: |
46 | movel #-ENOSYS,%sp@(PT_D0) /* needed for strace*/ | 46 | movel #-ENOSYS,%sp@(PT_OFF_D0) /* needed for strace*/ |
47 | subql #4,%sp | 47 | subql #4,%sp |
48 | SAVE_SWITCH_STACK | 48 | SAVE_SWITCH_STACK |
49 | jbsr syscall_trace | 49 | jbsr syscall_trace |
50 | RESTORE_SWITCH_STACK | 50 | RESTORE_SWITCH_STACK |
51 | addql #4,%sp | 51 | addql #4,%sp |
52 | movel %sp@(PT_ORIG_D0),%d1 | 52 | movel %sp@(PT_OFF_ORIG_D0),%d1 |
53 | movel #-ENOSYS,%d0 | 53 | movel #-ENOSYS,%d0 |
54 | cmpl #NR_syscalls,%d1 | 54 | cmpl #NR_syscalls,%d1 |
55 | jcc 1f | 55 | jcc 1f |
@@ -57,7 +57,7 @@ do_trace: | |||
57 | lea sys_call_table, %a0 | 57 | lea sys_call_table, %a0 |
58 | jbsr %a0@(%d1) | 58 | jbsr %a0@(%d1) |
59 | 59 | ||
60 | 1: movel %d0,%sp@(PT_D0) /* save the return value */ | 60 | 1: movel %d0,%sp@(PT_OFF_D0) /* save the return value */ |
61 | subql #4,%sp /* dummy return address */ | 61 | subql #4,%sp /* dummy return address */ |
62 | SAVE_SWITCH_STACK | 62 | SAVE_SWITCH_STACK |
63 | jbsr syscall_trace | 63 | jbsr syscall_trace |
@@ -75,7 +75,7 @@ ENTRY(system_call) | |||
75 | jbsr set_esp0 | 75 | jbsr set_esp0 |
76 | addql #4,%sp | 76 | addql #4,%sp |
77 | 77 | ||
78 | movel %sp@(PT_ORIG_D0),%d0 | 78 | movel %sp@(PT_OFF_ORIG_D0),%d0 |
79 | 79 | ||
80 | movel %sp,%d1 /* get thread_info pointer */ | 80 | movel %sp,%d1 /* get thread_info pointer */ |
81 | andl #-THREAD_SIZE,%d1 | 81 | andl #-THREAD_SIZE,%d1 |
@@ -88,10 +88,10 @@ ENTRY(system_call) | |||
88 | lea sys_call_table,%a0 | 88 | lea sys_call_table,%a0 |
89 | movel %a0@(%d0), %a0 | 89 | movel %a0@(%d0), %a0 |
90 | jbsr %a0@ | 90 | jbsr %a0@ |
91 | movel %d0,%sp@(PT_D0) /* save the return value*/ | 91 | movel %d0,%sp@(PT_OFF_D0) /* save the return value*/ |
92 | 92 | ||
93 | ret_from_exception: | 93 | ret_from_exception: |
94 | btst #5,%sp@(PT_SR) /* check if returning to kernel*/ | 94 | btst #5,%sp@(PT_OFF_SR) /* check if returning to kernel*/ |
95 | jeq Luser_return /* if so, skip resched, signals*/ | 95 | jeq Luser_return /* if so, skip resched, signals*/ |
96 | 96 | ||
97 | Lkernel_return: | 97 | Lkernel_return: |
@@ -133,7 +133,7 @@ Lreturn: | |||
133 | */ | 133 | */ |
134 | inthandler1: | 134 | inthandler1: |
135 | SAVE_ALL | 135 | SAVE_ALL |
136 | movew %sp@(PT_VECTOR), %d0 | 136 | movew %sp@(PT_OFF_VECTOR), %d0 |
137 | and #0x3ff, %d0 | 137 | and #0x3ff, %d0 |
138 | 138 | ||
139 | movel %sp,%sp@- | 139 | movel %sp,%sp@- |
@@ -144,7 +144,7 @@ inthandler1: | |||
144 | 144 | ||
145 | inthandler2: | 145 | inthandler2: |
146 | SAVE_ALL | 146 | SAVE_ALL |
147 | movew %sp@(PT_VECTOR), %d0 | 147 | movew %sp@(PT_OFF_VECTOR), %d0 |
148 | and #0x3ff, %d0 | 148 | and #0x3ff, %d0 |
149 | 149 | ||
150 | movel %sp,%sp@- | 150 | movel %sp,%sp@- |
@@ -155,7 +155,7 @@ inthandler2: | |||
155 | 155 | ||
156 | inthandler3: | 156 | inthandler3: |
157 | SAVE_ALL | 157 | SAVE_ALL |
158 | movew %sp@(PT_VECTOR), %d0 | 158 | movew %sp@(PT_OFF_VECTOR), %d0 |
159 | and #0x3ff, %d0 | 159 | and #0x3ff, %d0 |
160 | 160 | ||
161 | movel %sp,%sp@- | 161 | movel %sp,%sp@- |
@@ -166,7 +166,7 @@ inthandler3: | |||
166 | 166 | ||
167 | inthandler4: | 167 | inthandler4: |
168 | SAVE_ALL | 168 | SAVE_ALL |
169 | movew %sp@(PT_VECTOR), %d0 | 169 | movew %sp@(PT_OFF_VECTOR), %d0 |
170 | and #0x3ff, %d0 | 170 | and #0x3ff, %d0 |
171 | 171 | ||
172 | movel %sp,%sp@- | 172 | movel %sp,%sp@- |
@@ -177,7 +177,7 @@ inthandler4: | |||
177 | 177 | ||
178 | inthandler5: | 178 | inthandler5: |
179 | SAVE_ALL | 179 | SAVE_ALL |
180 | movew %sp@(PT_VECTOR), %d0 | 180 | movew %sp@(PT_OFF_VECTOR), %d0 |
181 | and #0x3ff, %d0 | 181 | and #0x3ff, %d0 |
182 | 182 | ||
183 | movel %sp,%sp@- | 183 | movel %sp,%sp@- |
@@ -188,7 +188,7 @@ inthandler5: | |||
188 | 188 | ||
189 | inthandler6: | 189 | inthandler6: |
190 | SAVE_ALL | 190 | SAVE_ALL |
191 | movew %sp@(PT_VECTOR), %d0 | 191 | movew %sp@(PT_OFF_VECTOR), %d0 |
192 | and #0x3ff, %d0 | 192 | and #0x3ff, %d0 |
193 | 193 | ||
194 | movel %sp,%sp@- | 194 | movel %sp,%sp@- |
@@ -199,7 +199,7 @@ inthandler6: | |||
199 | 199 | ||
200 | inthandler7: | 200 | inthandler7: |
201 | SAVE_ALL | 201 | SAVE_ALL |
202 | movew %sp@(PT_VECTOR), %d0 | 202 | movew %sp@(PT_OFF_VECTOR), %d0 |
203 | and #0x3ff, %d0 | 203 | and #0x3ff, %d0 |
204 | 204 | ||
205 | movel %sp,%sp@- | 205 | movel %sp,%sp@- |
@@ -210,7 +210,7 @@ inthandler7: | |||
210 | 210 | ||
211 | inthandler: | 211 | inthandler: |
212 | SAVE_ALL | 212 | SAVE_ALL |
213 | movew %sp@(PT_VECTOR), %d0 | 213 | movew %sp@(PT_OFF_VECTOR), %d0 |
214 | and #0x3ff, %d0 | 214 | and #0x3ff, %d0 |
215 | 215 | ||
216 | movel %sp,%sp@- | 216 | movel %sp,%sp@- |
@@ -224,7 +224,7 @@ ret_from_interrupt: | |||
224 | 2: | 224 | 2: |
225 | RESTORE_ALL | 225 | RESTORE_ALL |
226 | 1: | 226 | 1: |
227 | moveb %sp@(PT_SR), %d0 | 227 | moveb %sp@(PT_OFF_SR), %d0 |
228 | and #7, %d0 | 228 | and #7, %d0 |
229 | jhi 2b | 229 | jhi 2b |
230 | 230 | ||
diff --git a/arch/m68knommu/platform/68360/entry.S b/arch/m68knommu/platform/68360/entry.S index 55dfefe38642..6d3460a39cac 100644 --- a/arch/m68knommu/platform/68360/entry.S +++ b/arch/m68knommu/platform/68360/entry.S | |||
@@ -35,17 +35,17 @@ | |||
35 | .globl inthandler | 35 | .globl inthandler |
36 | 36 | ||
37 | badsys: | 37 | badsys: |
38 | movel #-ENOSYS,%sp@(PT_D0) | 38 | movel #-ENOSYS,%sp@(PT_OFF_D0) |
39 | jra ret_from_exception | 39 | jra ret_from_exception |
40 | 40 | ||
41 | do_trace: | 41 | do_trace: |
42 | movel #-ENOSYS,%sp@(PT_D0) /* needed for strace*/ | 42 | movel #-ENOSYS,%sp@(PT_OFF_D0) /* needed for strace*/ |
43 | subql #4,%sp | 43 | subql #4,%sp |
44 | SAVE_SWITCH_STACK | 44 | SAVE_SWITCH_STACK |
45 | jbsr syscall_trace | 45 | jbsr syscall_trace |
46 | RESTORE_SWITCH_STACK | 46 | RESTORE_SWITCH_STACK |
47 | addql #4,%sp | 47 | addql #4,%sp |
48 | movel %sp@(PT_ORIG_D0),%d1 | 48 | movel %sp@(PT_OFF_ORIG_D0),%d1 |
49 | movel #-ENOSYS,%d0 | 49 | movel #-ENOSYS,%d0 |
50 | cmpl #NR_syscalls,%d1 | 50 | cmpl #NR_syscalls,%d1 |
51 | jcc 1f | 51 | jcc 1f |
@@ -53,7 +53,7 @@ do_trace: | |||
53 | lea sys_call_table, %a0 | 53 | lea sys_call_table, %a0 |
54 | jbsr %a0@(%d1) | 54 | jbsr %a0@(%d1) |
55 | 55 | ||
56 | 1: movel %d0,%sp@(PT_D0) /* save the return value */ | 56 | 1: movel %d0,%sp@(PT_OFF_D0) /* save the return value */ |
57 | subql #4,%sp /* dummy return address */ | 57 | subql #4,%sp /* dummy return address */ |
58 | SAVE_SWITCH_STACK | 58 | SAVE_SWITCH_STACK |
59 | jbsr syscall_trace | 59 | jbsr syscall_trace |
@@ -79,10 +79,10 @@ ENTRY(system_call) | |||
79 | lea sys_call_table,%a0 | 79 | lea sys_call_table,%a0 |
80 | movel %a0@(%d0), %a0 | 80 | movel %a0@(%d0), %a0 |
81 | jbsr %a0@ | 81 | jbsr %a0@ |
82 | movel %d0,%sp@(PT_D0) /* save the return value*/ | 82 | movel %d0,%sp@(PT_OFF_D0) /* save the return value*/ |
83 | 83 | ||
84 | ret_from_exception: | 84 | ret_from_exception: |
85 | btst #5,%sp@(PT_SR) /* check if returning to kernel*/ | 85 | btst #5,%sp@(PT_OFF_SR) /* check if returning to kernel*/ |
86 | jeq Luser_return /* if so, skip resched, signals*/ | 86 | jeq Luser_return /* if so, skip resched, signals*/ |
87 | 87 | ||
88 | Lkernel_return: | 88 | Lkernel_return: |
@@ -124,7 +124,7 @@ Lreturn: | |||
124 | */ | 124 | */ |
125 | inthandler: | 125 | inthandler: |
126 | SAVE_ALL | 126 | SAVE_ALL |
127 | movew %sp@(PT_VECTOR), %d0 | 127 | movew %sp@(PT_OFF_VECTOR), %d0 |
128 | and.l #0x3ff, %d0 | 128 | and.l #0x3ff, %d0 |
129 | lsr.l #0x02, %d0 | 129 | lsr.l #0x02, %d0 |
130 | 130 | ||
@@ -139,7 +139,7 @@ ret_from_interrupt: | |||
139 | 2: | 139 | 2: |
140 | RESTORE_ALL | 140 | RESTORE_ALL |
141 | 1: | 141 | 1: |
142 | moveb %sp@(PT_SR), %d0 | 142 | moveb %sp@(PT_OFF_SR), %d0 |
143 | and #7, %d0 | 143 | and #7, %d0 |
144 | jhi 2b | 144 | jhi 2b |
145 | /* check if we need to do software interrupts */ | 145 | /* check if we need to do software interrupts */ |
diff --git a/arch/m68knommu/platform/coldfire/entry.S b/arch/m68knommu/platform/coldfire/entry.S index 3b471c0da24a..dd7d591f70ea 100644 --- a/arch/m68knommu/platform/coldfire/entry.S +++ b/arch/m68knommu/platform/coldfire/entry.S | |||
@@ -81,11 +81,11 @@ ENTRY(system_call) | |||
81 | 81 | ||
82 | movel %d3,%a0 | 82 | movel %d3,%a0 |
83 | jbsr %a0@ | 83 | jbsr %a0@ |
84 | movel %d0,%sp@(PT_D0) /* save the return value */ | 84 | movel %d0,%sp@(PT_OFF_D0) /* save the return value */ |
85 | jra ret_from_exception | 85 | jra ret_from_exception |
86 | 1: | 86 | 1: |
87 | movel #-ENOSYS,%d2 /* strace needs -ENOSYS in PT_D0 */ | 87 | movel #-ENOSYS,%d2 /* strace needs -ENOSYS in PT_OFF_D0 */ |
88 | movel %d2,PT_D0(%sp) /* on syscall entry */ | 88 | movel %d2,PT_OFF_D0(%sp) /* on syscall entry */ |
89 | subql #4,%sp | 89 | subql #4,%sp |
90 | SAVE_SWITCH_STACK | 90 | SAVE_SWITCH_STACK |
91 | jbsr syscall_trace | 91 | jbsr syscall_trace |
@@ -93,7 +93,7 @@ ENTRY(system_call) | |||
93 | addql #4,%sp | 93 | addql #4,%sp |
94 | movel %d3,%a0 | 94 | movel %d3,%a0 |
95 | jbsr %a0@ | 95 | jbsr %a0@ |
96 | movel %d0,%sp@(PT_D0) /* save the return value */ | 96 | movel %d0,%sp@(PT_OFF_D0) /* save the return value */ |
97 | subql #4,%sp /* dummy return address */ | 97 | subql #4,%sp /* dummy return address */ |
98 | SAVE_SWITCH_STACK | 98 | SAVE_SWITCH_STACK |
99 | jbsr syscall_trace | 99 | jbsr syscall_trace |
@@ -104,7 +104,7 @@ ret_from_signal: | |||
104 | 104 | ||
105 | ret_from_exception: | 105 | ret_from_exception: |
106 | move #0x2700,%sr /* disable intrs */ | 106 | move #0x2700,%sr /* disable intrs */ |
107 | btst #5,%sp@(PT_SR) /* check if returning to kernel */ | 107 | btst #5,%sp@(PT_OFF_SR) /* check if returning to kernel */ |
108 | jeq Luser_return /* if so, skip resched, signals */ | 108 | jeq Luser_return /* if so, skip resched, signals */ |
109 | 109 | ||
110 | #ifdef CONFIG_PREEMPT | 110 | #ifdef CONFIG_PREEMPT |
@@ -142,8 +142,8 @@ Luser_return: | |||
142 | Lreturn: | 142 | Lreturn: |
143 | move #0x2700,%sr /* disable intrs */ | 143 | move #0x2700,%sr /* disable intrs */ |
144 | movel sw_usp,%a0 /* get usp */ | 144 | movel sw_usp,%a0 /* get usp */ |
145 | movel %sp@(PT_PC),%a0@- /* copy exception program counter */ | 145 | movel %sp@(PT_OFF_PC),%a0@- /* copy exception program counter */ |
146 | movel %sp@(PT_FORMATVEC),%a0@-/* copy exception format/vector/sr */ | 146 | movel %sp@(PT_OFF_FORMATVEC),%a0@- /* copy exception format/vector/sr */ |
147 | moveml %sp@,%d1-%d5/%a0-%a2 | 147 | moveml %sp@,%d1-%d5/%a0-%a2 |
148 | lea %sp@(32),%sp /* space for 8 regs */ | 148 | lea %sp@(32),%sp /* space for 8 regs */ |
149 | movel %sp@+,%d0 | 149 | movel %sp@+,%d0 |
@@ -181,9 +181,9 @@ Lsignal_return: | |||
181 | ENTRY(inthandler) | 181 | ENTRY(inthandler) |
182 | SAVE_ALL | 182 | SAVE_ALL |
183 | moveq #-1,%d0 | 183 | moveq #-1,%d0 |
184 | movel %d0,%sp@(PT_ORIG_D0) | 184 | movel %d0,%sp@(PT_OFF_ORIG_D0) |
185 | 185 | ||
186 | movew %sp@(PT_FORMATVEC),%d0 /* put exception # in d0 */ | 186 | movew %sp@(PT_OFF_FORMATVEC),%d0 /* put exception # in d0 */ |
187 | andl #0x03fc,%d0 /* mask out vector only */ | 187 | andl #0x03fc,%d0 /* mask out vector only */ |
188 | 188 | ||
189 | movel %sp,%sp@- /* push regs arg */ | 189 | movel %sp,%sp@- /* push regs arg */ |
@@ -203,7 +203,7 @@ ENTRY(inthandler) | |||
203 | ENTRY(fasthandler) | 203 | ENTRY(fasthandler) |
204 | SAVE_LOCAL | 204 | SAVE_LOCAL |
205 | 205 | ||
206 | movew %sp@(PT_FORMATVEC),%d0 | 206 | movew %sp@(PT_OFF_FORMATVEC),%d0 |
207 | andl #0x03fc,%d0 /* mask out vector only */ | 207 | andl #0x03fc,%d0 /* mask out vector only */ |
208 | 208 | ||
209 | movel %sp,%sp@- /* push regs arg */ | 209 | movel %sp,%sp@- /* push regs arg */ |
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S index acc1f05d1e2c..e3ecb36dd554 100644 --- a/arch/microblaze/kernel/entry.S +++ b/arch/microblaze/kernel/entry.S | |||
@@ -592,6 +592,8 @@ C_ENTRY(full_exception_trap): | |||
592 | nop | 592 | nop |
593 | mfs r7, rfsr; /* save FSR */ | 593 | mfs r7, rfsr; /* save FSR */ |
594 | nop | 594 | nop |
595 | mts rfsr, r0; /* Clear sticky fsr */ | ||
596 | nop | ||
595 | la r12, r0, full_exception | 597 | la r12, r0, full_exception |
596 | set_vms; | 598 | set_vms; |
597 | rtbd r12, 0; | 599 | rtbd r12, 0; |
diff --git a/arch/microblaze/kernel/hw_exception_handler.S b/arch/microblaze/kernel/hw_exception_handler.S index 6b0288ebccd6..2b86c03aa841 100644 --- a/arch/microblaze/kernel/hw_exception_handler.S +++ b/arch/microblaze/kernel/hw_exception_handler.S | |||
@@ -384,7 +384,7 @@ handle_other_ex: /* Handle Other exceptions here */ | |||
384 | addk r8, r17, r0; /* Load exception address */ | 384 | addk r8, r17, r0; /* Load exception address */ |
385 | bralid r15, full_exception; /* Branch to the handler */ | 385 | bralid r15, full_exception; /* Branch to the handler */ |
386 | nop; | 386 | nop; |
387 | mts r0, rfsr; /* Clear sticky fsr */ | 387 | mts rfsr, r0; /* Clear sticky fsr */ |
388 | nop | 388 | nop |
389 | 389 | ||
390 | /* | 390 | /* |
diff --git a/arch/microblaze/kernel/process.c b/arch/microblaze/kernel/process.c index 4201c743cc9f..c592d475b3d8 100644 --- a/arch/microblaze/kernel/process.c +++ b/arch/microblaze/kernel/process.c | |||
@@ -235,7 +235,9 @@ void start_thread(struct pt_regs *regs, unsigned long pc, unsigned long usp) | |||
235 | regs->pc = pc; | 235 | regs->pc = pc; |
236 | regs->r1 = usp; | 236 | regs->r1 = usp; |
237 | regs->pt_mode = 0; | 237 | regs->pt_mode = 0; |
238 | #ifdef CONFIG_MMU | ||
238 | regs->msr |= MSR_UMS; | 239 | regs->msr |= MSR_UMS; |
240 | #endif | ||
239 | } | 241 | } |
240 | 242 | ||
241 | #ifdef CONFIG_MMU | 243 | #ifdef CONFIG_MMU |
diff --git a/arch/mips/alchemy/common/dbdma.c b/arch/mips/alchemy/common/dbdma.c index 3ab6d80d150d..19c1c82849ff 100644 --- a/arch/mips/alchemy/common/dbdma.c +++ b/arch/mips/alchemy/common/dbdma.c | |||
@@ -175,7 +175,7 @@ static dbdev_tab_t dbdev_tab[] = { | |||
175 | #define DBDEV_TAB_SIZE ARRAY_SIZE(dbdev_tab) | 175 | #define DBDEV_TAB_SIZE ARRAY_SIZE(dbdev_tab) |
176 | 176 | ||
177 | #ifdef CONFIG_PM | 177 | #ifdef CONFIG_PM |
178 | static u32 au1xxx_dbdma_pm_regs[NUM_DBDMA_CHANS + 1][8]; | 178 | static u32 au1xxx_dbdma_pm_regs[NUM_DBDMA_CHANS + 1][6]; |
179 | #endif | 179 | #endif |
180 | 180 | ||
181 | 181 | ||
@@ -993,14 +993,13 @@ void au1xxx_dbdma_suspend(void) | |||
993 | au1xxx_dbdma_pm_regs[0][3] = au_readl(addr + 0x0c); | 993 | au1xxx_dbdma_pm_regs[0][3] = au_readl(addr + 0x0c); |
994 | 994 | ||
995 | /* save channel configurations */ | 995 | /* save channel configurations */ |
996 | for (i = 1, addr = DDMA_CHANNEL_BASE; i < NUM_DBDMA_CHANS; i++) { | 996 | for (i = 1, addr = DDMA_CHANNEL_BASE; i <= NUM_DBDMA_CHANS; i++) { |
997 | au1xxx_dbdma_pm_regs[i][0] = au_readl(addr + 0x00); | 997 | au1xxx_dbdma_pm_regs[i][0] = au_readl(addr + 0x00); |
998 | au1xxx_dbdma_pm_regs[i][1] = au_readl(addr + 0x04); | 998 | au1xxx_dbdma_pm_regs[i][1] = au_readl(addr + 0x04); |
999 | au1xxx_dbdma_pm_regs[i][2] = au_readl(addr + 0x08); | 999 | au1xxx_dbdma_pm_regs[i][2] = au_readl(addr + 0x08); |
1000 | au1xxx_dbdma_pm_regs[i][3] = au_readl(addr + 0x0c); | 1000 | au1xxx_dbdma_pm_regs[i][3] = au_readl(addr + 0x0c); |
1001 | au1xxx_dbdma_pm_regs[i][4] = au_readl(addr + 0x10); | 1001 | au1xxx_dbdma_pm_regs[i][4] = au_readl(addr + 0x10); |
1002 | au1xxx_dbdma_pm_regs[i][5] = au_readl(addr + 0x14); | 1002 | au1xxx_dbdma_pm_regs[i][5] = au_readl(addr + 0x14); |
1003 | au1xxx_dbdma_pm_regs[i][6] = au_readl(addr + 0x18); | ||
1004 | 1003 | ||
1005 | /* halt channel */ | 1004 | /* halt channel */ |
1006 | au_writel(au1xxx_dbdma_pm_regs[i][0] & ~1, addr + 0x00); | 1005 | au_writel(au1xxx_dbdma_pm_regs[i][0] & ~1, addr + 0x00); |
@@ -1027,14 +1026,13 @@ void au1xxx_dbdma_resume(void) | |||
1027 | au_writel(au1xxx_dbdma_pm_regs[0][3], addr + 0x0c); | 1026 | au_writel(au1xxx_dbdma_pm_regs[0][3], addr + 0x0c); |
1028 | 1027 | ||
1029 | /* restore channel configurations */ | 1028 | /* restore channel configurations */ |
1030 | for (i = 1, addr = DDMA_CHANNEL_BASE; i < NUM_DBDMA_CHANS; i++) { | 1029 | for (i = 1, addr = DDMA_CHANNEL_BASE; i <= NUM_DBDMA_CHANS; i++) { |
1031 | au_writel(au1xxx_dbdma_pm_regs[i][0], addr + 0x00); | 1030 | au_writel(au1xxx_dbdma_pm_regs[i][0], addr + 0x00); |
1032 | au_writel(au1xxx_dbdma_pm_regs[i][1], addr + 0x04); | 1031 | au_writel(au1xxx_dbdma_pm_regs[i][1], addr + 0x04); |
1033 | au_writel(au1xxx_dbdma_pm_regs[i][2], addr + 0x08); | 1032 | au_writel(au1xxx_dbdma_pm_regs[i][2], addr + 0x08); |
1034 | au_writel(au1xxx_dbdma_pm_regs[i][3], addr + 0x0c); | 1033 | au_writel(au1xxx_dbdma_pm_regs[i][3], addr + 0x0c); |
1035 | au_writel(au1xxx_dbdma_pm_regs[i][4], addr + 0x10); | 1034 | au_writel(au1xxx_dbdma_pm_regs[i][4], addr + 0x10); |
1036 | au_writel(au1xxx_dbdma_pm_regs[i][5], addr + 0x14); | 1035 | au_writel(au1xxx_dbdma_pm_regs[i][5], addr + 0x14); |
1037 | au_writel(au1xxx_dbdma_pm_regs[i][6], addr + 0x18); | ||
1038 | au_sync(); | 1036 | au_sync(); |
1039 | addr += 0x100; /* next channel base */ | 1037 | addr += 0x100; /* next channel base */ |
1040 | } | 1038 | } |
diff --git a/arch/mips/basler/excite/excite_iodev.c b/arch/mips/basler/excite/excite_iodev.c index dfbfd7e2ac08..938b1d0b7652 100644 --- a/arch/mips/basler/excite/excite_iodev.c +++ b/arch/mips/basler/excite/excite_iodev.c | |||
@@ -112,10 +112,8 @@ static int iodev_open(struct inode *i, struct file *f) | |||
112 | { | 112 | { |
113 | int ret; | 113 | int ret; |
114 | 114 | ||
115 | lock_kernel(); | ||
116 | ret = request_irq(iodev_irq, iodev_irqhdl, IRQF_DISABLED, | 115 | ret = request_irq(iodev_irq, iodev_irqhdl, IRQF_DISABLED, |
117 | iodev_name, &miscdev); | 116 | iodev_name, &miscdev); |
118 | unlock_kernel(); | ||
119 | 117 | ||
120 | return ret; | 118 | return ret; |
121 | } | 119 | } |
diff --git a/arch/mips/bcm63xx/Makefile b/arch/mips/bcm63xx/Makefile index aaa585cf26e3..c146d1ededed 100644 --- a/arch/mips/bcm63xx/Makefile +++ b/arch/mips/bcm63xx/Makefile | |||
@@ -1,5 +1,5 @@ | |||
1 | obj-y += clk.o cpu.o cs.o gpio.o irq.o prom.o setup.o timer.o \ | 1 | obj-y += clk.o cpu.o cs.o gpio.o irq.o prom.o setup.o timer.o \ |
2 | dev-dsp.o dev-enet.o | 2 | dev-dsp.o dev-enet.o dev-pcmcia.o dev-uart.o |
3 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o | 3 | obj-$(CONFIG_EARLY_PRINTK) += early_printk.o |
4 | 4 | ||
5 | obj-y += boards/ | 5 | obj-y += boards/ |
diff --git a/arch/mips/bcm63xx/boards/board_bcm963xx.c b/arch/mips/bcm63xx/boards/board_bcm963xx.c index fd77f548207a..78e155d21be6 100644 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c | |||
@@ -20,10 +20,11 @@ | |||
20 | #include <bcm63xx_cpu.h> | 20 | #include <bcm63xx_cpu.h> |
21 | #include <bcm63xx_regs.h> | 21 | #include <bcm63xx_regs.h> |
22 | #include <bcm63xx_io.h> | 22 | #include <bcm63xx_io.h> |
23 | #include <bcm63xx_board.h> | ||
24 | #include <bcm63xx_dev_pci.h> | 23 | #include <bcm63xx_dev_pci.h> |
25 | #include <bcm63xx_dev_enet.h> | 24 | #include <bcm63xx_dev_enet.h> |
26 | #include <bcm63xx_dev_dsp.h> | 25 | #include <bcm63xx_dev_dsp.h> |
26 | #include <bcm63xx_dev_pcmcia.h> | ||
27 | #include <bcm63xx_dev_uart.h> | ||
27 | #include <board_bcm963xx.h> | 28 | #include <board_bcm963xx.h> |
28 | 29 | ||
29 | #define PFX "board_bcm963xx: " | 30 | #define PFX "board_bcm963xx: " |
@@ -793,6 +794,11 @@ int __init board_register_devices(void) | |||
793 | { | 794 | { |
794 | u32 val; | 795 | u32 val; |
795 | 796 | ||
797 | bcm63xx_uart_register(); | ||
798 | |||
799 | if (board.has_pccard) | ||
800 | bcm63xx_pcmcia_register(); | ||
801 | |||
796 | if (board.has_enet0 && | 802 | if (board.has_enet0 && |
797 | !board_get_mac_address(board.enet0.mac_addr)) | 803 | !board_get_mac_address(board.enet0.mac_addr)) |
798 | bcm63xx_enet_register(0, &board.enet0); | 804 | bcm63xx_enet_register(0, &board.enet0); |
diff --git a/arch/mips/bcm63xx/dev-pcmcia.c b/arch/mips/bcm63xx/dev-pcmcia.c new file mode 100644 index 000000000000..de4d917fd54d --- /dev/null +++ b/arch/mips/bcm63xx/dev-pcmcia.c | |||
@@ -0,0 +1,144 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2008 Maxime Bizon <mbizon@freebox.fr> | ||
7 | */ | ||
8 | |||
9 | #include <linux/init.h> | ||
10 | #include <linux/kernel.h> | ||
11 | #include <asm/bootinfo.h> | ||
12 | #include <linux/platform_device.h> | ||
13 | #include <bcm63xx_cs.h> | ||
14 | #include <bcm63xx_cpu.h> | ||
15 | #include <bcm63xx_dev_pcmcia.h> | ||
16 | #include <bcm63xx_io.h> | ||
17 | #include <bcm63xx_regs.h> | ||
18 | |||
19 | static struct resource pcmcia_resources[] = { | ||
20 | /* pcmcia registers */ | ||
21 | { | ||
22 | /* start & end filled at runtime */ | ||
23 | .flags = IORESOURCE_MEM, | ||
24 | }, | ||
25 | |||
26 | /* pcmcia memory zone resources */ | ||
27 | { | ||
28 | .start = BCM_PCMCIA_COMMON_BASE_PA, | ||
29 | .end = BCM_PCMCIA_COMMON_END_PA, | ||
30 | .flags = IORESOURCE_MEM, | ||
31 | }, | ||
32 | { | ||
33 | .start = BCM_PCMCIA_ATTR_BASE_PA, | ||
34 | .end = BCM_PCMCIA_ATTR_END_PA, | ||
35 | .flags = IORESOURCE_MEM, | ||
36 | }, | ||
37 | { | ||
38 | .start = BCM_PCMCIA_IO_BASE_PA, | ||
39 | .end = BCM_PCMCIA_IO_END_PA, | ||
40 | .flags = IORESOURCE_MEM, | ||
41 | }, | ||
42 | |||
43 | /* PCMCIA irq */ | ||
44 | { | ||
45 | /* start filled at runtime */ | ||
46 | .flags = IORESOURCE_IRQ, | ||
47 | }, | ||
48 | |||
49 | /* declare PCMCIA IO resource also */ | ||
50 | { | ||
51 | .start = BCM_PCMCIA_IO_BASE_PA, | ||
52 | .end = BCM_PCMCIA_IO_END_PA, | ||
53 | .flags = IORESOURCE_IO, | ||
54 | }, | ||
55 | }; | ||
56 | |||
57 | static struct bcm63xx_pcmcia_platform_data pd; | ||
58 | |||
59 | static struct platform_device bcm63xx_pcmcia_device = { | ||
60 | .name = "bcm63xx_pcmcia", | ||
61 | .id = 0, | ||
62 | .num_resources = ARRAY_SIZE(pcmcia_resources), | ||
63 | .resource = pcmcia_resources, | ||
64 | .dev = { | ||
65 | .platform_data = &pd, | ||
66 | }, | ||
67 | }; | ||
68 | |||
69 | static int __init config_pcmcia_cs(unsigned int cs, | ||
70 | u32 base, unsigned int size) | ||
71 | { | ||
72 | int ret; | ||
73 | |||
74 | ret = bcm63xx_set_cs_status(cs, 0); | ||
75 | if (!ret) | ||
76 | ret = bcm63xx_set_cs_base(cs, base, size); | ||
77 | if (!ret) | ||
78 | ret = bcm63xx_set_cs_status(cs, 1); | ||
79 | return ret; | ||
80 | } | ||
81 | |||
82 | static const __initdata struct { | ||
83 | unsigned int cs; | ||
84 | unsigned int base; | ||
85 | unsigned int size; | ||
86 | } pcmcia_cs[3] = { | ||
87 | { | ||
88 | .cs = MPI_CS_PCMCIA_COMMON, | ||
89 | .base = BCM_PCMCIA_COMMON_BASE_PA, | ||
90 | .size = BCM_PCMCIA_COMMON_SIZE | ||
91 | }, | ||
92 | { | ||
93 | .cs = MPI_CS_PCMCIA_ATTR, | ||
94 | .base = BCM_PCMCIA_ATTR_BASE_PA, | ||
95 | .size = BCM_PCMCIA_ATTR_SIZE | ||
96 | }, | ||
97 | { | ||
98 | .cs = MPI_CS_PCMCIA_IO, | ||
99 | .base = BCM_PCMCIA_IO_BASE_PA, | ||
100 | .size = BCM_PCMCIA_IO_SIZE | ||
101 | }, | ||
102 | }; | ||
103 | |||
104 | int __init bcm63xx_pcmcia_register(void) | ||
105 | { | ||
106 | int ret, i; | ||
107 | |||
108 | if (!BCMCPU_IS_6348() && !BCMCPU_IS_6358()) | ||
109 | return 0; | ||
110 | |||
111 | /* use correct pcmcia ready gpio depending on processor */ | ||
112 | switch (bcm63xx_get_cpu_id()) { | ||
113 | case BCM6348_CPU_ID: | ||
114 | pd.ready_gpio = 22; | ||
115 | break; | ||
116 | |||
117 | case BCM6358_CPU_ID: | ||
118 | pd.ready_gpio = 18; | ||
119 | break; | ||
120 | |||
121 | default: | ||
122 | return -ENODEV; | ||
123 | } | ||
124 | |||
125 | pcmcia_resources[0].start = bcm63xx_regset_address(RSET_PCMCIA); | ||
126 | pcmcia_resources[0].end = pcmcia_resources[0].start + | ||
127 | RSET_PCMCIA_SIZE - 1; | ||
128 | pcmcia_resources[4].start = bcm63xx_get_irq_number(IRQ_PCMCIA); | ||
129 | |||
130 | /* configure pcmcia chip selects */ | ||
131 | for (i = 0; i < 3; i++) { | ||
132 | ret = config_pcmcia_cs(pcmcia_cs[i].cs, | ||
133 | pcmcia_cs[i].base, | ||
134 | pcmcia_cs[i].size); | ||
135 | if (ret) | ||
136 | goto out_err; | ||
137 | } | ||
138 | |||
139 | return platform_device_register(&bcm63xx_pcmcia_device); | ||
140 | |||
141 | out_err: | ||
142 | printk(KERN_ERR "unable to set pcmcia chip select\n"); | ||
143 | return ret; | ||
144 | } | ||
diff --git a/arch/mips/bcm63xx/dev-uart.c b/arch/mips/bcm63xx/dev-uart.c new file mode 100644 index 000000000000..5f3d89c4a988 --- /dev/null +++ b/arch/mips/bcm63xx/dev-uart.c | |||
@@ -0,0 +1,41 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2008 Maxime Bizon <mbizon@freebox.fr> | ||
7 | */ | ||
8 | |||
9 | #include <linux/init.h> | ||
10 | #include <linux/kernel.h> | ||
11 | #include <linux/platform_device.h> | ||
12 | #include <bcm63xx_cpu.h> | ||
13 | #include <bcm63xx_dev_uart.h> | ||
14 | |||
15 | static struct resource uart_resources[] = { | ||
16 | { | ||
17 | .start = -1, /* filled at runtime */ | ||
18 | .end = -1, /* filled at runtime */ | ||
19 | .flags = IORESOURCE_MEM, | ||
20 | }, | ||
21 | { | ||
22 | .start = -1, /* filled at runtime */ | ||
23 | .flags = IORESOURCE_IRQ, | ||
24 | }, | ||
25 | }; | ||
26 | |||
27 | static struct platform_device bcm63xx_uart_device = { | ||
28 | .name = "bcm63xx_uart", | ||
29 | .id = 0, | ||
30 | .num_resources = ARRAY_SIZE(uart_resources), | ||
31 | .resource = uart_resources, | ||
32 | }; | ||
33 | |||
34 | int __init bcm63xx_uart_register(void) | ||
35 | { | ||
36 | uart_resources[0].start = bcm63xx_regset_address(RSET_UART0); | ||
37 | uart_resources[0].end = uart_resources[0].start; | ||
38 | uart_resources[0].end += RSET_UART_SIZE - 1; | ||
39 | uart_resources[1].start = bcm63xx_get_irq_number(IRQ_UART0); | ||
40 | return platform_device_register(&bcm63xx_uart_device); | ||
41 | } | ||
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_pcmcia.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_pcmcia.h new file mode 100644 index 000000000000..2beb3969ce3b --- /dev/null +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_pcmcia.h | |||
@@ -0,0 +1,13 @@ | |||
1 | #ifndef BCM63XX_DEV_PCMCIA_H_ | ||
2 | #define BCM63XX_DEV_PCMCIA_H_ | ||
3 | |||
4 | /* | ||
5 | * PCMCIA driver platform data | ||
6 | */ | ||
7 | struct bcm63xx_pcmcia_platform_data { | ||
8 | unsigned int ready_gpio; | ||
9 | }; | ||
10 | |||
11 | int bcm63xx_pcmcia_register(void); | ||
12 | |||
13 | #endif /* BCM63XX_DEV_PCMCIA_H_ */ | ||
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_uart.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_uart.h new file mode 100644 index 000000000000..bf348f573bbc --- /dev/null +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_uart.h | |||
@@ -0,0 +1,6 @@ | |||
1 | #ifndef BCM63XX_DEV_UART_H_ | ||
2 | #define BCM63XX_DEV_UART_H_ | ||
3 | |||
4 | int bcm63xx_uart_register(void); | ||
5 | |||
6 | #endif /* BCM63XX_DEV_UART_H_ */ | ||
diff --git a/arch/mips/include/asm/smp.h b/arch/mips/include/asm/smp.h index e15f11a09311..af42385245d5 100644 --- a/arch/mips/include/asm/smp.h +++ b/arch/mips/include/asm/smp.h | |||
@@ -77,7 +77,18 @@ extern void play_dead(void); | |||
77 | 77 | ||
78 | extern asmlinkage void smp_call_function_interrupt(void); | 78 | extern asmlinkage void smp_call_function_interrupt(void); |
79 | 79 | ||
80 | extern void arch_send_call_function_single_ipi(int cpu); | 80 | static inline void arch_send_call_function_single_ipi(int cpu) |
81 | extern void arch_send_call_function_ipi_mask(const struct cpumask *mask); | 81 | { |
82 | extern struct plat_smp_ops *mp_ops; /* private */ | ||
83 | |||
84 | mp_ops->send_ipi_mask(&cpumask_of_cpu(cpu), SMP_CALL_FUNCTION); | ||
85 | } | ||
86 | |||
87 | static inline void arch_send_call_function_ipi_mask(const struct cpumask *mask) | ||
88 | { | ||
89 | extern struct plat_smp_ops *mp_ops; /* private */ | ||
90 | |||
91 | mp_ops->send_ipi_mask(mask, SMP_CALL_FUNCTION); | ||
92 | } | ||
82 | 93 | ||
83 | #endif /* __ASM_SMP_H */ | 94 | #endif /* __ASM_SMP_H */ |
diff --git a/arch/mips/include/asm/unaligned.h b/arch/mips/include/asm/unaligned.h index 792404948571..42f66c311473 100644 --- a/arch/mips/include/asm/unaligned.h +++ b/arch/mips/include/asm/unaligned.h | |||
@@ -12,17 +12,17 @@ | |||
12 | #if defined(__MIPSEB__) | 12 | #if defined(__MIPSEB__) |
13 | # include <linux/unaligned/be_struct.h> | 13 | # include <linux/unaligned/be_struct.h> |
14 | # include <linux/unaligned/le_byteshift.h> | 14 | # include <linux/unaligned/le_byteshift.h> |
15 | # include <linux/unaligned/generic.h> | ||
16 | # define get_unaligned __get_unaligned_be | 15 | # define get_unaligned __get_unaligned_be |
17 | # define put_unaligned __put_unaligned_be | 16 | # define put_unaligned __put_unaligned_be |
18 | #elif defined(__MIPSEL__) | 17 | #elif defined(__MIPSEL__) |
19 | # include <linux/unaligned/le_struct.h> | 18 | # include <linux/unaligned/le_struct.h> |
20 | # include <linux/unaligned/be_byteshift.h> | 19 | # include <linux/unaligned/be_byteshift.h> |
21 | # include <linux/unaligned/generic.h> | ||
22 | # define get_unaligned __get_unaligned_le | 20 | # define get_unaligned __get_unaligned_le |
23 | # define put_unaligned __put_unaligned_le | 21 | # define put_unaligned __put_unaligned_le |
24 | #else | 22 | #else |
25 | # error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???" | 23 | # error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???" |
26 | #endif | 24 | #endif |
27 | 25 | ||
26 | # include <linux/unaligned/generic.h> | ||
27 | |||
28 | #endif /* _ASM_MIPS_UNALIGNED_H */ | 28 | #endif /* _ASM_MIPS_UNALIGNED_H */ |
diff --git a/arch/mips/kernel/kspd.c b/arch/mips/kernel/kspd.c index f2397f00db43..ad4e017ed2f3 100644 --- a/arch/mips/kernel/kspd.c +++ b/arch/mips/kernel/kspd.c | |||
@@ -172,13 +172,20 @@ static unsigned int translate_open_flags(int flags) | |||
172 | } | 172 | } |
173 | 173 | ||
174 | 174 | ||
175 | static void sp_setfsuidgid( uid_t uid, gid_t gid) | 175 | static int sp_setfsuidgid(uid_t uid, gid_t gid) |
176 | { | 176 | { |
177 | current->cred->fsuid = uid; | 177 | struct cred *new; |
178 | current->cred->fsgid = gid; | ||
179 | 178 | ||
180 | key_fsuid_changed(current); | 179 | new = prepare_creds(); |
181 | key_fsgid_changed(current); | 180 | if (!new) |
181 | return -ENOMEM; | ||
182 | |||
183 | new->fsuid = uid; | ||
184 | new->fsgid = gid; | ||
185 | |||
186 | commit_creds(new); | ||
187 | |||
188 | return 0; | ||
182 | } | 189 | } |
183 | 190 | ||
184 | /* | 191 | /* |
@@ -196,7 +203,7 @@ void sp_work_handle_request(void) | |||
196 | mm_segment_t old_fs; | 203 | mm_segment_t old_fs; |
197 | struct timeval tv; | 204 | struct timeval tv; |
198 | struct timezone tz; | 205 | struct timezone tz; |
199 | int cmd; | 206 | int err, cmd; |
200 | 207 | ||
201 | char *vcwd; | 208 | char *vcwd; |
202 | int size; | 209 | int size; |
@@ -225,8 +232,11 @@ void sp_work_handle_request(void) | |||
225 | /* Run the syscall at the privilege of the user who loaded the | 232 | /* Run the syscall at the privilege of the user who loaded the |
226 | SP program */ | 233 | SP program */ |
227 | 234 | ||
228 | if (vpe_getuid(tclimit)) | 235 | if (vpe_getuid(tclimit)) { |
229 | sp_setfsuidgid(vpe_getuid(tclimit), vpe_getgid(tclimit)); | 236 | err = sp_setfsuidgid(vpe_getuid(tclimit), vpe_getgid(tclimit)); |
237 | if (!err) | ||
238 | pr_err("Change of creds failed\n"); | ||
239 | } | ||
230 | 240 | ||
231 | switch (sc.cmd) { | 241 | switch (sc.cmd) { |
232 | /* needs the flags argument translating from SDE kit to | 242 | /* needs the flags argument translating from SDE kit to |
@@ -283,8 +293,11 @@ void sp_work_handle_request(void) | |||
283 | break; | 293 | break; |
284 | } /* switch */ | 294 | } /* switch */ |
285 | 295 | ||
286 | if (vpe_getuid(tclimit)) | 296 | if (vpe_getuid(tclimit)) { |
287 | sp_setfsuidgid( 0, 0); | 297 | err = sp_setfsuidgid(0, 0); |
298 | if (!err) | ||
299 | pr_err("restoring old creds failed\n"); | ||
300 | } | ||
288 | 301 | ||
289 | old_fs = get_fs(); | 302 | old_fs = get_fs(); |
290 | set_fs(KERNEL_DS); | 303 | set_fs(KERNEL_DS); |
diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c index a10ebfdc28ae..364f066cb497 100644 --- a/arch/mips/kernel/rtlx.c +++ b/arch/mips/kernel/rtlx.c | |||
@@ -72,8 +72,9 @@ static void rtlx_dispatch(void) | |||
72 | */ | 72 | */ |
73 | static irqreturn_t rtlx_interrupt(int irq, void *dev_id) | 73 | static irqreturn_t rtlx_interrupt(int irq, void *dev_id) |
74 | { | 74 | { |
75 | unsigned int vpeflags; | ||
76 | unsigned long flags; | ||
75 | int i; | 77 | int i; |
76 | unsigned int flags, vpeflags; | ||
77 | 78 | ||
78 | /* Ought not to be strictly necessary for SMTC builds */ | 79 | /* Ought not to be strictly necessary for SMTC builds */ |
79 | local_irq_save(flags); | 80 | local_irq_save(flags); |
@@ -392,20 +393,12 @@ out: | |||
392 | 393 | ||
393 | static int file_open(struct inode *inode, struct file *filp) | 394 | static int file_open(struct inode *inode, struct file *filp) |
394 | { | 395 | { |
395 | int minor = iminor(inode); | 396 | return rtlx_open(iminor(inode), (filp->f_flags & O_NONBLOCK) ? 0 : 1); |
396 | int err; | ||
397 | |||
398 | lock_kernel(); | ||
399 | err = rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1); | ||
400 | unlock_kernel(); | ||
401 | return err; | ||
402 | } | 397 | } |
403 | 398 | ||
404 | static int file_release(struct inode *inode, struct file *filp) | 399 | static int file_release(struct inode *inode, struct file *filp) |
405 | { | 400 | { |
406 | int minor = iminor(inode); | 401 | return rtlx_release(iminor(inode)); |
407 | |||
408 | return rtlx_release(minor); | ||
409 | } | 402 | } |
410 | 403 | ||
411 | static unsigned int file_poll(struct file *file, poll_table * wait) | 404 | static unsigned int file_poll(struct file *file, poll_table * wait) |
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index 4eb106c6a3ec..e72e6844d134 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <linux/cpumask.h> | 32 | #include <linux/cpumask.h> |
33 | #include <linux/cpu.h> | 33 | #include <linux/cpu.h> |
34 | #include <linux/err.h> | 34 | #include <linux/err.h> |
35 | #include <linux/smp.h> | ||
36 | 35 | ||
37 | #include <asm/atomic.h> | 36 | #include <asm/atomic.h> |
38 | #include <asm/cpu.h> | 37 | #include <asm/cpu.h> |
@@ -128,19 +127,6 @@ asmlinkage __cpuinit void start_secondary(void) | |||
128 | cpu_idle(); | 127 | cpu_idle(); |
129 | } | 128 | } |
130 | 129 | ||
131 | void arch_send_call_function_ipi_mask(const struct cpumask *mask) | ||
132 | { | ||
133 | mp_ops->send_ipi_mask(mask, SMP_CALL_FUNCTION); | ||
134 | } | ||
135 | |||
136 | /* | ||
137 | * We reuse the same vector for the single IPI | ||
138 | */ | ||
139 | void arch_send_call_function_single_ipi(int cpu) | ||
140 | { | ||
141 | mp_ops->send_ipi_mask(cpumask_of_cpu(cpu), SMP_CALL_FUNCTION); | ||
142 | } | ||
143 | |||
144 | /* | 130 | /* |
145 | * Call into both interrupt handlers, as we share the IPI for them | 131 | * Call into both interrupt handlers, as we share the IPI for them |
146 | */ | 132 | */ |
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c index 67153a0dc267..4d181df44a40 100644 --- a/arch/mips/kernel/smtc.c +++ b/arch/mips/kernel/smtc.c | |||
@@ -1098,9 +1098,8 @@ static void ipi_irq_dispatch(void) | |||
1098 | 1098 | ||
1099 | static struct irqaction irq_ipi = { | 1099 | static struct irqaction irq_ipi = { |
1100 | .handler = ipi_interrupt, | 1100 | .handler = ipi_interrupt, |
1101 | .flags = IRQF_DISABLED, | 1101 | .flags = IRQF_DISABLED | IRQF_PERCPU, |
1102 | .name = "SMTC_IPI", | 1102 | .name = "SMTC_IPI" |
1103 | .flags = IRQF_PERCPU | ||
1104 | }; | 1103 | }; |
1105 | 1104 | ||
1106 | static void setup_cross_vpe_interrupts(unsigned int nvpe) | 1105 | static void setup_cross_vpe_interrupts(unsigned int nvpe) |
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c index eb6c4c5b7fbe..03092ab2a296 100644 --- a/arch/mips/kernel/vpe.c +++ b/arch/mips/kernel/vpe.c | |||
@@ -144,14 +144,15 @@ struct tc { | |||
144 | }; | 144 | }; |
145 | 145 | ||
146 | struct { | 146 | struct { |
147 | /* Virtual processing elements */ | 147 | spinlock_t vpe_list_lock; |
148 | struct list_head vpe_list; | 148 | struct list_head vpe_list; /* Virtual processing elements */ |
149 | 149 | spinlock_t tc_list_lock; | |
150 | /* Thread contexts */ | 150 | struct list_head tc_list; /* Thread contexts */ |
151 | struct list_head tc_list; | ||
152 | } vpecontrol = { | 151 | } vpecontrol = { |
153 | .vpe_list = LIST_HEAD_INIT(vpecontrol.vpe_list), | 152 | .vpe_list_lock = SPIN_LOCK_UNLOCKED, |
154 | .tc_list = LIST_HEAD_INIT(vpecontrol.tc_list) | 153 | .vpe_list = LIST_HEAD_INIT(vpecontrol.vpe_list), |
154 | .tc_list_lock = SPIN_LOCK_UNLOCKED, | ||
155 | .tc_list = LIST_HEAD_INIT(vpecontrol.tc_list) | ||
155 | }; | 156 | }; |
156 | 157 | ||
157 | static void release_progmem(void *ptr); | 158 | static void release_progmem(void *ptr); |
@@ -159,28 +160,38 @@ static void release_progmem(void *ptr); | |||
159 | /* get the vpe associated with this minor */ | 160 | /* get the vpe associated with this minor */ |
160 | static struct vpe *get_vpe(int minor) | 161 | static struct vpe *get_vpe(int minor) |
161 | { | 162 | { |
162 | struct vpe *v; | 163 | struct vpe *res, *v; |
163 | 164 | ||
164 | if (!cpu_has_mipsmt) | 165 | if (!cpu_has_mipsmt) |
165 | return NULL; | 166 | return NULL; |
166 | 167 | ||
168 | res = NULL; | ||
169 | spin_lock(&vpecontrol.vpe_list_lock); | ||
167 | list_for_each_entry(v, &vpecontrol.vpe_list, list) { | 170 | list_for_each_entry(v, &vpecontrol.vpe_list, list) { |
168 | if (v->minor == minor) | 171 | if (v->minor == minor) { |
169 | return v; | 172 | res = v; |
173 | break; | ||
174 | } | ||
170 | } | 175 | } |
176 | spin_unlock(&vpecontrol.vpe_list_lock); | ||
171 | 177 | ||
172 | return NULL; | 178 | return res; |
173 | } | 179 | } |
174 | 180 | ||
175 | /* get the vpe associated with this minor */ | 181 | /* get the vpe associated with this minor */ |
176 | static struct tc *get_tc(int index) | 182 | static struct tc *get_tc(int index) |
177 | { | 183 | { |
178 | struct tc *t; | 184 | struct tc *res, *t; |
179 | 185 | ||
186 | res = NULL; | ||
187 | spin_lock(&vpecontrol.tc_list_lock); | ||
180 | list_for_each_entry(t, &vpecontrol.tc_list, list) { | 188 | list_for_each_entry(t, &vpecontrol.tc_list, list) { |
181 | if (t->index == index) | 189 | if (t->index == index) { |
182 | return t; | 190 | res = t; |
191 | break; | ||
192 | } | ||
183 | } | 193 | } |
194 | spin_unlock(&vpecontrol.tc_list_lock); | ||
184 | 195 | ||
185 | return NULL; | 196 | return NULL; |
186 | } | 197 | } |
@@ -190,15 +201,17 @@ static struct vpe *alloc_vpe(int minor) | |||
190 | { | 201 | { |
191 | struct vpe *v; | 202 | struct vpe *v; |
192 | 203 | ||
193 | if ((v = kzalloc(sizeof(struct vpe), GFP_KERNEL)) == NULL) { | 204 | if ((v = kzalloc(sizeof(struct vpe), GFP_KERNEL)) == NULL) |
194 | return NULL; | 205 | return NULL; |
195 | } | ||
196 | 206 | ||
197 | INIT_LIST_HEAD(&v->tc); | 207 | INIT_LIST_HEAD(&v->tc); |
208 | spin_lock(&vpecontrol.vpe_list_lock); | ||
198 | list_add_tail(&v->list, &vpecontrol.vpe_list); | 209 | list_add_tail(&v->list, &vpecontrol.vpe_list); |
210 | spin_unlock(&vpecontrol.vpe_list_lock); | ||
199 | 211 | ||
200 | INIT_LIST_HEAD(&v->notify); | 212 | INIT_LIST_HEAD(&v->notify); |
201 | v->minor = minor; | 213 | v->minor = minor; |
214 | |||
202 | return v; | 215 | return v; |
203 | } | 216 | } |
204 | 217 | ||
@@ -212,7 +225,10 @@ static struct tc *alloc_tc(int index) | |||
212 | 225 | ||
213 | INIT_LIST_HEAD(&tc->tc); | 226 | INIT_LIST_HEAD(&tc->tc); |
214 | tc->index = index; | 227 | tc->index = index; |
228 | |||
229 | spin_lock(&vpecontrol.tc_list_lock); | ||
215 | list_add_tail(&tc->list, &vpecontrol.tc_list); | 230 | list_add_tail(&tc->list, &vpecontrol.tc_list); |
231 | spin_unlock(&vpecontrol.tc_list_lock); | ||
216 | 232 | ||
217 | out: | 233 | out: |
218 | return tc; | 234 | return tc; |
@@ -227,7 +243,7 @@ static void release_vpe(struct vpe *v) | |||
227 | kfree(v); | 243 | kfree(v); |
228 | } | 244 | } |
229 | 245 | ||
230 | static void dump_mtregs(void) | 246 | static void __maybe_unused dump_mtregs(void) |
231 | { | 247 | { |
232 | unsigned long val; | 248 | unsigned long val; |
233 | 249 | ||
@@ -1048,20 +1064,19 @@ static int vpe_open(struct inode *inode, struct file *filp) | |||
1048 | enum vpe_state state; | 1064 | enum vpe_state state; |
1049 | struct vpe_notifications *not; | 1065 | struct vpe_notifications *not; |
1050 | struct vpe *v; | 1066 | struct vpe *v; |
1051 | int ret, err = 0; | 1067 | int ret; |
1052 | 1068 | ||
1053 | lock_kernel(); | ||
1054 | if (minor != iminor(inode)) { | 1069 | if (minor != iminor(inode)) { |
1055 | /* assume only 1 device at the moment. */ | 1070 | /* assume only 1 device at the moment. */ |
1056 | printk(KERN_WARNING "VPE loader: only vpe1 is supported\n"); | 1071 | pr_warning("VPE loader: only vpe1 is supported\n"); |
1057 | err = -ENODEV; | 1072 | |
1058 | goto out; | 1073 | return -ENODEV; |
1059 | } | 1074 | } |
1060 | 1075 | ||
1061 | if ((v = get_vpe(tclimit)) == NULL) { | 1076 | if ((v = get_vpe(tclimit)) == NULL) { |
1062 | printk(KERN_WARNING "VPE loader: unable to get vpe\n"); | 1077 | pr_warning("VPE loader: unable to get vpe\n"); |
1063 | err = -ENODEV; | 1078 | |
1064 | goto out; | 1079 | return -ENODEV; |
1065 | } | 1080 | } |
1066 | 1081 | ||
1067 | state = xchg(&v->state, VPE_STATE_INUSE); | 1082 | state = xchg(&v->state, VPE_STATE_INUSE); |
@@ -1101,8 +1116,8 @@ static int vpe_open(struct inode *inode, struct file *filp) | |||
1101 | v->shared_ptr = NULL; | 1116 | v->shared_ptr = NULL; |
1102 | v->__start = 0; | 1117 | v->__start = 0; |
1103 | 1118 | ||
1104 | out: | ||
1105 | unlock_kernel(); | 1119 | unlock_kernel(); |
1120 | |||
1106 | return 0; | 1121 | return 0; |
1107 | } | 1122 | } |
1108 | 1123 | ||
@@ -1594,14 +1609,14 @@ static void __exit vpe_module_exit(void) | |||
1594 | { | 1609 | { |
1595 | struct vpe *v, *n; | 1610 | struct vpe *v, *n; |
1596 | 1611 | ||
1612 | device_del(&vpe_device); | ||
1613 | unregister_chrdev(major, module_name); | ||
1614 | |||
1615 | /* No locking needed here */ | ||
1597 | list_for_each_entry_safe(v, n, &vpecontrol.vpe_list, list) { | 1616 | list_for_each_entry_safe(v, n, &vpecontrol.vpe_list, list) { |
1598 | if (v->state != VPE_STATE_UNUSED) { | 1617 | if (v->state != VPE_STATE_UNUSED) |
1599 | release_vpe(v); | 1618 | release_vpe(v); |
1600 | } | ||
1601 | } | 1619 | } |
1602 | |||
1603 | device_del(&vpe_device); | ||
1604 | unregister_chrdev(major, module_name); | ||
1605 | } | 1620 | } |
1606 | 1621 | ||
1607 | module_init(vpe_module_init); | 1622 | module_init(vpe_module_init); |
diff --git a/arch/mips/mm/sc-mips.c b/arch/mips/mm/sc-mips.c index b55c2d1b998f..5ab5fa8c1d82 100644 --- a/arch/mips/mm/sc-mips.c +++ b/arch/mips/mm/sc-mips.c | |||
@@ -32,6 +32,11 @@ static void mips_sc_wback_inv(unsigned long addr, unsigned long size) | |||
32 | */ | 32 | */ |
33 | static void mips_sc_inv(unsigned long addr, unsigned long size) | 33 | static void mips_sc_inv(unsigned long addr, unsigned long size) |
34 | { | 34 | { |
35 | unsigned long lsize = cpu_scache_line_size(); | ||
36 | unsigned long almask = ~(lsize - 1); | ||
37 | |||
38 | cache_op(Hit_Writeback_Inv_SD, addr & almask); | ||
39 | cache_op(Hit_Writeback_Inv_SD, (addr + size - 1) & almask); | ||
35 | blast_inv_scache_range(addr, addr + size); | 40 | blast_inv_scache_range(addr, addr + size); |
36 | } | 41 | } |
37 | 42 | ||
diff --git a/arch/mips/oprofile/op_model_loongson2.c b/arch/mips/oprofile/op_model_loongson2.c index 655cb8dec340..deed1d5d4982 100644 --- a/arch/mips/oprofile/op_model_loongson2.c +++ b/arch/mips/oprofile/op_model_loongson2.c | |||
@@ -44,7 +44,7 @@ static struct loongson2_register_config { | |||
44 | unsigned int ctrl; | 44 | unsigned int ctrl; |
45 | unsigned long long reset_counter1; | 45 | unsigned long long reset_counter1; |
46 | unsigned long long reset_counter2; | 46 | unsigned long long reset_counter2; |
47 | int cnt1_enalbed, cnt2_enalbed; | 47 | int cnt1_enabled, cnt2_enabled; |
48 | } reg; | 48 | } reg; |
49 | 49 | ||
50 | DEFINE_SPINLOCK(sample_lock); | 50 | DEFINE_SPINLOCK(sample_lock); |
@@ -81,8 +81,8 @@ static void loongson2_reg_setup(struct op_counter_config *cfg) | |||
81 | 81 | ||
82 | reg.ctrl = ctrl; | 82 | reg.ctrl = ctrl; |
83 | 83 | ||
84 | reg.cnt1_enalbed = cfg[0].enabled; | 84 | reg.cnt1_enabled = cfg[0].enabled; |
85 | reg.cnt2_enalbed = cfg[1].enabled; | 85 | reg.cnt2_enabled = cfg[1].enabled; |
86 | 86 | ||
87 | } | 87 | } |
88 | 88 | ||
@@ -99,7 +99,7 @@ static void loongson2_cpu_setup(void *args) | |||
99 | static void loongson2_cpu_start(void *args) | 99 | static void loongson2_cpu_start(void *args) |
100 | { | 100 | { |
101 | /* Start all counters on current CPU */ | 101 | /* Start all counters on current CPU */ |
102 | if (reg.cnt1_enalbed || reg.cnt2_enalbed) | 102 | if (reg.cnt1_enabled || reg.cnt2_enabled) |
103 | write_c0_perfctrl(reg.ctrl); | 103 | write_c0_perfctrl(reg.ctrl); |
104 | } | 104 | } |
105 | 105 | ||
@@ -125,7 +125,7 @@ static irqreturn_t loongson2_perfcount_handler(int irq, void *dev_id) | |||
125 | */ | 125 | */ |
126 | 126 | ||
127 | /* Check whether the irq belongs to me */ | 127 | /* Check whether the irq belongs to me */ |
128 | enabled = reg.cnt1_enalbed | reg.cnt2_enalbed; | 128 | enabled = reg.cnt1_enabled | reg.cnt2_enabled; |
129 | if (!enabled) | 129 | if (!enabled) |
130 | return IRQ_NONE; | 130 | return IRQ_NONE; |
131 | 131 | ||
@@ -136,12 +136,12 @@ static irqreturn_t loongson2_perfcount_handler(int irq, void *dev_id) | |||
136 | spin_lock_irqsave(&sample_lock, flags); | 136 | spin_lock_irqsave(&sample_lock, flags); |
137 | 137 | ||
138 | if (counter1 & LOONGSON2_PERFCNT_OVERFLOW) { | 138 | if (counter1 & LOONGSON2_PERFCNT_OVERFLOW) { |
139 | if (reg.cnt1_enalbed) | 139 | if (reg.cnt1_enabled) |
140 | oprofile_add_sample(regs, 0); | 140 | oprofile_add_sample(regs, 0); |
141 | counter1 = reg.reset_counter1; | 141 | counter1 = reg.reset_counter1; |
142 | } | 142 | } |
143 | if (counter2 & LOONGSON2_PERFCNT_OVERFLOW) { | 143 | if (counter2 & LOONGSON2_PERFCNT_OVERFLOW) { |
144 | if (reg.cnt2_enalbed) | 144 | if (reg.cnt2_enabled) |
145 | oprofile_add_sample(regs, 1); | 145 | oprofile_add_sample(regs, 1); |
146 | counter2 = reg.reset_counter2; | 146 | counter2 = reg.reset_counter2; |
147 | } | 147 | } |
diff --git a/arch/mips/pci/ops-pmcmsp.c b/arch/mips/pci/ops-pmcmsp.c index 109c95ca698b..32548b5d68d6 100644 --- a/arch/mips/pci/ops-pmcmsp.c +++ b/arch/mips/pci/ops-pmcmsp.c | |||
@@ -385,6 +385,7 @@ int msp_pcibios_config_access(unsigned char access_type, | |||
385 | unsigned long intr; | 385 | unsigned long intr; |
386 | unsigned long value; | 386 | unsigned long value; |
387 | static char pciirqflag; | 387 | static char pciirqflag; |
388 | int ret; | ||
388 | #if defined(CONFIG_PMC_MSP7120_GW) || defined(CONFIG_PMC_MSP7120_EVAL) | 389 | #if defined(CONFIG_PMC_MSP7120_GW) || defined(CONFIG_PMC_MSP7120_EVAL) |
389 | unsigned int vpe_status; | 390 | unsigned int vpe_status; |
390 | #endif | 391 | #endif |
@@ -402,11 +403,13 @@ int msp_pcibios_config_access(unsigned char access_type, | |||
402 | * allocation assigns an interrupt handler to the interrupt. | 403 | * allocation assigns an interrupt handler to the interrupt. |
403 | */ | 404 | */ |
404 | if (pciirqflag == 0) { | 405 | if (pciirqflag == 0) { |
405 | request_irq(MSP_INT_PCI,/* Hardcoded internal MSP7120 wiring */ | 406 | ret = request_irq(MSP_INT_PCI,/* Hardcoded internal MSP7120 wiring */ |
406 | bpci_interrupt, | 407 | bpci_interrupt, |
407 | IRQF_SHARED | IRQF_DISABLED, | 408 | IRQF_SHARED | IRQF_DISABLED, |
408 | "PMC MSP PCI Host", | 409 | "PMC MSP PCI Host", |
409 | preg); | 410 | preg); |
411 | if (ret != 0) | ||
412 | return ret; | ||
410 | pciirqflag = ~0; | 413 | pciirqflag = ~0; |
411 | } | 414 | } |
412 | 415 | ||
diff --git a/arch/mips/sgi-ip27/ip27-smp.c b/arch/mips/sgi-ip27/ip27-smp.c index 9aa8f2951df6..c6851df9ab74 100644 --- a/arch/mips/sgi-ip27/ip27-smp.c +++ b/arch/mips/sgi-ip27/ip27-smp.c | |||
@@ -165,7 +165,7 @@ static void ip27_send_ipi_single(int destid, unsigned int action) | |||
165 | REMOTE_HUB_SEND_INTR(COMPACT_TO_NASID_NODEID(cpu_to_node(destid)), irq); | 165 | REMOTE_HUB_SEND_INTR(COMPACT_TO_NASID_NODEID(cpu_to_node(destid)), irq); |
166 | } | 166 | } |
167 | 167 | ||
168 | static void ip27_send_ipi(const struct cpumask *mask, unsigned int action) | 168 | static void ip27_send_ipi_mask(const struct cpumask *mask, unsigned int action) |
169 | { | 169 | { |
170 | unsigned int i; | 170 | unsigned int i; |
171 | 171 | ||
diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c index ba59839a021e..4070268aa769 100644 --- a/arch/mips/sibyte/bcm1480/irq.c +++ b/arch/mips/sibyte/bcm1480/irq.c | |||
@@ -117,10 +117,6 @@ static int bcm1480_set_affinity(unsigned int irq, const struct cpumask *mask) | |||
117 | unsigned long flags; | 117 | unsigned long flags; |
118 | unsigned int irq_dirty; | 118 | unsigned int irq_dirty; |
119 | 119 | ||
120 | if (cpumask_weight(mask) != 1) { | ||
121 | printk("attempted to set irq affinity for irq %d to multiple CPUs\n", irq); | ||
122 | return -1; | ||
123 | } | ||
124 | i = cpumask_first(mask); | 120 | i = cpumask_first(mask); |
125 | 121 | ||
126 | /* Convert logical CPU to physical CPU */ | 122 | /* Convert logical CPU to physical CPU */ |
diff --git a/arch/mips/sibyte/common/sb_tbprof.c b/arch/mips/sibyte/common/sb_tbprof.c index 637a194e5cd5..15ea778b5e66 100644 --- a/arch/mips/sibyte/common/sb_tbprof.c +++ b/arch/mips/sibyte/common/sb_tbprof.c | |||
@@ -403,36 +403,31 @@ static int sbprof_zbprof_stop(void) | |||
403 | static int sbprof_tb_open(struct inode *inode, struct file *filp) | 403 | static int sbprof_tb_open(struct inode *inode, struct file *filp) |
404 | { | 404 | { |
405 | int minor; | 405 | int minor; |
406 | int err = 0; | ||
407 | 406 | ||
408 | lock_kernel(); | ||
409 | minor = iminor(inode); | 407 | minor = iminor(inode); |
410 | if (minor != 0) { | 408 | if (minor != 0) |
411 | err = -ENODEV; | 409 | return -ENODEV; |
412 | goto out; | ||
413 | } | ||
414 | 410 | ||
415 | if (xchg(&sbp.open, SB_OPENING) != SB_CLOSED) { | 411 | if (xchg(&sbp.open, SB_OPENING) != SB_CLOSED) |
416 | err = -EBUSY; | 412 | return -EBUSY; |
417 | goto out; | ||
418 | } | ||
419 | 413 | ||
420 | memset(&sbp, 0, sizeof(struct sbprof_tb)); | 414 | memset(&sbp, 0, sizeof(struct sbprof_tb)); |
421 | sbp.sbprof_tbbuf = vmalloc(MAX_TBSAMPLE_BYTES); | 415 | sbp.sbprof_tbbuf = vmalloc(MAX_TBSAMPLE_BYTES); |
422 | if (!sbp.sbprof_tbbuf) { | 416 | if (!sbp.sbprof_tbbuf) { |
423 | err = -ENOMEM; | 417 | sbp.open = SB_CLOSED; |
424 | goto out; | 418 | wmb(); |
419 | return -ENOMEM; | ||
425 | } | 420 | } |
421 | |||
426 | memset(sbp.sbprof_tbbuf, 0, MAX_TBSAMPLE_BYTES); | 422 | memset(sbp.sbprof_tbbuf, 0, MAX_TBSAMPLE_BYTES); |
427 | init_waitqueue_head(&sbp.tb_sync); | 423 | init_waitqueue_head(&sbp.tb_sync); |
428 | init_waitqueue_head(&sbp.tb_read); | 424 | init_waitqueue_head(&sbp.tb_read); |
429 | mutex_init(&sbp.lock); | 425 | mutex_init(&sbp.lock); |
430 | 426 | ||
431 | sbp.open = SB_OPEN; | 427 | sbp.open = SB_OPEN; |
428 | wmb(); | ||
432 | 429 | ||
433 | out: | 430 | return 0; |
434 | unlock_kernel(); | ||
435 | return err; | ||
436 | } | 431 | } |
437 | 432 | ||
438 | static int sbprof_tb_release(struct inode *inode, struct file *filp) | 433 | static int sbprof_tb_release(struct inode *inode, struct file *filp) |
@@ -440,7 +435,7 @@ static int sbprof_tb_release(struct inode *inode, struct file *filp) | |||
440 | int minor; | 435 | int minor; |
441 | 436 | ||
442 | minor = iminor(inode); | 437 | minor = iminor(inode); |
443 | if (minor != 0 || !sbp.open) | 438 | if (minor != 0 || sbp.open != SB_CLOSED) |
444 | return -ENODEV; | 439 | return -ENODEV; |
445 | 440 | ||
446 | mutex_lock(&sbp.lock); | 441 | mutex_lock(&sbp.lock); |
@@ -449,7 +444,8 @@ static int sbprof_tb_release(struct inode *inode, struct file *filp) | |||
449 | sbprof_zbprof_stop(); | 444 | sbprof_zbprof_stop(); |
450 | 445 | ||
451 | vfree(sbp.sbprof_tbbuf); | 446 | vfree(sbp.sbprof_tbbuf); |
452 | sbp.open = 0; | 447 | sbp.open = SB_CLOSED; |
448 | wmb(); | ||
453 | 449 | ||
454 | mutex_unlock(&sbp.lock); | 450 | mutex_unlock(&sbp.lock); |
455 | 451 | ||
@@ -583,7 +579,8 @@ static int __init sbprof_tb_init(void) | |||
583 | } | 579 | } |
584 | tb_dev = dev; | 580 | tb_dev = dev; |
585 | 581 | ||
586 | sbp.open = 0; | 582 | sbp.open = SB_CLOSED; |
583 | wmb(); | ||
587 | tb_period = zbbus_mhz * 10000LL; | 584 | tb_period = zbbus_mhz * 10000LL; |
588 | pr_info(DEVNAME ": initialized - tb_period = %lld\n", | 585 | pr_info(DEVNAME ": initialized - tb_period = %lld\n", |
589 | (long long) tb_period); | 586 | (long long) tb_period); |
diff --git a/arch/mips/sibyte/swarm/setup.c b/arch/mips/sibyte/swarm/setup.c index 623ffc933c4c..5277aac96b0f 100644 --- a/arch/mips/sibyte/swarm/setup.c +++ b/arch/mips/sibyte/swarm/setup.c | |||
@@ -106,7 +106,7 @@ void read_persistent_clock(struct timespec *ts) | |||
106 | break; | 106 | break; |
107 | } | 107 | } |
108 | ts->tv_sec = sec; | 108 | ts->tv_sec = sec; |
109 | tv->tv_nsec = 0; | 109 | ts->tv_nsec = 0; |
110 | } | 110 | } |
111 | 111 | ||
112 | int rtc_mips_set_time(unsigned long sec) | 112 | int rtc_mips_set_time(unsigned long sec) |
diff --git a/arch/mn10300/include/asm/uaccess.h b/arch/mn10300/include/asm/uaccess.h index 8a3a4dd55763..167e10ff06d9 100644 --- a/arch/mn10300/include/asm/uaccess.h +++ b/arch/mn10300/include/asm/uaccess.h | |||
@@ -129,42 +129,47 @@ extern int fixup_exception(struct pt_regs *regs); | |||
129 | struct __large_struct { unsigned long buf[100]; }; | 129 | struct __large_struct { unsigned long buf[100]; }; |
130 | #define __m(x) (*(struct __large_struct *)(x)) | 130 | #define __m(x) (*(struct __large_struct *)(x)) |
131 | 131 | ||
132 | #define __get_user_nocheck(x, ptr, size) \ | 132 | #define __get_user_nocheck(x, ptr, size) \ |
133 | ({ \ | 133 | ({ \ |
134 | __typeof(*(ptr)) __gu_val; \ | 134 | unsigned long __gu_addr; \ |
135 | unsigned long __gu_addr; \ | 135 | int __gu_err; \ |
136 | int __gu_err; \ | 136 | __gu_addr = (unsigned long) (ptr); \ |
137 | __gu_addr = (unsigned long) (ptr); \ | 137 | switch (size) { \ |
138 | switch (size) { \ | 138 | case 1: { \ |
139 | case 1: __get_user_asm("bu"); break; \ | 139 | unsigned char __gu_val; \ |
140 | case 2: __get_user_asm("hu"); break; \ | 140 | __get_user_asm("bu"); \ |
141 | case 4: __get_user_asm("" ); break; \ | 141 | (x) = *(__force __typeof__(*(ptr))*) &__gu_val; \ |
142 | default: __get_user_unknown(); break; \ | 142 | break; \ |
143 | } \ | 143 | } \ |
144 | x = (__typeof__(*(ptr))) __gu_val; \ | 144 | case 2: { \ |
145 | __gu_err; \ | 145 | unsigned short __gu_val; \ |
146 | __get_user_asm("hu"); \ | ||
147 | (x) = *(__force __typeof__(*(ptr))*) &__gu_val; \ | ||
148 | break; \ | ||
149 | } \ | ||
150 | case 4: { \ | ||
151 | unsigned int __gu_val; \ | ||
152 | __get_user_asm(""); \ | ||
153 | (x) = *(__force __typeof__(*(ptr))*) &__gu_val; \ | ||
154 | break; \ | ||
155 | } \ | ||
156 | default: \ | ||
157 | __get_user_unknown(); \ | ||
158 | break; \ | ||
159 | } \ | ||
160 | __gu_err; \ | ||
146 | }) | 161 | }) |
147 | 162 | ||
148 | #define __get_user_check(x, ptr, size) \ | 163 | #define __get_user_check(x, ptr, size) \ |
149 | ({ \ | 164 | ({ \ |
150 | __typeof__(*(ptr)) __gu_val; \ | 165 | int _e; \ |
151 | unsigned long __gu_addr; \ | 166 | if (likely(__access_ok((unsigned long) (ptr), (size)))) \ |
152 | int __gu_err; \ | 167 | _e = __get_user_nocheck((x), (ptr), (size)); \ |
153 | __gu_addr = (unsigned long) (ptr); \ | 168 | else { \ |
154 | if (likely(__access_ok(__gu_addr,size))) { \ | 169 | _e = -EFAULT; \ |
155 | switch (size) { \ | 170 | (x) = (__typeof__(x))0; \ |
156 | case 1: __get_user_asm("bu"); break; \ | 171 | } \ |
157 | case 2: __get_user_asm("hu"); break; \ | 172 | _e; \ |
158 | case 4: __get_user_asm("" ); break; \ | ||
159 | default: __get_user_unknown(); break; \ | ||
160 | } \ | ||
161 | } \ | ||
162 | else { \ | ||
163 | __gu_err = -EFAULT; \ | ||
164 | __gu_val = 0; \ | ||
165 | } \ | ||
166 | x = (__typeof__(*(ptr))) __gu_val; \ | ||
167 | __gu_err; \ | ||
168 | }) | 173 | }) |
169 | 174 | ||
170 | #define __get_user_asm(INSN) \ | 175 | #define __get_user_asm(INSN) \ |
diff --git a/arch/mn10300/unit-asb2303/include/unit/clock.h b/arch/mn10300/unit-asb2303/include/unit/clock.h index 8b450e920af1..2a0bf79ab968 100644 --- a/arch/mn10300/unit-asb2303/include/unit/clock.h +++ b/arch/mn10300/unit-asb2303/include/unit/clock.h | |||
@@ -20,9 +20,9 @@ extern unsigned long mn10300_ioclk; /* IOCLK (crystal speed) in HZ */ | |||
20 | extern unsigned long mn10300_iobclk; | 20 | extern unsigned long mn10300_iobclk; |
21 | extern unsigned long mn10300_tsc_per_HZ; | 21 | extern unsigned long mn10300_tsc_per_HZ; |
22 | 22 | ||
23 | #define MN10300_IOCLK ((unsigned long)mn10300_ioclk) | 23 | #define MN10300_IOCLK mn10300_ioclk |
24 | /* If this processors has a another clock, uncomment the below. */ | 24 | /* If this processors has a another clock, uncomment the below. */ |
25 | /* #define MN10300_IOBCLK ((unsigned long)mn10300_iobclk) */ | 25 | /* #define MN10300_IOBCLK mn10300_iobclk */ |
26 | 26 | ||
27 | #else /* !CONFIG_MN10300_RTC */ | 27 | #else /* !CONFIG_MN10300_RTC */ |
28 | 28 | ||
@@ -35,7 +35,7 @@ extern unsigned long mn10300_tsc_per_HZ; | |||
35 | #define MN10300_TSCCLK MN10300_IOCLK | 35 | #define MN10300_TSCCLK MN10300_IOCLK |
36 | 36 | ||
37 | #ifdef CONFIG_MN10300_RTC | 37 | #ifdef CONFIG_MN10300_RTC |
38 | #define MN10300_TSC_PER_HZ ((unsigned long)mn10300_tsc_per_HZ) | 38 | #define MN10300_TSC_PER_HZ mn10300_tsc_per_HZ |
39 | #else /* !CONFIG_MN10300_RTC */ | 39 | #else /* !CONFIG_MN10300_RTC */ |
40 | #define MN10300_TSC_PER_HZ (MN10300_TSCCLK/HZ) | 40 | #define MN10300_TSC_PER_HZ (MN10300_TSCCLK/HZ) |
41 | #endif /* !CONFIG_MN10300_RTC */ | 41 | #endif /* !CONFIG_MN10300_RTC */ |
diff --git a/arch/mn10300/unit-asb2305/include/unit/clock.h b/arch/mn10300/unit-asb2305/include/unit/clock.h index 7d514841ffda..67be3f2eb18e 100644 --- a/arch/mn10300/unit-asb2305/include/unit/clock.h +++ b/arch/mn10300/unit-asb2305/include/unit/clock.h | |||
@@ -20,9 +20,9 @@ extern unsigned long mn10300_ioclk; /* IOCLK (crystal speed) in HZ */ | |||
20 | extern unsigned long mn10300_iobclk; | 20 | extern unsigned long mn10300_iobclk; |
21 | extern unsigned long mn10300_tsc_per_HZ; | 21 | extern unsigned long mn10300_tsc_per_HZ; |
22 | 22 | ||
23 | #define MN10300_IOCLK ((unsigned long)mn10300_ioclk) | 23 | #define MN10300_IOCLK mn10300_ioclk |
24 | /* If this processors has a another clock, uncomment the below. */ | 24 | /* If this processors has a another clock, uncomment the below. */ |
25 | /* #define MN10300_IOBCLK ((unsigned long)mn10300_iobclk) */ | 25 | /* #define MN10300_IOBCLK mn10300_iobclk */ |
26 | 26 | ||
27 | #else /* !CONFIG_MN10300_RTC */ | 27 | #else /* !CONFIG_MN10300_RTC */ |
28 | 28 | ||
@@ -35,7 +35,7 @@ extern unsigned long mn10300_tsc_per_HZ; | |||
35 | #define MN10300_TSCCLK MN10300_IOCLK | 35 | #define MN10300_TSCCLK MN10300_IOCLK |
36 | 36 | ||
37 | #ifdef CONFIG_MN10300_RTC | 37 | #ifdef CONFIG_MN10300_RTC |
38 | #define MN10300_TSC_PER_HZ ((unsigned long)mn10300_tsc_per_HZ) | 38 | #define MN10300_TSC_PER_HZ mn10300_tsc_per_HZ |
39 | #else /* !CONFIG_MN10300_RTC */ | 39 | #else /* !CONFIG_MN10300_RTC */ |
40 | #define MN10300_TSC_PER_HZ (MN10300_TSCCLK/HZ) | 40 | #define MN10300_TSC_PER_HZ (MN10300_TSCCLK/HZ) |
41 | #endif /* !CONFIG_MN10300_RTC */ | 41 | #endif /* !CONFIG_MN10300_RTC */ |
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index f388dc68f605..524d9352f17e 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
@@ -18,6 +18,7 @@ config PARISC | |||
18 | select BUG | 18 | select BUG |
19 | select HAVE_PERF_EVENTS | 19 | select HAVE_PERF_EVENTS |
20 | select GENERIC_ATOMIC64 if !64BIT | 20 | select GENERIC_ATOMIC64 if !64BIT |
21 | select HAVE_ARCH_TRACEHOOK | ||
21 | help | 22 | help |
22 | The PA-RISC microprocessor is designed by Hewlett-Packard and used | 23 | The PA-RISC microprocessor is designed by Hewlett-Packard and used |
23 | in many of their workstations & servers (HP9000 700 and 800 series, | 24 | in many of their workstations & servers (HP9000 700 and 800 series, |
diff --git a/arch/parisc/include/asm/fixmap.h b/arch/parisc/include/asm/fixmap.h index de3fe3a18229..6fec4d4a1a18 100644 --- a/arch/parisc/include/asm/fixmap.h +++ b/arch/parisc/include/asm/fixmap.h | |||
@@ -21,9 +21,9 @@ | |||
21 | #define KERNEL_MAP_END (TMPALIAS_MAP_START) | 21 | #define KERNEL_MAP_END (TMPALIAS_MAP_START) |
22 | 22 | ||
23 | #ifndef __ASSEMBLY__ | 23 | #ifndef __ASSEMBLY__ |
24 | extern void *vmalloc_start; | 24 | extern void *parisc_vmalloc_start; |
25 | #define PCXL_DMA_MAP_SIZE (8*1024*1024) | 25 | #define PCXL_DMA_MAP_SIZE (8*1024*1024) |
26 | #define VMALLOC_START ((unsigned long)vmalloc_start) | 26 | #define VMALLOC_START ((unsigned long)parisc_vmalloc_start) |
27 | #define VMALLOC_END (KERNEL_MAP_END) | 27 | #define VMALLOC_END (KERNEL_MAP_END) |
28 | #endif /*__ASSEMBLY__*/ | 28 | #endif /*__ASSEMBLY__*/ |
29 | 29 | ||
diff --git a/arch/parisc/include/asm/hardirq.h b/arch/parisc/include/asm/hardirq.h index ce93133d5112..0d68184a76cb 100644 --- a/arch/parisc/include/asm/hardirq.h +++ b/arch/parisc/include/asm/hardirq.h | |||
@@ -1,29 +1,11 @@ | |||
1 | /* hardirq.h: PA-RISC hard IRQ support. | 1 | /* hardirq.h: PA-RISC hard IRQ support. |
2 | * | 2 | * |
3 | * Copyright (C) 2001 Matthew Wilcox <matthew@wil.cx> | 3 | * Copyright (C) 2001 Matthew Wilcox <matthew@wil.cx> |
4 | * | ||
5 | * The locking is really quite interesting. There's a cpu-local | ||
6 | * count of how many interrupts are being handled, and a global | ||
7 | * lock. An interrupt can only be serviced if the global lock | ||
8 | * is free. You can't be sure no more interrupts are being | ||
9 | * serviced until you've acquired the lock and then checked | ||
10 | * all the per-cpu interrupt counts are all zero. It's a specialised | ||
11 | * br_lock, and that's exactly how Sparc does it. We don't because | ||
12 | * it's more locking for us. This way is lock-free in the interrupt path. | ||
13 | */ | 4 | */ |
14 | 5 | ||
15 | #ifndef _PARISC_HARDIRQ_H | 6 | #ifndef _PARISC_HARDIRQ_H |
16 | #define _PARISC_HARDIRQ_H | 7 | #define _PARISC_HARDIRQ_H |
17 | 8 | ||
18 | #include <linux/threads.h> | 9 | #include <asm-generic/hardirq.h> |
19 | #include <linux/irq.h> | ||
20 | |||
21 | typedef struct { | ||
22 | unsigned long __softirq_pending; /* set_bit is used on this */ | ||
23 | } ____cacheline_aligned irq_cpustat_t; | ||
24 | |||
25 | #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ | ||
26 | |||
27 | void ack_bad_irq(unsigned int irq); | ||
28 | 10 | ||
29 | #endif /* _PARISC_HARDIRQ_H */ | 11 | #endif /* _PARISC_HARDIRQ_H */ |
diff --git a/arch/parisc/include/asm/ptrace.h b/arch/parisc/include/asm/ptrace.h index 302f68dc889c..aead40b16dd8 100644 --- a/arch/parisc/include/asm/ptrace.h +++ b/arch/parisc/include/asm/ptrace.h | |||
@@ -59,8 +59,11 @@ void user_enable_block_step(struct task_struct *task); | |||
59 | #define user_mode(regs) (((regs)->iaoq[0] & 3) ? 1 : 0) | 59 | #define user_mode(regs) (((regs)->iaoq[0] & 3) ? 1 : 0) |
60 | #define user_space(regs) (((regs)->iasq[1] != 0) ? 1 : 0) | 60 | #define user_space(regs) (((regs)->iasq[1] != 0) ? 1 : 0) |
61 | #define instruction_pointer(regs) ((regs)->iaoq[0] & ~3) | 61 | #define instruction_pointer(regs) ((regs)->iaoq[0] & ~3) |
62 | #define user_stack_pointer(regs) ((regs)->gr[30]) | ||
62 | unsigned long profile_pc(struct pt_regs *); | 63 | unsigned long profile_pc(struct pt_regs *); |
63 | extern void show_regs(struct pt_regs *); | 64 | extern void show_regs(struct pt_regs *); |
64 | #endif | 65 | |
66 | |||
67 | #endif /* __KERNEL__ */ | ||
65 | 68 | ||
66 | #endif | 69 | #endif |
diff --git a/arch/parisc/include/asm/syscall.h b/arch/parisc/include/asm/syscall.h new file mode 100644 index 000000000000..8bdfd2c8c39f --- /dev/null +++ b/arch/parisc/include/asm/syscall.h | |||
@@ -0,0 +1,40 @@ | |||
1 | /* syscall.h */ | ||
2 | |||
3 | #ifndef _ASM_PARISC_SYSCALL_H_ | ||
4 | #define _ASM_PARISC_SYSCALL_H_ | ||
5 | |||
6 | #include <linux/err.h> | ||
7 | #include <asm/ptrace.h> | ||
8 | |||
9 | static inline long syscall_get_nr(struct task_struct *tsk, | ||
10 | struct pt_regs *regs) | ||
11 | { | ||
12 | return regs->gr[20]; | ||
13 | } | ||
14 | |||
15 | static inline void syscall_get_arguments(struct task_struct *tsk, | ||
16 | struct pt_regs *regs, unsigned int i, | ||
17 | unsigned int n, unsigned long *args) | ||
18 | { | ||
19 | BUG_ON(i); | ||
20 | |||
21 | switch (n) { | ||
22 | case 6: | ||
23 | args[5] = regs->gr[21]; | ||
24 | case 5: | ||
25 | args[4] = regs->gr[22]; | ||
26 | case 4: | ||
27 | args[3] = regs->gr[23]; | ||
28 | case 3: | ||
29 | args[2] = regs->gr[24]; | ||
30 | case 2: | ||
31 | args[1] = regs->gr[25]; | ||
32 | case 1: | ||
33 | args[0] = regs->gr[26]; | ||
34 | break; | ||
35 | default: | ||
36 | BUG(); | ||
37 | } | ||
38 | } | ||
39 | |||
40 | #endif /*_ASM_PARISC_SYSCALL_H_*/ | ||
diff --git a/arch/parisc/include/asm/thread_info.h b/arch/parisc/include/asm/thread_info.h index ac775a76bff7..7ecc1039cfed 100644 --- a/arch/parisc/include/asm/thread_info.h +++ b/arch/parisc/include/asm/thread_info.h | |||
@@ -32,6 +32,11 @@ struct thread_info { | |||
32 | #define init_thread_info (init_thread_union.thread_info) | 32 | #define init_thread_info (init_thread_union.thread_info) |
33 | #define init_stack (init_thread_union.stack) | 33 | #define init_stack (init_thread_union.stack) |
34 | 34 | ||
35 | /* how to get the thread information struct from C */ | ||
36 | #define current_thread_info() ((struct thread_info *)mfctl(30)) | ||
37 | |||
38 | #endif /* !__ASSEMBLY */ | ||
39 | |||
35 | /* thread information allocation */ | 40 | /* thread information allocation */ |
36 | 41 | ||
37 | #define THREAD_SIZE_ORDER 2 | 42 | #define THREAD_SIZE_ORDER 2 |
@@ -40,11 +45,6 @@ struct thread_info { | |||
40 | #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER) | 45 | #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER) |
41 | #define THREAD_SHIFT (PAGE_SHIFT + THREAD_SIZE_ORDER) | 46 | #define THREAD_SHIFT (PAGE_SHIFT + THREAD_SIZE_ORDER) |
42 | 47 | ||
43 | /* how to get the thread information struct from C */ | ||
44 | #define current_thread_info() ((struct thread_info *)mfctl(30)) | ||
45 | |||
46 | #endif /* !__ASSEMBLY */ | ||
47 | |||
48 | #define PREEMPT_ACTIVE_BIT 28 | 48 | #define PREEMPT_ACTIVE_BIT 28 |
49 | #define PREEMPT_ACTIVE (1 << PREEMPT_ACTIVE_BIT) | 49 | #define PREEMPT_ACTIVE (1 << PREEMPT_ACTIVE_BIT) |
50 | 50 | ||
@@ -60,6 +60,8 @@ struct thread_info { | |||
60 | #define TIF_RESTORE_SIGMASK 6 /* restore saved signal mask */ | 60 | #define TIF_RESTORE_SIGMASK 6 /* restore saved signal mask */ |
61 | #define TIF_FREEZE 7 /* is freezing for suspend */ | 61 | #define TIF_FREEZE 7 /* is freezing for suspend */ |
62 | #define TIF_NOTIFY_RESUME 8 /* callback before returning to user */ | 62 | #define TIF_NOTIFY_RESUME 8 /* callback before returning to user */ |
63 | #define TIF_SINGLESTEP 9 /* single stepping? */ | ||
64 | #define TIF_BLOCKSTEP 10 /* branch stepping? */ | ||
63 | 65 | ||
64 | #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) | 66 | #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) |
65 | #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) | 67 | #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) |
@@ -69,6 +71,8 @@ struct thread_info { | |||
69 | #define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK) | 71 | #define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK) |
70 | #define _TIF_FREEZE (1 << TIF_FREEZE) | 72 | #define _TIF_FREEZE (1 << TIF_FREEZE) |
71 | #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) | 73 | #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) |
74 | #define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP) | ||
75 | #define _TIF_BLOCKSTEP (1 << TIF_BLOCKSTEP) | ||
72 | 76 | ||
73 | #define _TIF_USER_WORK_MASK (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | \ | 77 | #define _TIF_USER_WORK_MASK (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | \ |
74 | _TIF_NEED_RESCHED | _TIF_RESTORE_SIGMASK) | 78 | _TIF_NEED_RESCHED | _TIF_RESTORE_SIGMASK) |
diff --git a/arch/parisc/kernel/asm-offsets.c b/arch/parisc/kernel/asm-offsets.c index 699cf8ef2118..fcd3c707bf12 100644 --- a/arch/parisc/kernel/asm-offsets.c +++ b/arch/parisc/kernel/asm-offsets.c | |||
@@ -270,8 +270,8 @@ int main(void) | |||
270 | DEFINE(DTLB_OFF_COUNT, offsetof(struct pdc_cache_info, dt_off_count)); | 270 | DEFINE(DTLB_OFF_COUNT, offsetof(struct pdc_cache_info, dt_off_count)); |
271 | DEFINE(DTLB_LOOP, offsetof(struct pdc_cache_info, dt_loop)); | 271 | DEFINE(DTLB_LOOP, offsetof(struct pdc_cache_info, dt_loop)); |
272 | BLANK(); | 272 | BLANK(); |
273 | DEFINE(PA_BLOCKSTEP_BIT, 31-PT_BLOCKSTEP_BIT); | 273 | DEFINE(TIF_BLOCKSTEP_PA_BIT, 31-TIF_BLOCKSTEP); |
274 | DEFINE(PA_SINGLESTEP_BIT, 31-PT_SINGLESTEP_BIT); | 274 | DEFINE(TIF_SINGLESTEP_PA_BIT, 31-TIF_SINGLESTEP); |
275 | BLANK(); | 275 | BLANK(); |
276 | DEFINE(ASM_PMD_SHIFT, PMD_SHIFT); | 276 | DEFINE(ASM_PMD_SHIFT, PMD_SHIFT); |
277 | DEFINE(ASM_PGDIR_SHIFT, PGDIR_SHIFT); | 277 | DEFINE(ASM_PGDIR_SHIFT, PGDIR_SHIFT); |
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S index 8c4712b74dc1..3a44f7f704fa 100644 --- a/arch/parisc/kernel/entry.S +++ b/arch/parisc/kernel/entry.S | |||
@@ -2047,12 +2047,13 @@ syscall_do_signal: | |||
2047 | b,n syscall_check_sig | 2047 | b,n syscall_check_sig |
2048 | 2048 | ||
2049 | syscall_restore: | 2049 | syscall_restore: |
2050 | /* Are we being ptraced? */ | ||
2051 | LDREG TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1 | 2050 | LDREG TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1 |
2052 | 2051 | ||
2053 | ldw TASK_PTRACE(%r1), %r19 | 2052 | /* Are we being ptraced? */ |
2054 | bb,< %r19,31,syscall_restore_rfi | 2053 | ldw TASK_FLAGS(%r1),%r19 |
2055 | nop | 2054 | ldi (_TIF_SINGLESTEP|_TIF_BLOCKSTEP),%r2 |
2055 | and,COND(=) %r19,%r2,%r0 | ||
2056 | b,n syscall_restore_rfi | ||
2056 | 2057 | ||
2057 | ldo TASK_PT_FR31(%r1),%r19 /* reload fpregs */ | 2058 | ldo TASK_PT_FR31(%r1),%r19 /* reload fpregs */ |
2058 | rest_fp %r19 | 2059 | rest_fp %r19 |
@@ -2113,16 +2114,16 @@ syscall_restore_rfi: | |||
2113 | ldi 0x0b,%r20 /* Create new PSW */ | 2114 | ldi 0x0b,%r20 /* Create new PSW */ |
2114 | depi -1,13,1,%r20 /* C, Q, D, and I bits */ | 2115 | depi -1,13,1,%r20 /* C, Q, D, and I bits */ |
2115 | 2116 | ||
2116 | /* The values of PA_SINGLESTEP_BIT and PA_BLOCKSTEP_BIT are | 2117 | /* The values of SINGLESTEP_BIT and BLOCKSTEP_BIT are |
2117 | * set in include/linux/ptrace.h and converted to PA bitmap | 2118 | * set in thread_info.h and converted to PA bitmap |
2118 | * numbers in asm-offsets.c */ | 2119 | * numbers in asm-offsets.c */ |
2119 | 2120 | ||
2120 | /* if ((%r19.PA_SINGLESTEP_BIT)) { %r20.27=1} */ | 2121 | /* if ((%r19.SINGLESTEP_BIT)) { %r20.27=1} */ |
2121 | extru,= %r19,PA_SINGLESTEP_BIT,1,%r0 | 2122 | extru,= %r19,TIF_SINGLESTEP_PA_BIT,1,%r0 |
2122 | depi -1,27,1,%r20 /* R bit */ | 2123 | depi -1,27,1,%r20 /* R bit */ |
2123 | 2124 | ||
2124 | /* if ((%r19.PA_BLOCKSTEP_BIT)) { %r20.7=1} */ | 2125 | /* if ((%r19.BLOCKSTEP_BIT)) { %r20.7=1} */ |
2125 | extru,= %r19,PA_BLOCKSTEP_BIT,1,%r0 | 2126 | extru,= %r19,TIF_BLOCKSTEP_PA_BIT,1,%r0 |
2126 | depi -1,7,1,%r20 /* T bit */ | 2127 | depi -1,7,1,%r20 /* T bit */ |
2127 | 2128 | ||
2128 | STREG %r20,TASK_PT_PSW(%r1) | 2129 | STREG %r20,TASK_PT_PSW(%r1) |
diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c index 330f536a9324..2e7610cb33d5 100644 --- a/arch/parisc/kernel/irq.c +++ b/arch/parisc/kernel/irq.c | |||
@@ -423,8 +423,3 @@ void __init init_IRQ(void) | |||
423 | set_eiem(cpu_eiem); /* EIEM : enable all external intr */ | 423 | set_eiem(cpu_eiem); /* EIEM : enable all external intr */ |
424 | 424 | ||
425 | } | 425 | } |
426 | |||
427 | void ack_bad_irq(unsigned int irq) | ||
428 | { | ||
429 | printk(KERN_WARNING "unexpected IRQ %d\n", irq); | ||
430 | } | ||
diff --git a/arch/parisc/kernel/module.c b/arch/parisc/kernel/module.c index 61ee0eec4e69..212074653df7 100644 --- a/arch/parisc/kernel/module.c +++ b/arch/parisc/kernel/module.c | |||
@@ -893,7 +893,7 @@ int module_finalize(const Elf_Ehdr *hdr, | |||
893 | * ourselves */ | 893 | * ourselves */ |
894 | for (i = 1; i < hdr->e_shnum; i++) { | 894 | for (i = 1; i < hdr->e_shnum; i++) { |
895 | if(sechdrs[i].sh_type == SHT_SYMTAB | 895 | if(sechdrs[i].sh_type == SHT_SYMTAB |
896 | && (sechdrs[i].sh_type & SHF_ALLOC)) { | 896 | && (sechdrs[i].sh_flags & SHF_ALLOC)) { |
897 | int strindex = sechdrs[i].sh_link; | 897 | int strindex = sechdrs[i].sh_link; |
898 | /* FIXME: AWFUL HACK | 898 | /* FIXME: AWFUL HACK |
899 | * The cast is to drop the const from | 899 | * The cast is to drop the const from |
diff --git a/arch/parisc/kernel/ptrace.c b/arch/parisc/kernel/ptrace.c index 927db3668b6f..c4f49e45129d 100644 --- a/arch/parisc/kernel/ptrace.c +++ b/arch/parisc/kernel/ptrace.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
14 | #include <linux/errno.h> | 14 | #include <linux/errno.h> |
15 | #include <linux/ptrace.h> | 15 | #include <linux/ptrace.h> |
16 | #include <linux/tracehook.h> | ||
16 | #include <linux/user.h> | 17 | #include <linux/user.h> |
17 | #include <linux/personality.h> | 18 | #include <linux/personality.h> |
18 | #include <linux/security.h> | 19 | #include <linux/security.h> |
@@ -35,7 +36,8 @@ | |||
35 | */ | 36 | */ |
36 | void ptrace_disable(struct task_struct *task) | 37 | void ptrace_disable(struct task_struct *task) |
37 | { | 38 | { |
38 | task->ptrace &= ~(PT_SINGLESTEP|PT_BLOCKSTEP); | 39 | clear_tsk_thread_flag(task, TIF_SINGLESTEP); |
40 | clear_tsk_thread_flag(task, TIF_BLOCKSTEP); | ||
39 | 41 | ||
40 | /* make sure the trap bits are not set */ | 42 | /* make sure the trap bits are not set */ |
41 | pa_psw(task)->r = 0; | 43 | pa_psw(task)->r = 0; |
@@ -55,8 +57,8 @@ void user_disable_single_step(struct task_struct *task) | |||
55 | 57 | ||
56 | void user_enable_single_step(struct task_struct *task) | 58 | void user_enable_single_step(struct task_struct *task) |
57 | { | 59 | { |
58 | task->ptrace &= ~PT_BLOCKSTEP; | 60 | clear_tsk_thread_flag(task, TIF_BLOCKSTEP); |
59 | task->ptrace |= PT_SINGLESTEP; | 61 | set_tsk_thread_flag(task, TIF_SINGLESTEP); |
60 | 62 | ||
61 | if (pa_psw(task)->n) { | 63 | if (pa_psw(task)->n) { |
62 | struct siginfo si; | 64 | struct siginfo si; |
@@ -98,8 +100,8 @@ void user_enable_single_step(struct task_struct *task) | |||
98 | 100 | ||
99 | void user_enable_block_step(struct task_struct *task) | 101 | void user_enable_block_step(struct task_struct *task) |
100 | { | 102 | { |
101 | task->ptrace &= ~PT_SINGLESTEP; | 103 | clear_tsk_thread_flag(task, TIF_SINGLESTEP); |
102 | task->ptrace |= PT_BLOCKSTEP; | 104 | set_tsk_thread_flag(task, TIF_BLOCKSTEP); |
103 | 105 | ||
104 | /* Enable taken branch trap. */ | 106 | /* Enable taken branch trap. */ |
105 | pa_psw(task)->r = 0; | 107 | pa_psw(task)->r = 0; |
@@ -263,22 +265,20 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request, | |||
263 | } | 265 | } |
264 | #endif | 266 | #endif |
265 | 267 | ||
268 | long do_syscall_trace_enter(struct pt_regs *regs) | ||
269 | { | ||
270 | if (test_thread_flag(TIF_SYSCALL_TRACE) && | ||
271 | tracehook_report_syscall_entry(regs)) | ||
272 | return -1L; | ||
273 | |||
274 | return regs->gr[20]; | ||
275 | } | ||
266 | 276 | ||
267 | void syscall_trace(void) | 277 | void do_syscall_trace_exit(struct pt_regs *regs) |
268 | { | 278 | { |
269 | if (!test_thread_flag(TIF_SYSCALL_TRACE)) | 279 | int stepping = test_thread_flag(TIF_SINGLESTEP) || |
270 | return; | 280 | test_thread_flag(TIF_BLOCKSTEP); |
271 | if (!(current->ptrace & PT_PTRACED)) | 281 | |
272 | return; | 282 | if (stepping || test_thread_flag(TIF_SYSCALL_TRACE)) |
273 | ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) | 283 | tracehook_report_syscall_exit(regs, stepping); |
274 | ? 0x80 : 0)); | ||
275 | /* | ||
276 | * this isn't the same as continuing with a signal, but it will do | ||
277 | * for normal use. strace only continues with a signal if the | ||
278 | * stopping signal is not SIGTRAP. -brl | ||
279 | */ | ||
280 | if (current->exit_code) { | ||
281 | send_sig(current->exit_code, current, 1); | ||
282 | current->exit_code = 0; | ||
283 | } | ||
284 | } | 284 | } |
diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c index 8eb3c63c407a..e8467e4aa8d1 100644 --- a/arch/parisc/kernel/signal.c +++ b/arch/parisc/kernel/signal.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/errno.h> | 21 | #include <linux/errno.h> |
22 | #include <linux/wait.h> | 22 | #include <linux/wait.h> |
23 | #include <linux/ptrace.h> | 23 | #include <linux/ptrace.h> |
24 | #include <linux/tracehook.h> | ||
24 | #include <linux/unistd.h> | 25 | #include <linux/unistd.h> |
25 | #include <linux/stddef.h> | 26 | #include <linux/stddef.h> |
26 | #include <linux/compat.h> | 27 | #include <linux/compat.h> |
@@ -34,7 +35,6 @@ | |||
34 | #include <asm/asm-offsets.h> | 35 | #include <asm/asm-offsets.h> |
35 | 36 | ||
36 | #ifdef CONFIG_COMPAT | 37 | #ifdef CONFIG_COMPAT |
37 | #include <linux/compat.h> | ||
38 | #include "signal32.h" | 38 | #include "signal32.h" |
39 | #endif | 39 | #endif |
40 | 40 | ||
@@ -468,6 +468,9 @@ handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka, | |||
468 | sigaddset(¤t->blocked,sig); | 468 | sigaddset(¤t->blocked,sig); |
469 | recalc_sigpending(); | 469 | recalc_sigpending(); |
470 | spin_unlock_irq(¤t->sighand->siglock); | 470 | spin_unlock_irq(¤t->sighand->siglock); |
471 | |||
472 | tracehook_signal_handler(sig, info, ka, regs, 0); | ||
473 | |||
471 | return 1; | 474 | return 1; |
472 | } | 475 | } |
473 | 476 | ||
diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S index 59fc1a43ec3e..f5f96021caa0 100644 --- a/arch/parisc/kernel/syscall.S +++ b/arch/parisc/kernel/syscall.S | |||
@@ -288,18 +288,23 @@ tracesys: | |||
288 | STREG %r18,PT_GR18(%r2) | 288 | STREG %r18,PT_GR18(%r2) |
289 | /* Finished saving things for the debugger */ | 289 | /* Finished saving things for the debugger */ |
290 | 290 | ||
291 | ldil L%syscall_trace,%r1 | 291 | copy %r2,%r26 |
292 | ldil L%do_syscall_trace_enter,%r1 | ||
292 | ldil L%tracesys_next,%r2 | 293 | ldil L%tracesys_next,%r2 |
293 | be R%syscall_trace(%sr7,%r1) | 294 | be R%do_syscall_trace_enter(%sr7,%r1) |
294 | ldo R%tracesys_next(%r2),%r2 | 295 | ldo R%tracesys_next(%r2),%r2 |
295 | 296 | ||
296 | tracesys_next: | 297 | tracesys_next: |
298 | /* do_syscall_trace_enter either returned the syscallno, or -1L, | ||
299 | * so we skip restoring the PT_GR20 below, since we pulled it from | ||
300 | * task->thread.regs.gr[20] above. | ||
301 | */ | ||
302 | copy %ret0,%r20 | ||
297 | ldil L%sys_call_table,%r1 | 303 | ldil L%sys_call_table,%r1 |
298 | ldo R%sys_call_table(%r1), %r19 | 304 | ldo R%sys_call_table(%r1), %r19 |
299 | 305 | ||
300 | ldo -THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1 /* get task ptr */ | 306 | ldo -THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1 /* get task ptr */ |
301 | LDREG TI_TASK(%r1), %r1 | 307 | LDREG TI_TASK(%r1), %r1 |
302 | LDREG TASK_PT_GR20(%r1), %r20 | ||
303 | LDREG TASK_PT_GR26(%r1), %r26 /* Restore the users args */ | 308 | LDREG TASK_PT_GR26(%r1), %r26 /* Restore the users args */ |
304 | LDREG TASK_PT_GR25(%r1), %r25 | 309 | LDREG TASK_PT_GR25(%r1), %r25 |
305 | LDREG TASK_PT_GR24(%r1), %r24 | 310 | LDREG TASK_PT_GR24(%r1), %r24 |
@@ -336,7 +341,8 @@ tracesys_exit: | |||
336 | #ifdef CONFIG_64BIT | 341 | #ifdef CONFIG_64BIT |
337 | ldo -16(%r30),%r29 /* Reference param save area */ | 342 | ldo -16(%r30),%r29 /* Reference param save area */ |
338 | #endif | 343 | #endif |
339 | bl syscall_trace, %r2 | 344 | ldo TASK_REGS(%r1),%r26 |
345 | bl do_syscall_trace_exit,%r2 | ||
340 | STREG %r28,TASK_PT_GR28(%r1) /* save return value now */ | 346 | STREG %r28,TASK_PT_GR28(%r1) /* save return value now */ |
341 | ldo -THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1 /* get task ptr */ | 347 | ldo -THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1 /* get task ptr */ |
342 | LDREG TI_TASK(%r1), %r1 | 348 | LDREG TI_TASK(%r1), %r1 |
@@ -353,12 +359,12 @@ tracesys_exit: | |||
353 | 359 | ||
354 | tracesys_sigexit: | 360 | tracesys_sigexit: |
355 | ldo -THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1 /* get task ptr */ | 361 | ldo -THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r1 /* get task ptr */ |
356 | LDREG 0(%r1), %r1 | 362 | LDREG TI_TASK(%r1), %r1 |
357 | #ifdef CONFIG_64BIT | 363 | #ifdef CONFIG_64BIT |
358 | ldo -16(%r30),%r29 /* Reference param save area */ | 364 | ldo -16(%r30),%r29 /* Reference param save area */ |
359 | #endif | 365 | #endif |
360 | bl syscall_trace, %r2 | 366 | bl do_syscall_trace_exit,%r2 |
361 | nop | 367 | ldo TASK_REGS(%r1),%r26 |
362 | 368 | ||
363 | ldil L%syscall_exit_rfi,%r1 | 369 | ldil L%syscall_exit_rfi,%r1 |
364 | be,n R%syscall_exit_rfi(%sr7,%r1) | 370 | be,n R%syscall_exit_rfi(%sr7,%r1) |
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S index 775be2791bc2..fda4baa059b5 100644 --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <asm/cache.h> | 28 | #include <asm/cache.h> |
29 | #include <asm/page.h> | 29 | #include <asm/page.h> |
30 | #include <asm/asm-offsets.h> | 30 | #include <asm/asm-offsets.h> |
31 | #include <asm/thread_info.h> | ||
31 | 32 | ||
32 | /* ld script to make hppa Linux kernel */ | 33 | /* ld script to make hppa Linux kernel */ |
33 | #ifndef CONFIG_64BIT | 34 | #ifndef CONFIG_64BIT |
@@ -134,6 +135,15 @@ SECTIONS | |||
134 | __init_begin = .; | 135 | __init_begin = .; |
135 | INIT_TEXT_SECTION(16384) | 136 | INIT_TEXT_SECTION(16384) |
136 | INIT_DATA_SECTION(16) | 137 | INIT_DATA_SECTION(16) |
138 | /* we have to discard exit text and such at runtime, not link time */ | ||
139 | .exit.text : | ||
140 | { | ||
141 | EXIT_TEXT | ||
142 | } | ||
143 | .exit.data : | ||
144 | { | ||
145 | EXIT_DATA | ||
146 | } | ||
137 | 147 | ||
138 | PERCPU(PAGE_SIZE) | 148 | PERCPU(PAGE_SIZE) |
139 | . = ALIGN(PAGE_SIZE); | 149 | . = ALIGN(PAGE_SIZE); |
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c index d5aca31fddbb..13b6e3e59b99 100644 --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c | |||
@@ -434,8 +434,8 @@ void mark_rodata_ro(void) | |||
434 | #define SET_MAP_OFFSET(x) ((void *)(((unsigned long)(x) + VM_MAP_OFFSET) \ | 434 | #define SET_MAP_OFFSET(x) ((void *)(((unsigned long)(x) + VM_MAP_OFFSET) \ |
435 | & ~(VM_MAP_OFFSET-1))) | 435 | & ~(VM_MAP_OFFSET-1))) |
436 | 436 | ||
437 | void *vmalloc_start __read_mostly; | 437 | void *parisc_vmalloc_start __read_mostly; |
438 | EXPORT_SYMBOL(vmalloc_start); | 438 | EXPORT_SYMBOL(parisc_vmalloc_start); |
439 | 439 | ||
440 | #ifdef CONFIG_PA11 | 440 | #ifdef CONFIG_PA11 |
441 | unsigned long pcxl_dma_start __read_mostly; | 441 | unsigned long pcxl_dma_start __read_mostly; |
@@ -496,13 +496,14 @@ void __init mem_init(void) | |||
496 | #ifdef CONFIG_PA11 | 496 | #ifdef CONFIG_PA11 |
497 | if (hppa_dma_ops == &pcxl_dma_ops) { | 497 | if (hppa_dma_ops == &pcxl_dma_ops) { |
498 | pcxl_dma_start = (unsigned long)SET_MAP_OFFSET(MAP_START); | 498 | pcxl_dma_start = (unsigned long)SET_MAP_OFFSET(MAP_START); |
499 | vmalloc_start = SET_MAP_OFFSET(pcxl_dma_start + PCXL_DMA_MAP_SIZE); | 499 | parisc_vmalloc_start = SET_MAP_OFFSET(pcxl_dma_start |
500 | + PCXL_DMA_MAP_SIZE); | ||
500 | } else { | 501 | } else { |
501 | pcxl_dma_start = 0; | 502 | pcxl_dma_start = 0; |
502 | vmalloc_start = SET_MAP_OFFSET(MAP_START); | 503 | parisc_vmalloc_start = SET_MAP_OFFSET(MAP_START); |
503 | } | 504 | } |
504 | #else | 505 | #else |
505 | vmalloc_start = SET_MAP_OFFSET(MAP_START); | 506 | parisc_vmalloc_start = SET_MAP_OFFSET(MAP_START); |
506 | #endif | 507 | #endif |
507 | 508 | ||
508 | printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, %dk reserved, %dk data, %dk init)\n", | 509 | printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, %dk reserved, %dk data, %dk init)\n", |
diff --git a/arch/powerpc/kvm/timing.c b/arch/powerpc/kvm/timing.c index 47ee603f558e..2aa371e30079 100644 --- a/arch/powerpc/kvm/timing.c +++ b/arch/powerpc/kvm/timing.c | |||
@@ -201,7 +201,7 @@ static int kvmppc_exit_timing_open(struct inode *inode, struct file *file) | |||
201 | return single_open(file, kvmppc_exit_timing_show, inode->i_private); | 201 | return single_open(file, kvmppc_exit_timing_show, inode->i_private); |
202 | } | 202 | } |
203 | 203 | ||
204 | static struct file_operations kvmppc_exit_timing_fops = { | 204 | static const struct file_operations kvmppc_exit_timing_fops = { |
205 | .owner = THIS_MODULE, | 205 | .owner = THIS_MODULE, |
206 | .open = kvmppc_exit_timing_open, | 206 | .open = kvmppc_exit_timing_open, |
207 | .read = seq_read, | 207 | .read = seq_read, |
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c index 961309446170..884e8bcec499 100644 --- a/arch/powerpc/platforms/cell/spufs/file.c +++ b/arch/powerpc/platforms/cell/spufs/file.c | |||
@@ -147,7 +147,7 @@ static int __fops ## _open(struct inode *inode, struct file *file) \ | |||
147 | __simple_attr_check_format(__fmt, 0ull); \ | 147 | __simple_attr_check_format(__fmt, 0ull); \ |
148 | return spufs_attr_open(inode, file, __get, __set, __fmt); \ | 148 | return spufs_attr_open(inode, file, __get, __set, __fmt); \ |
149 | } \ | 149 | } \ |
150 | static struct file_operations __fops = { \ | 150 | static const struct file_operations __fops = { \ |
151 | .owner = THIS_MODULE, \ | 151 | .owner = THIS_MODULE, \ |
152 | .open = __fops ## _open, \ | 152 | .open = __fops ## _open, \ |
153 | .release = spufs_attr_release, \ | 153 | .release = spufs_attr_release, \ |
diff --git a/arch/powerpc/platforms/pseries/dtl.c b/arch/powerpc/platforms/pseries/dtl.c index ab69925d579b..937a544a236d 100644 --- a/arch/powerpc/platforms/pseries/dtl.c +++ b/arch/powerpc/platforms/pseries/dtl.c | |||
@@ -209,7 +209,7 @@ static ssize_t dtl_file_read(struct file *filp, char __user *buf, size_t len, | |||
209 | return n_read * sizeof(struct dtl_entry); | 209 | return n_read * sizeof(struct dtl_entry); |
210 | } | 210 | } |
211 | 211 | ||
212 | static struct file_operations dtl_fops = { | 212 | static const struct file_operations dtl_fops = { |
213 | .open = dtl_file_open, | 213 | .open = dtl_file_open, |
214 | .release = dtl_file_release, | 214 | .release = dtl_file_release, |
215 | .read = dtl_file_read, | 215 | .read = dtl_file_read, |
diff --git a/arch/s390/include/asm/delay.h b/arch/s390/include/asm/delay.h index a356c958e260..8a096b83f51f 100644 --- a/arch/s390/include/asm/delay.h +++ b/arch/s390/include/asm/delay.h | |||
@@ -14,10 +14,11 @@ | |||
14 | #ifndef _S390_DELAY_H | 14 | #ifndef _S390_DELAY_H |
15 | #define _S390_DELAY_H | 15 | #define _S390_DELAY_H |
16 | 16 | ||
17 | extern void __udelay(unsigned long usecs); | 17 | extern void __udelay(unsigned long long usecs); |
18 | extern void udelay_simple(unsigned long usecs); | 18 | extern void udelay_simple(unsigned long long usecs); |
19 | extern void __delay(unsigned long loops); | 19 | extern void __delay(unsigned long loops); |
20 | 20 | ||
21 | #define udelay(n) __udelay(n) | 21 | #define udelay(n) __udelay((unsigned long long) (n)) |
22 | #define mdelay(n) __udelay((unsigned long long) (n) * 1000) | ||
22 | 23 | ||
23 | #endif /* defined(_S390_DELAY_H) */ | 24 | #endif /* defined(_S390_DELAY_H) */ |
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h index 74d0bbb7d955..e885442c1dfe 100644 --- a/arch/s390/include/asm/elf.h +++ b/arch/s390/include/asm/elf.h | |||
@@ -92,6 +92,18 @@ | |||
92 | /* Keep this the last entry. */ | 92 | /* Keep this the last entry. */ |
93 | #define R_390_NUM 61 | 93 | #define R_390_NUM 61 |
94 | 94 | ||
95 | /* Bits present in AT_HWCAP. */ | ||
96 | #define HWCAP_S390_ESAN3 1 | ||
97 | #define HWCAP_S390_ZARCH 2 | ||
98 | #define HWCAP_S390_STFLE 4 | ||
99 | #define HWCAP_S390_MSA 8 | ||
100 | #define HWCAP_S390_LDISP 16 | ||
101 | #define HWCAP_S390_EIMM 32 | ||
102 | #define HWCAP_S390_DFP 64 | ||
103 | #define HWCAP_S390_HPAGE 128 | ||
104 | #define HWCAP_S390_ETF3EH 256 | ||
105 | #define HWCAP_S390_HIGH_GPRS 512 | ||
106 | |||
95 | /* | 107 | /* |
96 | * These are used to set parameters in the core dumps. | 108 | * These are used to set parameters in the core dumps. |
97 | */ | 109 | */ |
diff --git a/arch/s390/include/asm/ptrace.h b/arch/s390/include/asm/ptrace.h index 539263fc9ab9..95dcf183a28d 100644 --- a/arch/s390/include/asm/ptrace.h +++ b/arch/s390/include/asm/ptrace.h | |||
@@ -311,6 +311,10 @@ typedef struct | |||
311 | __u32 orig_gpr2; | 311 | __u32 orig_gpr2; |
312 | } s390_compat_regs; | 312 | } s390_compat_regs; |
313 | 313 | ||
314 | typedef struct | ||
315 | { | ||
316 | __u32 gprs_high[NUM_GPRS]; | ||
317 | } s390_compat_regs_high; | ||
314 | 318 | ||
315 | #ifdef __KERNEL__ | 319 | #ifdef __KERNEL__ |
316 | 320 | ||
diff --git a/arch/s390/include/asm/ucontext.h b/arch/s390/include/asm/ucontext.h index d69bec0b03f5..cfb874e66c9a 100644 --- a/arch/s390/include/asm/ucontext.h +++ b/arch/s390/include/asm/ucontext.h | |||
@@ -9,6 +9,21 @@ | |||
9 | #ifndef _ASM_S390_UCONTEXT_H | 9 | #ifndef _ASM_S390_UCONTEXT_H |
10 | #define _ASM_S390_UCONTEXT_H | 10 | #define _ASM_S390_UCONTEXT_H |
11 | 11 | ||
12 | #define UC_EXTENDED 0x00000001 | ||
13 | |||
14 | #ifndef __s390x__ | ||
15 | |||
16 | struct ucontext_extended { | ||
17 | unsigned long uc_flags; | ||
18 | struct ucontext *uc_link; | ||
19 | stack_t uc_stack; | ||
20 | _sigregs uc_mcontext; | ||
21 | unsigned long uc_sigmask[2]; | ||
22 | unsigned long uc_gprs_high[16]; | ||
23 | }; | ||
24 | |||
25 | #endif | ||
26 | |||
12 | struct ucontext { | 27 | struct ucontext { |
13 | unsigned long uc_flags; | 28 | unsigned long uc_flags; |
14 | struct ucontext *uc_link; | 29 | struct ucontext *uc_link; |
diff --git a/arch/s390/kernel/compat_signal.c b/arch/s390/kernel/compat_signal.c index b537cb0e9b55..eee999853a7c 100644 --- a/arch/s390/kernel/compat_signal.c +++ b/arch/s390/kernel/compat_signal.c | |||
@@ -39,6 +39,7 @@ typedef struct | |||
39 | struct sigcontext32 sc; | 39 | struct sigcontext32 sc; |
40 | _sigregs32 sregs; | 40 | _sigregs32 sregs; |
41 | int signo; | 41 | int signo; |
42 | __u32 gprs_high[NUM_GPRS]; | ||
42 | __u8 retcode[S390_SYSCALL_SIZE]; | 43 | __u8 retcode[S390_SYSCALL_SIZE]; |
43 | } sigframe32; | 44 | } sigframe32; |
44 | 45 | ||
@@ -48,6 +49,7 @@ typedef struct | |||
48 | __u8 retcode[S390_SYSCALL_SIZE]; | 49 | __u8 retcode[S390_SYSCALL_SIZE]; |
49 | compat_siginfo_t info; | 50 | compat_siginfo_t info; |
50 | struct ucontext32 uc; | 51 | struct ucontext32 uc; |
52 | __u32 gprs_high[NUM_GPRS]; | ||
51 | } rt_sigframe32; | 53 | } rt_sigframe32; |
52 | 54 | ||
53 | int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from) | 55 | int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from) |
@@ -344,6 +346,30 @@ static int restore_sigregs32(struct pt_regs *regs,_sigregs32 __user *sregs) | |||
344 | return 0; | 346 | return 0; |
345 | } | 347 | } |
346 | 348 | ||
349 | static int save_sigregs_gprs_high(struct pt_regs *regs, __u32 __user *uregs) | ||
350 | { | ||
351 | __u32 gprs_high[NUM_GPRS]; | ||
352 | int i; | ||
353 | |||
354 | for (i = 0; i < NUM_GPRS; i++) | ||
355 | gprs_high[i] = regs->gprs[i] >> 32; | ||
356 | |||
357 | return __copy_to_user(uregs, &gprs_high, sizeof(gprs_high)); | ||
358 | } | ||
359 | |||
360 | static int restore_sigregs_gprs_high(struct pt_regs *regs, __u32 __user *uregs) | ||
361 | { | ||
362 | __u32 gprs_high[NUM_GPRS]; | ||
363 | int err, i; | ||
364 | |||
365 | err = __copy_from_user(&gprs_high, uregs, sizeof(gprs_high)); | ||
366 | if (err) | ||
367 | return err; | ||
368 | for (i = 0; i < NUM_GPRS; i++) | ||
369 | *(__u32 *)®s->gprs[i] = gprs_high[i]; | ||
370 | return 0; | ||
371 | } | ||
372 | |||
347 | asmlinkage long sys32_sigreturn(void) | 373 | asmlinkage long sys32_sigreturn(void) |
348 | { | 374 | { |
349 | struct pt_regs *regs = task_pt_regs(current); | 375 | struct pt_regs *regs = task_pt_regs(current); |
@@ -363,6 +389,8 @@ asmlinkage long sys32_sigreturn(void) | |||
363 | 389 | ||
364 | if (restore_sigregs32(regs, &frame->sregs)) | 390 | if (restore_sigregs32(regs, &frame->sregs)) |
365 | goto badframe; | 391 | goto badframe; |
392 | if (restore_sigregs_gprs_high(regs, frame->gprs_high)) | ||
393 | goto badframe; | ||
366 | 394 | ||
367 | return regs->gprs[2]; | 395 | return regs->gprs[2]; |
368 | 396 | ||
@@ -394,6 +422,8 @@ asmlinkage long sys32_rt_sigreturn(void) | |||
394 | 422 | ||
395 | if (restore_sigregs32(regs, &frame->uc.uc_mcontext)) | 423 | if (restore_sigregs32(regs, &frame->uc.uc_mcontext)) |
396 | goto badframe; | 424 | goto badframe; |
425 | if (restore_sigregs_gprs_high(regs, frame->gprs_high)) | ||
426 | goto badframe; | ||
397 | 427 | ||
398 | err = __get_user(ss_sp, &frame->uc.uc_stack.ss_sp); | 428 | err = __get_user(ss_sp, &frame->uc.uc_stack.ss_sp); |
399 | st.ss_sp = compat_ptr(ss_sp); | 429 | st.ss_sp = compat_ptr(ss_sp); |
@@ -474,6 +504,8 @@ static int setup_frame32(int sig, struct k_sigaction *ka, | |||
474 | 504 | ||
475 | if (save_sigregs32(regs, &frame->sregs)) | 505 | if (save_sigregs32(regs, &frame->sregs)) |
476 | goto give_sigsegv; | 506 | goto give_sigsegv; |
507 | if (save_sigregs_gprs_high(regs, frame->gprs_high)) | ||
508 | goto give_sigsegv; | ||
477 | if (__put_user((unsigned long) &frame->sregs, &frame->sc.sregs)) | 509 | if (__put_user((unsigned long) &frame->sregs, &frame->sc.sregs)) |
478 | goto give_sigsegv; | 510 | goto give_sigsegv; |
479 | 511 | ||
@@ -529,13 +561,14 @@ static int setup_rt_frame32(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
529 | goto give_sigsegv; | 561 | goto give_sigsegv; |
530 | 562 | ||
531 | /* Create the ucontext. */ | 563 | /* Create the ucontext. */ |
532 | err |= __put_user(0, &frame->uc.uc_flags); | 564 | err |= __put_user(UC_EXTENDED, &frame->uc.uc_flags); |
533 | err |= __put_user(0, &frame->uc.uc_link); | 565 | err |= __put_user(0, &frame->uc.uc_link); |
534 | err |= __put_user(current->sas_ss_sp, &frame->uc.uc_stack.ss_sp); | 566 | err |= __put_user(current->sas_ss_sp, &frame->uc.uc_stack.ss_sp); |
535 | err |= __put_user(sas_ss_flags(regs->gprs[15]), | 567 | err |= __put_user(sas_ss_flags(regs->gprs[15]), |
536 | &frame->uc.uc_stack.ss_flags); | 568 | &frame->uc.uc_stack.ss_flags); |
537 | err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size); | 569 | err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size); |
538 | err |= save_sigregs32(regs, &frame->uc.uc_mcontext); | 570 | err |= save_sigregs32(regs, &frame->uc.uc_mcontext); |
571 | err |= save_sigregs_gprs_high(regs, frame->gprs_high); | ||
539 | err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); | 572 | err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); |
540 | if (err) | 573 | if (err) |
541 | goto give_sigsegv; | 574 | goto give_sigsegv; |
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 682fb69dba21..cbd9901dc0f8 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S | |||
@@ -409,7 +409,7 @@ sys32_munmap_wrapper: | |||
409 | .globl sys32_truncate_wrapper | 409 | .globl sys32_truncate_wrapper |
410 | sys32_truncate_wrapper: | 410 | sys32_truncate_wrapper: |
411 | llgtr %r2,%r2 # const char * | 411 | llgtr %r2,%r2 # const char * |
412 | llgfr %r3,%r3 # unsigned long | 412 | lgfr %r3,%r3 # long |
413 | jg sys_truncate # branch to system call | 413 | jg sys_truncate # branch to system call |
414 | 414 | ||
415 | .globl sys32_ftruncate_wrapper | 415 | .globl sys32_ftruncate_wrapper |
diff --git a/arch/s390/kernel/ftrace.c b/arch/s390/kernel/ftrace.c index 57bdcb1e3cdf..f5fe34dd821b 100644 --- a/arch/s390/kernel/ftrace.c +++ b/arch/s390/kernel/ftrace.c | |||
@@ -185,9 +185,6 @@ unsigned long prepare_ftrace_return(unsigned long ip, unsigned long parent) | |||
185 | { | 185 | { |
186 | struct ftrace_graph_ent trace; | 186 | struct ftrace_graph_ent trace; |
187 | 187 | ||
188 | /* Nmi's are currently unsupported. */ | ||
189 | if (unlikely(in_nmi())) | ||
190 | goto out; | ||
191 | if (unlikely(atomic_read(¤t->tracing_graph_pause))) | 188 | if (unlikely(atomic_read(¤t->tracing_graph_pause))) |
192 | goto out; | 189 | goto out; |
193 | if (ftrace_push_return_trace(parent, ip, &trace.depth, 0) == -EBUSY) | 190 | if (ftrace_push_return_trace(parent, ip, &trace.depth, 0) == -EBUSY) |
diff --git a/arch/s390/kernel/module.c b/arch/s390/kernel/module.c index ab2e3ed28abc..639380a0c45c 100644 --- a/arch/s390/kernel/module.c +++ b/arch/s390/kernel/module.c | |||
@@ -55,6 +55,8 @@ void *module_alloc(unsigned long size) | |||
55 | /* Free memory returned from module_alloc */ | 55 | /* Free memory returned from module_alloc */ |
56 | void module_free(struct module *mod, void *module_region) | 56 | void module_free(struct module *mod, void *module_region) |
57 | { | 57 | { |
58 | vfree(mod->arch.syminfo); | ||
59 | mod->arch.syminfo = NULL; | ||
58 | vfree(module_region); | 60 | vfree(module_region); |
59 | } | 61 | } |
60 | 62 | ||
@@ -402,6 +404,7 @@ int module_finalize(const Elf_Ehdr *hdr, | |||
402 | struct module *me) | 404 | struct module *me) |
403 | { | 405 | { |
404 | vfree(me->arch.syminfo); | 406 | vfree(me->arch.syminfo); |
407 | me->arch.syminfo = NULL; | ||
405 | return module_bug_finalize(hdr, sechdrs, me); | 408 | return module_bug_finalize(hdr, sechdrs, me); |
406 | } | 409 | } |
407 | 410 | ||
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c index a8738676b26c..653c6a178740 100644 --- a/arch/s390/kernel/ptrace.c +++ b/arch/s390/kernel/ptrace.c | |||
@@ -57,6 +57,7 @@ | |||
57 | enum s390_regset { | 57 | enum s390_regset { |
58 | REGSET_GENERAL, | 58 | REGSET_GENERAL, |
59 | REGSET_FP, | 59 | REGSET_FP, |
60 | REGSET_GENERAL_EXTENDED, | ||
60 | }; | 61 | }; |
61 | 62 | ||
62 | static void | 63 | static void |
@@ -879,6 +880,67 @@ static int s390_compat_regs_set(struct task_struct *target, | |||
879 | return rc; | 880 | return rc; |
880 | } | 881 | } |
881 | 882 | ||
883 | static int s390_compat_regs_high_get(struct task_struct *target, | ||
884 | const struct user_regset *regset, | ||
885 | unsigned int pos, unsigned int count, | ||
886 | void *kbuf, void __user *ubuf) | ||
887 | { | ||
888 | compat_ulong_t *gprs_high; | ||
889 | |||
890 | gprs_high = (compat_ulong_t *) | ||
891 | &task_pt_regs(target)->gprs[pos / sizeof(compat_ulong_t)]; | ||
892 | if (kbuf) { | ||
893 | compat_ulong_t *k = kbuf; | ||
894 | while (count > 0) { | ||
895 | *k++ = *gprs_high; | ||
896 | gprs_high += 2; | ||
897 | count -= sizeof(*k); | ||
898 | } | ||
899 | } else { | ||
900 | compat_ulong_t __user *u = ubuf; | ||
901 | while (count > 0) { | ||
902 | if (__put_user(*gprs_high, u++)) | ||
903 | return -EFAULT; | ||
904 | gprs_high += 2; | ||
905 | count -= sizeof(*u); | ||
906 | } | ||
907 | } | ||
908 | return 0; | ||
909 | } | ||
910 | |||
911 | static int s390_compat_regs_high_set(struct task_struct *target, | ||
912 | const struct user_regset *regset, | ||
913 | unsigned int pos, unsigned int count, | ||
914 | const void *kbuf, const void __user *ubuf) | ||
915 | { | ||
916 | compat_ulong_t *gprs_high; | ||
917 | int rc = 0; | ||
918 | |||
919 | gprs_high = (compat_ulong_t *) | ||
920 | &task_pt_regs(target)->gprs[pos / sizeof(compat_ulong_t)]; | ||
921 | if (kbuf) { | ||
922 | const compat_ulong_t *k = kbuf; | ||
923 | while (count > 0) { | ||
924 | *gprs_high = *k++; | ||
925 | *gprs_high += 2; | ||
926 | count -= sizeof(*k); | ||
927 | } | ||
928 | } else { | ||
929 | const compat_ulong_t __user *u = ubuf; | ||
930 | while (count > 0 && !rc) { | ||
931 | unsigned long word; | ||
932 | rc = __get_user(word, u++); | ||
933 | if (rc) | ||
934 | break; | ||
935 | *gprs_high = word; | ||
936 | *gprs_high += 2; | ||
937 | count -= sizeof(*u); | ||
938 | } | ||
939 | } | ||
940 | |||
941 | return rc; | ||
942 | } | ||
943 | |||
882 | static const struct user_regset s390_compat_regsets[] = { | 944 | static const struct user_regset s390_compat_regsets[] = { |
883 | [REGSET_GENERAL] = { | 945 | [REGSET_GENERAL] = { |
884 | .core_note_type = NT_PRSTATUS, | 946 | .core_note_type = NT_PRSTATUS, |
@@ -896,6 +958,14 @@ static const struct user_regset s390_compat_regsets[] = { | |||
896 | .get = s390_fpregs_get, | 958 | .get = s390_fpregs_get, |
897 | .set = s390_fpregs_set, | 959 | .set = s390_fpregs_set, |
898 | }, | 960 | }, |
961 | [REGSET_GENERAL_EXTENDED] = { | ||
962 | .core_note_type = NT_PRXSTATUS, | ||
963 | .n = sizeof(s390_compat_regs_high) / sizeof(compat_long_t), | ||
964 | .size = sizeof(compat_long_t), | ||
965 | .align = sizeof(compat_long_t), | ||
966 | .get = s390_compat_regs_high_get, | ||
967 | .set = s390_compat_regs_high_set, | ||
968 | }, | ||
899 | }; | 969 | }; |
900 | 970 | ||
901 | static const struct user_regset_view user_s390_compat_view = { | 971 | static const struct user_regset_view user_s390_compat_view = { |
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 9ed13a1ed376..061479ff029f 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -729,7 +729,7 @@ static void __init setup_hwcaps(void) | |||
729 | 729 | ||
730 | if ((facility_list & (1UL << (31 - 22))) | 730 | if ((facility_list & (1UL << (31 - 22))) |
731 | && (facility_list & (1UL << (31 - 30)))) | 731 | && (facility_list & (1UL << (31 - 30)))) |
732 | elf_hwcap |= 1UL << 8; | 732 | elf_hwcap |= HWCAP_S390_ETF3EH; |
733 | 733 | ||
734 | /* | 734 | /* |
735 | * Check for additional facilities with store-facility-list-extended. | 735 | * Check for additional facilities with store-facility-list-extended. |
@@ -748,11 +748,20 @@ static void __init setup_hwcaps(void) | |||
748 | __stfle(&facility_list_extended, 1) > 0) { | 748 | __stfle(&facility_list_extended, 1) > 0) { |
749 | if ((facility_list_extended & (1ULL << (63 - 42))) | 749 | if ((facility_list_extended & (1ULL << (63 - 42))) |
750 | && (facility_list_extended & (1ULL << (63 - 44)))) | 750 | && (facility_list_extended & (1ULL << (63 - 44)))) |
751 | elf_hwcap |= 1UL << 6; | 751 | elf_hwcap |= HWCAP_S390_DFP; |
752 | } | 752 | } |
753 | 753 | ||
754 | /* | ||
755 | * Huge page support HWCAP_S390_HPAGE is bit 7. | ||
756 | */ | ||
754 | if (MACHINE_HAS_HPAGE) | 757 | if (MACHINE_HAS_HPAGE) |
755 | elf_hwcap |= 1UL << 7; | 758 | elf_hwcap |= HWCAP_S390_HPAGE; |
759 | |||
760 | /* | ||
761 | * 64-bit register support for 31-bit processes | ||
762 | * HWCAP_S390_HIGH_GPRS is bit 9. | ||
763 | */ | ||
764 | elf_hwcap |= HWCAP_S390_HIGH_GPRS; | ||
756 | 765 | ||
757 | switch (S390_lowcore.cpu_id.machine) { | 766 | switch (S390_lowcore.cpu_id.machine) { |
758 | case 0x9672: | 767 | case 0x9672: |
diff --git a/arch/s390/kernel/swsusp_asm64.S b/arch/s390/kernel/swsusp_asm64.S index fe927d0bc20b..7c8653e27db6 100644 --- a/arch/s390/kernel/swsusp_asm64.S +++ b/arch/s390/kernel/swsusp_asm64.S | |||
@@ -43,7 +43,7 @@ swsusp_arch_suspend: | |||
43 | lghi %r1,0x1000 | 43 | lghi %r1,0x1000 |
44 | 44 | ||
45 | /* Save CPU address */ | 45 | /* Save CPU address */ |
46 | stap __LC_CPU_ADDRESS(%r1) | 46 | stap __LC_CPU_ADDRESS(%r0) |
47 | 47 | ||
48 | /* Store registers */ | 48 | /* Store registers */ |
49 | mvc 0x318(4,%r1),__SF_EMPTY(%r15) /* move prefix to lowcore */ | 49 | mvc 0x318(4,%r1),__SF_EMPTY(%r15) /* move prefix to lowcore */ |
@@ -69,8 +69,21 @@ swsusp_arch_suspend: | |||
69 | stmg %r0,%r15,0x280(%r1) /* store general registers */ | 69 | stmg %r0,%r15,0x280(%r1) /* store general registers */ |
70 | 70 | ||
71 | stpt 0x328(%r1) /* store timer */ | 71 | stpt 0x328(%r1) /* store timer */ |
72 | stck __SF_EMPTY(%r15) /* store clock */ | ||
72 | stckc 0x330(%r1) /* store clock comparator */ | 73 | stckc 0x330(%r1) /* store clock comparator */ |
73 | 74 | ||
75 | /* Update cputime accounting before going to sleep */ | ||
76 | lg %r0,__LC_LAST_UPDATE_TIMER | ||
77 | slg %r0,0x328(%r1) | ||
78 | alg %r0,__LC_SYSTEM_TIMER | ||
79 | stg %r0,__LC_SYSTEM_TIMER | ||
80 | mvc __LC_LAST_UPDATE_TIMER(8),0x328(%r1) | ||
81 | lg %r0,__LC_LAST_UPDATE_CLOCK | ||
82 | slg %r0,__SF_EMPTY(%r15) | ||
83 | alg %r0,__LC_STEAL_TIMER | ||
84 | stg %r0,__LC_STEAL_TIMER | ||
85 | mvc __LC_LAST_UPDATE_CLOCK(8),__SF_EMPTY(%r15) | ||
86 | |||
74 | /* Activate DAT */ | 87 | /* Activate DAT */ |
75 | stosm __SF_EMPTY(%r15),0x04 | 88 | stosm __SF_EMPTY(%r15),0x04 |
76 | 89 | ||
@@ -159,8 +172,7 @@ pgm_check_entry: | |||
159 | larl %r1,.Lresume_cpu /* Resume CPU address: r2 */ | 172 | larl %r1,.Lresume_cpu /* Resume CPU address: r2 */ |
160 | stap 0(%r1) | 173 | stap 0(%r1) |
161 | llgh %r2,0(%r1) | 174 | llgh %r2,0(%r1) |
162 | lghi %r3,0x1000 | 175 | llgh %r1,__LC_CPU_ADDRESS(%r0) /* Suspend CPU address: r1 */ |
163 | llgh %r1,__LC_CPU_ADDRESS(%r3) /* Suspend CPU address: r1 */ | ||
164 | cgr %r1,%r2 | 176 | cgr %r1,%r2 |
165 | je restore_registers /* r1 = r2 -> nothing to do */ | 177 | je restore_registers /* r1 = r2 -> nothing to do */ |
166 | larl %r4,.Lrestart_suspend_psw /* Set new restart PSW */ | 178 | larl %r4,.Lrestart_suspend_psw /* Set new restart PSW */ |
@@ -200,8 +212,11 @@ restart_suspend: | |||
200 | 212 | ||
201 | restore_registers: | 213 | restore_registers: |
202 | /* Restore registers */ | 214 | /* Restore registers */ |
203 | lghi %r13,0x1000 /* %r1 = pointer to save arae */ | 215 | lghi %r13,0x1000 /* %r1 = pointer to save area */ |
204 | 216 | ||
217 | /* Ignore time spent in suspended state. */ | ||
218 | llgf %r1,0x318(%r13) | ||
219 | stck __LC_LAST_UPDATE_CLOCK(%r1) | ||
205 | spt 0x328(%r13) /* reprogram timer */ | 220 | spt 0x328(%r13) /* reprogram timer */ |
206 | //sckc 0x330(%r13) /* set clock comparator */ | 221 | //sckc 0x330(%r13) /* set clock comparator */ |
207 | 222 | ||
@@ -229,9 +244,6 @@ restore_registers: | |||
229 | /* Load old stack */ | 244 | /* Load old stack */ |
230 | lg %r15,0x2f8(%r13) | 245 | lg %r15,0x2f8(%r13) |
231 | 246 | ||
232 | /* Pointer to save area */ | ||
233 | lghi %r13,0x1000 | ||
234 | |||
235 | /* Restore prefix register */ | 247 | /* Restore prefix register */ |
236 | spx 0x318(%r13) | 248 | spx 0x318(%r13) |
237 | 249 | ||
diff --git a/arch/s390/kernel/vdso.c b/arch/s390/kernel/vdso.c index 45a3e9a7ae21..adfb32aa6d59 100644 --- a/arch/s390/kernel/vdso.c +++ b/arch/s390/kernel/vdso.c | |||
@@ -247,6 +247,13 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) | |||
247 | } | 247 | } |
248 | 248 | ||
249 | /* | 249 | /* |
250 | * Put vDSO base into mm struct. We need to do this before calling | ||
251 | * install_special_mapping or the perf counter mmap tracking code | ||
252 | * will fail to recognise it as a vDSO (since arch_vma_name fails). | ||
253 | */ | ||
254 | current->mm->context.vdso_base = vdso_base; | ||
255 | |||
256 | /* | ||
250 | * our vma flags don't have VM_WRITE so by default, the process | 257 | * our vma flags don't have VM_WRITE so by default, the process |
251 | * isn't allowed to write those pages. | 258 | * isn't allowed to write those pages. |
252 | * gdb can break that with ptrace interface, and thus trigger COW | 259 | * gdb can break that with ptrace interface, and thus trigger COW |
@@ -267,14 +274,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) | |||
267 | VM_ALWAYSDUMP, | 274 | VM_ALWAYSDUMP, |
268 | vdso_pagelist); | 275 | vdso_pagelist); |
269 | if (rc) | 276 | if (rc) |
270 | goto out_up; | 277 | current->mm->context.vdso_base = 0; |
271 | |||
272 | /* Put vDSO base into mm struct */ | ||
273 | current->mm->context.vdso_base = vdso_base; | ||
274 | |||
275 | up_write(&mm->mmap_sem); | ||
276 | return 0; | ||
277 | |||
278 | out_up: | 278 | out_up: |
279 | up_write(&mm->mmap_sem); | 279 | up_write(&mm->mmap_sem); |
280 | return rc; | 280 | return rc; |
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index bc15ef93e656..a68ac10213b2 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S | |||
@@ -51,6 +51,7 @@ SECTIONS | |||
51 | 51 | ||
52 | . = ALIGN(PAGE_SIZE); | 52 | . = ALIGN(PAGE_SIZE); |
53 | _eshared = .; /* End of shareable data */ | 53 | _eshared = .; /* End of shareable data */ |
54 | _sdata = .; /* Start of data section */ | ||
54 | 55 | ||
55 | EXCEPTION_TABLE(16) :data | 56 | EXCEPTION_TABLE(16) :data |
56 | 57 | ||
diff --git a/arch/s390/kvm/kvm-s390.h b/arch/s390/kvm/kvm-s390.h index ec5eee7c25d8..06cce8285ba0 100644 --- a/arch/s390/kvm/kvm-s390.h +++ b/arch/s390/kvm/kvm-s390.h | |||
@@ -58,7 +58,7 @@ int kvm_s390_inject_vcpu(struct kvm_vcpu *vcpu, | |||
58 | int kvm_s390_inject_program_int(struct kvm_vcpu *vcpu, u16 code); | 58 | int kvm_s390_inject_program_int(struct kvm_vcpu *vcpu, u16 code); |
59 | int kvm_s390_inject_sigp_stop(struct kvm_vcpu *vcpu, int action); | 59 | int kvm_s390_inject_sigp_stop(struct kvm_vcpu *vcpu, int action); |
60 | 60 | ||
61 | static inline int kvm_s390_vcpu_get_memsize(struct kvm_vcpu *vcpu) | 61 | static inline long kvm_s390_vcpu_get_memsize(struct kvm_vcpu *vcpu) |
62 | { | 62 | { |
63 | return vcpu->arch.sie_block->gmslm | 63 | return vcpu->arch.sie_block->gmslm |
64 | - vcpu->arch.sie_block->gmsor | 64 | - vcpu->arch.sie_block->gmsor |
diff --git a/arch/s390/lib/delay.c b/arch/s390/lib/delay.c index 97c1eca83cc2..752b362bf651 100644 --- a/arch/s390/lib/delay.c +++ b/arch/s390/lib/delay.c | |||
@@ -25,13 +25,13 @@ void __delay(unsigned long loops) | |||
25 | asm volatile("0: brct %0,0b" : : "d" ((loops/2) + 1)); | 25 | asm volatile("0: brct %0,0b" : : "d" ((loops/2) + 1)); |
26 | } | 26 | } |
27 | 27 | ||
28 | static void __udelay_disabled(unsigned long usecs) | 28 | static void __udelay_disabled(unsigned long long usecs) |
29 | { | 29 | { |
30 | unsigned long mask, cr0, cr0_saved; | 30 | unsigned long mask, cr0, cr0_saved; |
31 | u64 clock_saved; | 31 | u64 clock_saved; |
32 | 32 | ||
33 | clock_saved = local_tick_disable(); | 33 | clock_saved = local_tick_disable(); |
34 | set_clock_comparator(get_clock() + ((u64) usecs << 12)); | 34 | set_clock_comparator(get_clock() + (usecs << 12)); |
35 | __ctl_store(cr0_saved, 0, 0); | 35 | __ctl_store(cr0_saved, 0, 0); |
36 | cr0 = (cr0_saved & 0xffff00e0) | 0x00000800; | 36 | cr0 = (cr0_saved & 0xffff00e0) | 0x00000800; |
37 | __ctl_load(cr0 , 0, 0); | 37 | __ctl_load(cr0 , 0, 0); |
@@ -46,20 +46,25 @@ static void __udelay_disabled(unsigned long usecs) | |||
46 | set_clock_comparator(S390_lowcore.clock_comparator); | 46 | set_clock_comparator(S390_lowcore.clock_comparator); |
47 | } | 47 | } |
48 | 48 | ||
49 | static void __udelay_enabled(unsigned long usecs) | 49 | static void __udelay_enabled(unsigned long long usecs) |
50 | { | 50 | { |
51 | unsigned long mask; | 51 | unsigned long mask; |
52 | u64 end, time; | 52 | u64 clock_saved; |
53 | u64 end; | ||
53 | 54 | ||
54 | mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_EXT | PSW_MASK_IO; | 55 | mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_EXT | PSW_MASK_IO; |
55 | end = get_clock() + ((u64) usecs << 12); | 56 | end = get_clock() + (usecs << 12); |
56 | do { | 57 | do { |
57 | time = end < S390_lowcore.clock_comparator ? | 58 | clock_saved = 0; |
58 | end : S390_lowcore.clock_comparator; | 59 | if (end < S390_lowcore.clock_comparator) { |
59 | set_clock_comparator(time); | 60 | clock_saved = local_tick_disable(); |
61 | set_clock_comparator(end); | ||
62 | } | ||
60 | trace_hardirqs_on(); | 63 | trace_hardirqs_on(); |
61 | __load_psw_mask(mask); | 64 | __load_psw_mask(mask); |
62 | local_irq_disable(); | 65 | local_irq_disable(); |
66 | if (clock_saved) | ||
67 | local_tick_enable(clock_saved); | ||
63 | } while (get_clock() < end); | 68 | } while (get_clock() < end); |
64 | set_clock_comparator(S390_lowcore.clock_comparator); | 69 | set_clock_comparator(S390_lowcore.clock_comparator); |
65 | } | 70 | } |
@@ -67,7 +72,7 @@ static void __udelay_enabled(unsigned long usecs) | |||
67 | /* | 72 | /* |
68 | * Waits for 'usecs' microseconds using the TOD clock comparator. | 73 | * Waits for 'usecs' microseconds using the TOD clock comparator. |
69 | */ | 74 | */ |
70 | void __udelay(unsigned long usecs) | 75 | void __udelay(unsigned long long usecs) |
71 | { | 76 | { |
72 | unsigned long flags; | 77 | unsigned long flags; |
73 | 78 | ||
@@ -101,11 +106,11 @@ EXPORT_SYMBOL(__udelay); | |||
101 | * Simple udelay variant. To be used on startup and reboot | 106 | * Simple udelay variant. To be used on startup and reboot |
102 | * when the interrupt handler isn't working. | 107 | * when the interrupt handler isn't working. |
103 | */ | 108 | */ |
104 | void udelay_simple(unsigned long usecs) | 109 | void udelay_simple(unsigned long long usecs) |
105 | { | 110 | { |
106 | u64 end; | 111 | u64 end; |
107 | 112 | ||
108 | end = get_clock() + ((u64) usecs << 12); | 113 | end = get_clock() + (usecs << 12); |
109 | while (get_clock() < end) | 114 | while (get_clock() < end) |
110 | cpu_relax(); | 115 | cpu_relax(); |
111 | } | 116 | } |
diff --git a/arch/s390/lib/uaccess_mvcos.c b/arch/s390/lib/uaccess_mvcos.c index 3f15aaf54855..58da3f461214 100644 --- a/arch/s390/lib/uaccess_mvcos.c +++ b/arch/s390/lib/uaccess_mvcos.c | |||
@@ -36,7 +36,7 @@ static size_t copy_from_user_mvcos(size_t size, const void __user *ptr, void *x) | |||
36 | tmp1 = -4096UL; | 36 | tmp1 = -4096UL; |
37 | asm volatile( | 37 | asm volatile( |
38 | "0: .insn ss,0xc80000000000,0(%0,%2),0(%1),0\n" | 38 | "0: .insn ss,0xc80000000000,0(%0,%2),0(%1),0\n" |
39 | " jz 7f\n" | 39 | "9: jz 7f\n" |
40 | "1:"ALR" %0,%3\n" | 40 | "1:"ALR" %0,%3\n" |
41 | " "SLR" %1,%3\n" | 41 | " "SLR" %1,%3\n" |
42 | " "SLR" %2,%3\n" | 42 | " "SLR" %2,%3\n" |
@@ -47,7 +47,7 @@ static size_t copy_from_user_mvcos(size_t size, const void __user *ptr, void *x) | |||
47 | " "CLR" %0,%4\n" /* copy crosses next page boundary? */ | 47 | " "CLR" %0,%4\n" /* copy crosses next page boundary? */ |
48 | " jnh 4f\n" | 48 | " jnh 4f\n" |
49 | "3: .insn ss,0xc80000000000,0(%4,%2),0(%1),0\n" | 49 | "3: .insn ss,0xc80000000000,0(%4,%2),0(%1),0\n" |
50 | " "SLR" %0,%4\n" | 50 | "10:"SLR" %0,%4\n" |
51 | " "ALR" %2,%4\n" | 51 | " "ALR" %2,%4\n" |
52 | "4:"LHI" %4,-1\n" | 52 | "4:"LHI" %4,-1\n" |
53 | " "ALR" %4,%0\n" /* copy remaining size, subtract 1 */ | 53 | " "ALR" %4,%0\n" /* copy remaining size, subtract 1 */ |
@@ -61,7 +61,7 @@ static size_t copy_from_user_mvcos(size_t size, const void __user *ptr, void *x) | |||
61 | " j 8f\n" | 61 | " j 8f\n" |
62 | "7:"SLR" %0,%0\n" | 62 | "7:"SLR" %0,%0\n" |
63 | "8: \n" | 63 | "8: \n" |
64 | EX_TABLE(0b,2b) EX_TABLE(3b,4b) | 64 | EX_TABLE(0b,2b) EX_TABLE(3b,4b) EX_TABLE(9b,2b) EX_TABLE(10b,4b) |
65 | : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2) | 65 | : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2) |
66 | : "d" (reg0) : "cc", "memory"); | 66 | : "d" (reg0) : "cc", "memory"); |
67 | return size; | 67 | return size; |
@@ -82,7 +82,7 @@ static size_t copy_to_user_mvcos(size_t size, void __user *ptr, const void *x) | |||
82 | tmp1 = -4096UL; | 82 | tmp1 = -4096UL; |
83 | asm volatile( | 83 | asm volatile( |
84 | "0: .insn ss,0xc80000000000,0(%0,%1),0(%2),0\n" | 84 | "0: .insn ss,0xc80000000000,0(%0,%1),0(%2),0\n" |
85 | " jz 4f\n" | 85 | "6: jz 4f\n" |
86 | "1:"ALR" %0,%3\n" | 86 | "1:"ALR" %0,%3\n" |
87 | " "SLR" %1,%3\n" | 87 | " "SLR" %1,%3\n" |
88 | " "SLR" %2,%3\n" | 88 | " "SLR" %2,%3\n" |
@@ -93,11 +93,11 @@ static size_t copy_to_user_mvcos(size_t size, void __user *ptr, const void *x) | |||
93 | " "CLR" %0,%4\n" /* copy crosses next page boundary? */ | 93 | " "CLR" %0,%4\n" /* copy crosses next page boundary? */ |
94 | " jnh 5f\n" | 94 | " jnh 5f\n" |
95 | "3: .insn ss,0xc80000000000,0(%4,%1),0(%2),0\n" | 95 | "3: .insn ss,0xc80000000000,0(%4,%1),0(%2),0\n" |
96 | " "SLR" %0,%4\n" | 96 | "7:"SLR" %0,%4\n" |
97 | " j 5f\n" | 97 | " j 5f\n" |
98 | "4:"SLR" %0,%0\n" | 98 | "4:"SLR" %0,%0\n" |
99 | "5: \n" | 99 | "5: \n" |
100 | EX_TABLE(0b,2b) EX_TABLE(3b,5b) | 100 | EX_TABLE(0b,2b) EX_TABLE(3b,5b) EX_TABLE(6b,2b) EX_TABLE(7b,5b) |
101 | : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2) | 101 | : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2) |
102 | : "d" (reg0) : "cc", "memory"); | 102 | : "d" (reg0) : "cc", "memory"); |
103 | return size; | 103 | return size; |
diff --git a/arch/s390/lib/uaccess_std.c b/arch/s390/lib/uaccess_std.c index d2ffbadb51a7..07deaeee14c8 100644 --- a/arch/s390/lib/uaccess_std.c +++ b/arch/s390/lib/uaccess_std.c | |||
@@ -36,12 +36,12 @@ size_t copy_from_user_std(size_t size, const void __user *ptr, void *x) | |||
36 | tmp1 = -256UL; | 36 | tmp1 = -256UL; |
37 | asm volatile( | 37 | asm volatile( |
38 | "0: mvcp 0(%0,%2),0(%1),%3\n" | 38 | "0: mvcp 0(%0,%2),0(%1),%3\n" |
39 | " jz 8f\n" | 39 | "10:jz 8f\n" |
40 | "1:"ALR" %0,%3\n" | 40 | "1:"ALR" %0,%3\n" |
41 | " la %1,256(%1)\n" | 41 | " la %1,256(%1)\n" |
42 | " la %2,256(%2)\n" | 42 | " la %2,256(%2)\n" |
43 | "2: mvcp 0(%0,%2),0(%1),%3\n" | 43 | "2: mvcp 0(%0,%2),0(%1),%3\n" |
44 | " jnz 1b\n" | 44 | "11:jnz 1b\n" |
45 | " j 8f\n" | 45 | " j 8f\n" |
46 | "3: la %4,255(%1)\n" /* %4 = ptr + 255 */ | 46 | "3: la %4,255(%1)\n" /* %4 = ptr + 255 */ |
47 | " "LHI" %3,-4096\n" | 47 | " "LHI" %3,-4096\n" |
@@ -50,7 +50,7 @@ size_t copy_from_user_std(size_t size, const void __user *ptr, void *x) | |||
50 | " "CLR" %0,%4\n" /* copy crosses next page boundary? */ | 50 | " "CLR" %0,%4\n" /* copy crosses next page boundary? */ |
51 | " jnh 5f\n" | 51 | " jnh 5f\n" |
52 | "4: mvcp 0(%4,%2),0(%1),%3\n" | 52 | "4: mvcp 0(%4,%2),0(%1),%3\n" |
53 | " "SLR" %0,%4\n" | 53 | "12:"SLR" %0,%4\n" |
54 | " "ALR" %2,%4\n" | 54 | " "ALR" %2,%4\n" |
55 | "5:"LHI" %4,-1\n" | 55 | "5:"LHI" %4,-1\n" |
56 | " "ALR" %4,%0\n" /* copy remaining size, subtract 1 */ | 56 | " "ALR" %4,%0\n" /* copy remaining size, subtract 1 */ |
@@ -65,6 +65,7 @@ size_t copy_from_user_std(size_t size, const void __user *ptr, void *x) | |||
65 | "8:"SLR" %0,%0\n" | 65 | "8:"SLR" %0,%0\n" |
66 | "9: \n" | 66 | "9: \n" |
67 | EX_TABLE(0b,3b) EX_TABLE(2b,3b) EX_TABLE(4b,5b) | 67 | EX_TABLE(0b,3b) EX_TABLE(2b,3b) EX_TABLE(4b,5b) |
68 | EX_TABLE(10b,3b) EX_TABLE(11b,3b) EX_TABLE(12b,5b) | ||
68 | : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2) | 69 | : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2) |
69 | : : "cc", "memory"); | 70 | : : "cc", "memory"); |
70 | return size; | 71 | return size; |
@@ -85,12 +86,12 @@ size_t copy_to_user_std(size_t size, void __user *ptr, const void *x) | |||
85 | tmp1 = -256UL; | 86 | tmp1 = -256UL; |
86 | asm volatile( | 87 | asm volatile( |
87 | "0: mvcs 0(%0,%1),0(%2),%3\n" | 88 | "0: mvcs 0(%0,%1),0(%2),%3\n" |
88 | " jz 5f\n" | 89 | "7: jz 5f\n" |
89 | "1:"ALR" %0,%3\n" | 90 | "1:"ALR" %0,%3\n" |
90 | " la %1,256(%1)\n" | 91 | " la %1,256(%1)\n" |
91 | " la %2,256(%2)\n" | 92 | " la %2,256(%2)\n" |
92 | "2: mvcs 0(%0,%1),0(%2),%3\n" | 93 | "2: mvcs 0(%0,%1),0(%2),%3\n" |
93 | " jnz 1b\n" | 94 | "8: jnz 1b\n" |
94 | " j 5f\n" | 95 | " j 5f\n" |
95 | "3: la %4,255(%1)\n" /* %4 = ptr + 255 */ | 96 | "3: la %4,255(%1)\n" /* %4 = ptr + 255 */ |
96 | " "LHI" %3,-4096\n" | 97 | " "LHI" %3,-4096\n" |
@@ -99,11 +100,12 @@ size_t copy_to_user_std(size_t size, void __user *ptr, const void *x) | |||
99 | " "CLR" %0,%4\n" /* copy crosses next page boundary? */ | 100 | " "CLR" %0,%4\n" /* copy crosses next page boundary? */ |
100 | " jnh 6f\n" | 101 | " jnh 6f\n" |
101 | "4: mvcs 0(%4,%1),0(%2),%3\n" | 102 | "4: mvcs 0(%4,%1),0(%2),%3\n" |
102 | " "SLR" %0,%4\n" | 103 | "9:"SLR" %0,%4\n" |
103 | " j 6f\n" | 104 | " j 6f\n" |
104 | "5:"SLR" %0,%0\n" | 105 | "5:"SLR" %0,%0\n" |
105 | "6: \n" | 106 | "6: \n" |
106 | EX_TABLE(0b,3b) EX_TABLE(2b,3b) EX_TABLE(4b,6b) | 107 | EX_TABLE(0b,3b) EX_TABLE(2b,3b) EX_TABLE(4b,6b) |
108 | EX_TABLE(7b,3b) EX_TABLE(8b,3b) EX_TABLE(9b,6b) | ||
107 | : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2) | 109 | : "+a" (size), "+a" (ptr), "+a" (x), "+a" (tmp1), "=a" (tmp2) |
108 | : : "cc", "memory"); | 110 | : : "cc", "memory"); |
109 | return size; | 111 | return size; |
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c index c60bfb309ce6..2757c5616a07 100644 --- a/arch/s390/mm/pgtable.c +++ b/arch/s390/mm/pgtable.c | |||
@@ -279,7 +279,10 @@ int s390_enable_sie(void) | |||
279 | /* lets check if we are allowed to replace the mm */ | 279 | /* lets check if we are allowed to replace the mm */ |
280 | task_lock(tsk); | 280 | task_lock(tsk); |
281 | if (!tsk->mm || atomic_read(&tsk->mm->mm_users) > 1 || | 281 | if (!tsk->mm || atomic_read(&tsk->mm->mm_users) > 1 || |
282 | tsk->mm != tsk->active_mm || !hlist_empty(&tsk->mm->ioctx_list)) { | 282 | #ifdef CONFIG_AIO |
283 | !hlist_empty(&tsk->mm->ioctx_list) || | ||
284 | #endif | ||
285 | tsk->mm != tsk->active_mm) { | ||
283 | task_unlock(tsk); | 286 | task_unlock(tsk); |
284 | return -EINVAL; | 287 | return -EINVAL; |
285 | } | 288 | } |
@@ -295,7 +298,10 @@ int s390_enable_sie(void) | |||
295 | /* Now lets check again if something happened */ | 298 | /* Now lets check again if something happened */ |
296 | task_lock(tsk); | 299 | task_lock(tsk); |
297 | if (!tsk->mm || atomic_read(&tsk->mm->mm_users) > 1 || | 300 | if (!tsk->mm || atomic_read(&tsk->mm->mm_users) > 1 || |
298 | tsk->mm != tsk->active_mm || !hlist_empty(&tsk->mm->ioctx_list)) { | 301 | #ifdef CONFIG_AIO |
302 | !hlist_empty(&tsk->mm->ioctx_list) || | ||
303 | #endif | ||
304 | tsk->mm != tsk->active_mm) { | ||
299 | mmput(mm); | 305 | mmput(mm); |
300 | task_unlock(tsk); | 306 | task_unlock(tsk); |
301 | return -EINVAL; | 307 | return -EINVAL; |
diff --git a/arch/sh/boards/board-magicpanelr2.c b/arch/sh/boards/board-magicpanelr2.c index 0a37c8bfc959..99ffc5f1c0dd 100644 --- a/arch/sh/boards/board-magicpanelr2.c +++ b/arch/sh/boards/board-magicpanelr2.c | |||
@@ -205,8 +205,6 @@ static void __init setup_port_multiplexing(void) | |||
205 | 205 | ||
206 | static void __init mpr2_setup(char **cmdline_p) | 206 | static void __init mpr2_setup(char **cmdline_p) |
207 | { | 207 | { |
208 | __set_io_port_base(0xa0000000); | ||
209 | |||
210 | /* set Pin Select Register A: | 208 | /* set Pin Select Register A: |
211 | * /PCC_CD1, /PCC_CD2, PCC_BVD1, PCC_BVD2, | 209 | * /PCC_CD1, /PCC_CD2, PCC_BVD1, PCC_BVD2, |
212 | * /IOIS16, IRQ4, IRQ5, USB1d_SUSPEND | 210 | * /IOIS16, IRQ4, IRQ5, USB1d_SUSPEND |
diff --git a/arch/sh/boards/mach-dreamcast/setup.c b/arch/sh/boards/mach-dreamcast/setup.c index ebe99227d4e6..a4b7402d6176 100644 --- a/arch/sh/boards/mach-dreamcast/setup.c +++ b/arch/sh/boards/mach-dreamcast/setup.c | |||
@@ -42,8 +42,6 @@ static void __init dreamcast_setup(char **cmdline_p) | |||
42 | /* Acknowledge any previous events */ | 42 | /* Acknowledge any previous events */ |
43 | /* XXX */ | 43 | /* XXX */ |
44 | 44 | ||
45 | __set_io_port_base(0xa0000000); | ||
46 | |||
47 | /* Assign all virtual IRQs to the System ASIC int. handler */ | 45 | /* Assign all virtual IRQs to the System ASIC int. handler */ |
48 | for (i = HW_EVENT_IRQ_BASE; i < HW_EVENT_IRQ_MAX; i++) | 46 | for (i = HW_EVENT_IRQ_BASE; i < HW_EVENT_IRQ_MAX; i++) |
49 | set_irq_chip_and_handler(i, &systemasic_int, | 47 | set_irq_chip_and_handler(i, &systemasic_int, |
diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c index 5f9881e16e2f..3b1ceb46fa54 100644 --- a/arch/sh/boards/mach-ecovec24/setup.c +++ b/arch/sh/boards/mach-ecovec24/setup.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/delay.h> | 18 | #include <linux/delay.h> |
19 | #include <linux/usb/r8a66597.h> | 19 | #include <linux/usb/r8a66597.h> |
20 | #include <linux/i2c.h> | 20 | #include <linux/i2c.h> |
21 | #include <linux/i2c/tsc2007.h> | ||
21 | #include <linux/input.h> | 22 | #include <linux/input.h> |
22 | #include <video/sh_mobile_lcdc.h> | 23 | #include <video/sh_mobile_lcdc.h> |
23 | #include <media/sh_mobile_ceu.h> | 24 | #include <media/sh_mobile_ceu.h> |
@@ -38,6 +39,20 @@ | |||
38 | * 0x1800_0000 MFI 16bit | 39 | * 0x1800_0000 MFI 16bit |
39 | */ | 40 | */ |
40 | 41 | ||
42 | /* SWITCH | ||
43 | *------------------------------ | ||
44 | * DS2[1] = FlashROM write protect ON : write protect | ||
45 | * OFF : No write protect | ||
46 | * DS2[2] = RMII / TS, SCIF ON : RMII | ||
47 | * OFF : TS, SCIF3 | ||
48 | * DS2[3] = Camera / Video ON : Camera | ||
49 | * OFF : NTSC/PAL (IN) | ||
50 | * DS2[5] = NTSC_OUT Clock ON : On board OSC | ||
51 | * OFF : SH7724 DV_CLK | ||
52 | * DS2[6-7] = MMC / SD ON-OFF : SD | ||
53 | * OFF-ON : MMC | ||
54 | */ | ||
55 | |||
41 | /* Heartbeat */ | 56 | /* Heartbeat */ |
42 | static unsigned char led_pos[] = { 0, 1, 2, 3 }; | 57 | static unsigned char led_pos[] = { 0, 1, 2, 3 }; |
43 | static struct heartbeat_data heartbeat_data = { | 58 | static struct heartbeat_data heartbeat_data = { |
@@ -70,7 +85,7 @@ static struct mtd_partition nor_flash_partitions[] = { | |||
70 | .name = "boot loader", | 85 | .name = "boot loader", |
71 | .offset = 0, | 86 | .offset = 0, |
72 | .size = (5 * 1024 * 1024), | 87 | .size = (5 * 1024 * 1024), |
73 | .mask_flags = MTD_CAP_ROM, | 88 | .mask_flags = MTD_WRITEABLE, /* force read-only */ |
74 | }, { | 89 | }, { |
75 | .name = "free-area", | 90 | .name = "free-area", |
76 | .offset = MTDPART_OFS_APPEND, | 91 | .offset = MTDPART_OFS_APPEND, |
@@ -376,6 +391,43 @@ static struct platform_device keysc_device = { | |||
376 | }, | 391 | }, |
377 | }; | 392 | }; |
378 | 393 | ||
394 | /* TouchScreen */ | ||
395 | #define IRQ0 32 | ||
396 | static int ts_get_pendown_state(void) | ||
397 | { | ||
398 | int val = 0; | ||
399 | gpio_free(GPIO_FN_INTC_IRQ0); | ||
400 | gpio_request(GPIO_PTZ0, NULL); | ||
401 | gpio_direction_input(GPIO_PTZ0); | ||
402 | |||
403 | val = gpio_get_value(GPIO_PTZ0); | ||
404 | |||
405 | gpio_free(GPIO_PTZ0); | ||
406 | gpio_request(GPIO_FN_INTC_IRQ0, NULL); | ||
407 | |||
408 | return val ? 0 : 1; | ||
409 | } | ||
410 | |||
411 | static int ts_init(void) | ||
412 | { | ||
413 | gpio_request(GPIO_FN_INTC_IRQ0, NULL); | ||
414 | return 0; | ||
415 | } | ||
416 | |||
417 | struct tsc2007_platform_data tsc2007_info = { | ||
418 | .model = 2007, | ||
419 | .x_plate_ohms = 180, | ||
420 | .get_pendown_state = ts_get_pendown_state, | ||
421 | .init_platform_hw = ts_init, | ||
422 | }; | ||
423 | |||
424 | static struct i2c_board_info ts_i2c_clients = { | ||
425 | I2C_BOARD_INFO("tsc2007", 0x48), | ||
426 | .type = "tsc2007", | ||
427 | .platform_data = &tsc2007_info, | ||
428 | .irq = IRQ0, | ||
429 | }; | ||
430 | |||
379 | static struct platform_device *ecovec_devices[] __initdata = { | 431 | static struct platform_device *ecovec_devices[] __initdata = { |
380 | &heartbeat_device, | 432 | &heartbeat_device, |
381 | &nor_flash_device, | 433 | &nor_flash_device, |
@@ -460,6 +512,11 @@ static void __init sh_eth_init(void) | |||
460 | #define IODRIVEA 0xA405018A | 512 | #define IODRIVEA 0xA405018A |
461 | static int __init arch_setup(void) | 513 | static int __init arch_setup(void) |
462 | { | 514 | { |
515 | /* enable STATUS0, STATUS2 and PDSTATUS */ | ||
516 | gpio_request(GPIO_FN_STATUS0, NULL); | ||
517 | gpio_request(GPIO_FN_STATUS2, NULL); | ||
518 | gpio_request(GPIO_FN_PDSTATUS, NULL); | ||
519 | |||
463 | /* enable SCIFA0 */ | 520 | /* enable SCIFA0 */ |
464 | gpio_request(GPIO_FN_SCIF0_TXD, NULL); | 521 | gpio_request(GPIO_FN_SCIF0_TXD, NULL); |
465 | gpio_request(GPIO_FN_SCIF0_RXD, NULL); | 522 | gpio_request(GPIO_FN_SCIF0_RXD, NULL); |
@@ -590,6 +647,10 @@ static int __init arch_setup(void) | |||
590 | */ | 647 | */ |
591 | gpio_request(GPIO_PTF4, NULL); | 648 | gpio_request(GPIO_PTF4, NULL); |
592 | gpio_direction_output(GPIO_PTF4, 1); | 649 | gpio_direction_output(GPIO_PTF4, 1); |
650 | |||
651 | /* enable TouchScreen */ | ||
652 | i2c_register_board_info(0, &ts_i2c_clients, 1); | ||
653 | set_irq_type(IRQ0, IRQ_TYPE_LEVEL_LOW); | ||
593 | } | 654 | } |
594 | 655 | ||
595 | /* enable CEU0 */ | 656 | /* enable CEU0 */ |
diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S index 0151933e5253..bb407ef0b91e 100644 --- a/arch/sh/kernel/cpu/sh3/entry.S +++ b/arch/sh/kernel/cpu/sh3/entry.S | |||
@@ -152,8 +152,6 @@ call_do_page_fault: | |||
152 | mov.l 1f, r0 | 152 | mov.l 1f, r0 |
153 | mov.l @r0, r6 | 153 | mov.l @r0, r6 |
154 | 154 | ||
155 | sti | ||
156 | |||
157 | mov.l 3f, r0 | 155 | mov.l 3f, r0 |
158 | mov.l 4f, r1 | 156 | mov.l 4f, r1 |
159 | mov r15, r4 | 157 | mov r15, r4 |
diff --git a/arch/sh/kernel/io_generic.c b/arch/sh/kernel/io_generic.c index 4ff507239286..b8fa6524760a 100644 --- a/arch/sh/kernel/io_generic.c +++ b/arch/sh/kernel/io_generic.c | |||
@@ -147,6 +147,9 @@ void generic_outsl(unsigned long port, const void *src, unsigned long count) | |||
147 | 147 | ||
148 | void __iomem *generic_ioport_map(unsigned long addr, unsigned int size) | 148 | void __iomem *generic_ioport_map(unsigned long addr, unsigned int size) |
149 | { | 149 | { |
150 | if (PXSEG(addr) >= P1SEG) | ||
151 | return (void __iomem *)addr; | ||
152 | |||
150 | return (void __iomem *)(addr + generic_io_base); | 153 | return (void __iomem *)(addr + generic_io_base); |
151 | } | 154 | } |
152 | 155 | ||
diff --git a/arch/sh/kernel/machvec.c b/arch/sh/kernel/machvec.c index 548f6607fd0f..cbce639b108a 100644 --- a/arch/sh/kernel/machvec.c +++ b/arch/sh/kernel/machvec.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/string.h> | 14 | #include <linux/string.h> |
15 | #include <asm/machvec.h> | 15 | #include <asm/machvec.h> |
16 | #include <asm/sections.h> | 16 | #include <asm/sections.h> |
17 | #include <asm/addrspace.h> | ||
17 | #include <asm/setup.h> | 18 | #include <asm/setup.h> |
18 | #include <asm/io.h> | 19 | #include <asm/io.h> |
19 | #include <asm/irq.h> | 20 | #include <asm/irq.h> |
@@ -133,4 +134,6 @@ void __init sh_mv_setup(void) | |||
133 | 134 | ||
134 | if (!sh_mv.mv_nr_irqs) | 135 | if (!sh_mv.mv_nr_irqs) |
135 | sh_mv.mv_nr_irqs = NR_IRQS; | 136 | sh_mv.mv_nr_irqs = NR_IRQS; |
137 | |||
138 | __set_io_port_base(P2SEG); | ||
136 | } | 139 | } |
diff --git a/arch/sh/kernel/sh_ksyms_32.c b/arch/sh/kernel/sh_ksyms_32.c index 8dbe26b17c44..86c270428357 100644 --- a/arch/sh/kernel/sh_ksyms_32.c +++ b/arch/sh/kernel/sh_ksyms_32.c | |||
@@ -84,6 +84,7 @@ DECLARE_EXPORT(__movstrSI60); | |||
84 | DECLARE_EXPORT(__movstr_i4_even); | 84 | DECLARE_EXPORT(__movstr_i4_even); |
85 | DECLARE_EXPORT(__movstr_i4_odd); | 85 | DECLARE_EXPORT(__movstr_i4_odd); |
86 | DECLARE_EXPORT(__movstrSI12_i4); | 86 | DECLARE_EXPORT(__movstrSI12_i4); |
87 | DECLARE_EXPORT(__movmem); | ||
87 | DECLARE_EXPORT(__movmem_i4_even); | 88 | DECLARE_EXPORT(__movmem_i4_even); |
88 | DECLARE_EXPORT(__movmem_i4_odd); | 89 | DECLARE_EXPORT(__movmem_i4_odd); |
89 | DECLARE_EXPORT(__movmemSI12_i4); | 90 | DECLARE_EXPORT(__movmemSI12_i4); |
diff --git a/arch/sh/kernel/traps_32.c b/arch/sh/kernel/traps_32.c index 69bb1652eccd..e0b5e4b5accd 100644 --- a/arch/sh/kernel/traps_32.c +++ b/arch/sh/kernel/traps_32.c | |||
@@ -54,8 +54,8 @@ static unsigned long se_multi; | |||
54 | /* bitfield: 1: warn 2: fixup 4: signal -> combinations 2|4 && 1|2|4 are not | 54 | /* bitfield: 1: warn 2: fixup 4: signal -> combinations 2|4 && 1|2|4 are not |
55 | valid! */ | 55 | valid! */ |
56 | static int se_usermode = 3; | 56 | static int se_usermode = 3; |
57 | /* 0: no warning 1: print a warning message */ | 57 | /* 0: no warning 1: print a warning message, disabled by default */ |
58 | static int se_kernmode_warn = 1; | 58 | static int se_kernmode_warn; |
59 | 59 | ||
60 | #ifdef CONFIG_PROC_FS | 60 | #ifdef CONFIG_PROC_FS |
61 | static const char *se_usermode_action[] = { | 61 | static const char *se_usermode_action[] = { |
diff --git a/arch/sh/mm/cache-sh4.c b/arch/sh/mm/cache-sh4.c index b2453bbef4cd..a98c7d8984fa 100644 --- a/arch/sh/mm/cache-sh4.c +++ b/arch/sh/mm/cache-sh4.c | |||
@@ -43,7 +43,7 @@ static void (*__flush_dcache_segment_fn)(unsigned long, unsigned long) = | |||
43 | * Called from kernel/module.c:sys_init_module and routine for a.out format, | 43 | * Called from kernel/module.c:sys_init_module and routine for a.out format, |
44 | * signal handler code and kprobes code | 44 | * signal handler code and kprobes code |
45 | */ | 45 | */ |
46 | static void sh4_flush_icache_range(void *args) | 46 | static void __uses_jump_to_uncached sh4_flush_icache_range(void *args) |
47 | { | 47 | { |
48 | struct flusher_data *data = args; | 48 | struct flusher_data *data = args; |
49 | unsigned long start, end; | 49 | unsigned long start, end; |
diff --git a/arch/sh/mm/cache-sh7705.c b/arch/sh/mm/cache-sh7705.c index 2cadee2037ac..2601935eb589 100644 --- a/arch/sh/mm/cache-sh7705.c +++ b/arch/sh/mm/cache-sh7705.c | |||
@@ -78,7 +78,7 @@ static void sh7705_flush_icache_range(void *args) | |||
78 | /* | 78 | /* |
79 | * Writeback&Invalidate the D-cache of the page | 79 | * Writeback&Invalidate the D-cache of the page |
80 | */ | 80 | */ |
81 | static void __flush_dcache_page(unsigned long phys) | 81 | static void __uses_jump_to_uncached __flush_dcache_page(unsigned long phys) |
82 | { | 82 | { |
83 | unsigned long ways, waysize, addrstart; | 83 | unsigned long ways, waysize, addrstart; |
84 | unsigned long flags; | 84 | unsigned long flags; |
@@ -144,7 +144,7 @@ static void sh7705_flush_dcache_page(void *arg) | |||
144 | __flush_dcache_page(PHYSADDR(page_address(page))); | 144 | __flush_dcache_page(PHYSADDR(page_address(page))); |
145 | } | 145 | } |
146 | 146 | ||
147 | static void sh7705_flush_cache_all(void *args) | 147 | static void __uses_jump_to_uncached sh7705_flush_cache_all(void *args) |
148 | { | 148 | { |
149 | unsigned long flags; | 149 | unsigned long flags; |
150 | 150 | ||
diff --git a/arch/sh/mm/ioremap_32.c b/arch/sh/mm/ioremap_32.c index c3250614e3ae..a86eaa9d75a5 100644 --- a/arch/sh/mm/ioremap_32.c +++ b/arch/sh/mm/ioremap_32.c | |||
@@ -83,7 +83,7 @@ void __iomem *__ioremap(unsigned long phys_addr, unsigned long size, | |||
83 | * | 83 | * |
84 | * PMB entries are all pre-faulted. | 84 | * PMB entries are all pre-faulted. |
85 | */ | 85 | */ |
86 | if (unlikely(size >= 0x1000000)) { | 86 | if (unlikely(phys_addr >= P1SEG)) { |
87 | unsigned long mapped = pmb_remap(addr, phys_addr, size, flags); | 87 | unsigned long mapped = pmb_remap(addr, phys_addr, size, flags); |
88 | 88 | ||
89 | if (likely(mapped)) { | 89 | if (likely(mapped)) { |
diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index b1a714a92b14..aade31102112 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c | |||
@@ -33,6 +33,8 @@ | |||
33 | 33 | ||
34 | #define NR_PMB_ENTRIES 16 | 34 | #define NR_PMB_ENTRIES 16 |
35 | 35 | ||
36 | static void __pmb_unmap(struct pmb_entry *); | ||
37 | |||
36 | static struct kmem_cache *pmb_cache; | 38 | static struct kmem_cache *pmb_cache; |
37 | static unsigned long pmb_map; | 39 | static unsigned long pmb_map; |
38 | 40 | ||
@@ -218,9 +220,10 @@ static struct { | |||
218 | long pmb_remap(unsigned long vaddr, unsigned long phys, | 220 | long pmb_remap(unsigned long vaddr, unsigned long phys, |
219 | unsigned long size, unsigned long flags) | 221 | unsigned long size, unsigned long flags) |
220 | { | 222 | { |
221 | struct pmb_entry *pmbp; | 223 | struct pmb_entry *pmbp, *pmbe; |
222 | unsigned long wanted; | 224 | unsigned long wanted; |
223 | int pmb_flags, i; | 225 | int pmb_flags, i; |
226 | long err; | ||
224 | 227 | ||
225 | /* Convert typical pgprot value to the PMB equivalent */ | 228 | /* Convert typical pgprot value to the PMB equivalent */ |
226 | if (flags & _PAGE_CACHABLE) { | 229 | if (flags & _PAGE_CACHABLE) { |
@@ -236,20 +239,22 @@ long pmb_remap(unsigned long vaddr, unsigned long phys, | |||
236 | 239 | ||
237 | again: | 240 | again: |
238 | for (i = 0; i < ARRAY_SIZE(pmb_sizes); i++) { | 241 | for (i = 0; i < ARRAY_SIZE(pmb_sizes); i++) { |
239 | struct pmb_entry *pmbe; | ||
240 | int ret; | 242 | int ret; |
241 | 243 | ||
242 | if (size < pmb_sizes[i].size) | 244 | if (size < pmb_sizes[i].size) |
243 | continue; | 245 | continue; |
244 | 246 | ||
245 | pmbe = pmb_alloc(vaddr, phys, pmb_flags | pmb_sizes[i].flag); | 247 | pmbe = pmb_alloc(vaddr, phys, pmb_flags | pmb_sizes[i].flag); |
246 | if (IS_ERR(pmbe)) | 248 | if (IS_ERR(pmbe)) { |
247 | return PTR_ERR(pmbe); | 249 | err = PTR_ERR(pmbe); |
250 | goto out; | ||
251 | } | ||
248 | 252 | ||
249 | ret = set_pmb_entry(pmbe); | 253 | ret = set_pmb_entry(pmbe); |
250 | if (ret != 0) { | 254 | if (ret != 0) { |
251 | pmb_free(pmbe); | 255 | pmb_free(pmbe); |
252 | return -EBUSY; | 256 | err = -EBUSY; |
257 | goto out; | ||
253 | } | 258 | } |
254 | 259 | ||
255 | phys += pmb_sizes[i].size; | 260 | phys += pmb_sizes[i].size; |
@@ -264,12 +269,25 @@ again: | |||
264 | pmbp->link = pmbe; | 269 | pmbp->link = pmbe; |
265 | 270 | ||
266 | pmbp = pmbe; | 271 | pmbp = pmbe; |
272 | |||
273 | /* | ||
274 | * Instead of trying smaller sizes on every iteration | ||
275 | * (even if we succeed in allocating space), try using | ||
276 | * pmb_sizes[i].size again. | ||
277 | */ | ||
278 | i--; | ||
267 | } | 279 | } |
268 | 280 | ||
269 | if (size >= 0x1000000) | 281 | if (size >= 0x1000000) |
270 | goto again; | 282 | goto again; |
271 | 283 | ||
272 | return wanted - size; | 284 | return wanted - size; |
285 | |||
286 | out: | ||
287 | if (pmbp) | ||
288 | __pmb_unmap(pmbp); | ||
289 | |||
290 | return err; | ||
273 | } | 291 | } |
274 | 292 | ||
275 | void pmb_unmap(unsigned long addr) | 293 | void pmb_unmap(unsigned long addr) |
@@ -283,12 +301,19 @@ void pmb_unmap(unsigned long addr) | |||
283 | if (unlikely(!pmbe)) | 301 | if (unlikely(!pmbe)) |
284 | return; | 302 | return; |
285 | 303 | ||
304 | __pmb_unmap(pmbe); | ||
305 | } | ||
306 | |||
307 | static void __pmb_unmap(struct pmb_entry *pmbe) | ||
308 | { | ||
286 | WARN_ON(!test_bit(pmbe->entry, &pmb_map)); | 309 | WARN_ON(!test_bit(pmbe->entry, &pmb_map)); |
287 | 310 | ||
288 | do { | 311 | do { |
289 | struct pmb_entry *pmblink = pmbe; | 312 | struct pmb_entry *pmblink = pmbe; |
290 | 313 | ||
291 | clear_pmb_entry(pmbe); | 314 | if (pmbe->entry != PMB_NO_ENTRY) |
315 | clear_pmb_entry(pmbe); | ||
316 | |||
292 | pmbe = pmblink->link; | 317 | pmbe = pmblink->link; |
293 | 318 | ||
294 | pmb_free(pmblink); | 319 | pmb_free(pmblink); |
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 9b70a2f28dc7..05ef5380a687 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -104,6 +104,9 @@ config HAVE_SETUP_PER_CPU_AREA | |||
104 | config NEED_PER_CPU_EMBED_FIRST_CHUNK | 104 | config NEED_PER_CPU_EMBED_FIRST_CHUNK |
105 | def_bool y if SPARC64 | 105 | def_bool y if SPARC64 |
106 | 106 | ||
107 | config NEED_PER_CPU_PAGE_FIRST_CHUNK | ||
108 | def_bool y if SPARC64 | ||
109 | |||
107 | config GENERIC_HARDIRQS_NO__DO_IRQ | 110 | config GENERIC_HARDIRQS_NO__DO_IRQ |
108 | bool | 111 | bool |
109 | def_bool y if SPARC64 | 112 | def_bool y if SPARC64 |
diff --git a/arch/sparc/include/asm/hardirq_32.h b/arch/sparc/include/asm/hardirq_32.h index 4f63ed8df551..162007643cdc 100644 --- a/arch/sparc/include/asm/hardirq_32.h +++ b/arch/sparc/include/asm/hardirq_32.h | |||
@@ -7,17 +7,7 @@ | |||
7 | #ifndef __SPARC_HARDIRQ_H | 7 | #ifndef __SPARC_HARDIRQ_H |
8 | #define __SPARC_HARDIRQ_H | 8 | #define __SPARC_HARDIRQ_H |
9 | 9 | ||
10 | #include <linux/threads.h> | ||
11 | #include <linux/spinlock.h> | ||
12 | #include <linux/cache.h> | ||
13 | |||
14 | /* entry.S is sensitive to the offsets of these fields */ /* XXX P3 Is it? */ | ||
15 | typedef struct { | ||
16 | unsigned int __softirq_pending; | ||
17 | } ____cacheline_aligned irq_cpustat_t; | ||
18 | |||
19 | #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ | ||
20 | |||
21 | #define HARDIRQ_BITS 8 | 10 | #define HARDIRQ_BITS 8 |
11 | #include <asm-generic/hardirq.h> | ||
22 | 12 | ||
23 | #endif /* __SPARC_HARDIRQ_H */ | 13 | #endif /* __SPARC_HARDIRQ_H */ |
diff --git a/arch/sparc/include/asm/irq_32.h b/arch/sparc/include/asm/irq_32.h index ea43057d4763..cbf4801deaaf 100644 --- a/arch/sparc/include/asm/irq_32.h +++ b/arch/sparc/include/asm/irq_32.h | |||
@@ -6,10 +6,10 @@ | |||
6 | #ifndef _SPARC_IRQ_H | 6 | #ifndef _SPARC_IRQ_H |
7 | #define _SPARC_IRQ_H | 7 | #define _SPARC_IRQ_H |
8 | 8 | ||
9 | #include <linux/interrupt.h> | ||
10 | |||
11 | #define NR_IRQS 16 | 9 | #define NR_IRQS 16 |
12 | 10 | ||
11 | #include <linux/interrupt.h> | ||
12 | |||
13 | #define irq_canonicalize(irq) (irq) | 13 | #define irq_canonicalize(irq) (irq) |
14 | 14 | ||
15 | extern void __init init_IRQ(void); | 15 | extern void __init init_IRQ(void); |
diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h index 0ff92fa22064..f3cb790fa2ae 100644 --- a/arch/sparc/include/asm/pgtable_64.h +++ b/arch/sparc/include/asm/pgtable_64.h | |||
@@ -41,8 +41,8 @@ | |||
41 | #define LOW_OBP_ADDRESS _AC(0x00000000f0000000,UL) | 41 | #define LOW_OBP_ADDRESS _AC(0x00000000f0000000,UL) |
42 | #define HI_OBP_ADDRESS _AC(0x0000000100000000,UL) | 42 | #define HI_OBP_ADDRESS _AC(0x0000000100000000,UL) |
43 | #define VMALLOC_START _AC(0x0000000100000000,UL) | 43 | #define VMALLOC_START _AC(0x0000000100000000,UL) |
44 | #define VMALLOC_END _AC(0x0000000200000000,UL) | 44 | #define VMALLOC_END _AC(0x0000010000000000,UL) |
45 | #define VMEMMAP_BASE _AC(0x0000000200000000,UL) | 45 | #define VMEMMAP_BASE _AC(0x0000010000000000,UL) |
46 | 46 | ||
47 | #define vmemmap ((struct page *)VMEMMAP_BASE) | 47 | #define vmemmap ((struct page *)VMEMMAP_BASE) |
48 | 48 | ||
diff --git a/arch/sparc/kernel/ktlb.S b/arch/sparc/kernel/ktlb.S index 3ea6e8cde8c5..1d361477d7d6 100644 --- a/arch/sparc/kernel/ktlb.S +++ b/arch/sparc/kernel/ktlb.S | |||
@@ -280,8 +280,8 @@ kvmap_dtlb_nonlinear: | |||
280 | 280 | ||
281 | #ifdef CONFIG_SPARSEMEM_VMEMMAP | 281 | #ifdef CONFIG_SPARSEMEM_VMEMMAP |
282 | /* Do not use the TSB for vmemmap. */ | 282 | /* Do not use the TSB for vmemmap. */ |
283 | mov (VMEMMAP_BASE >> 24), %g5 | 283 | mov (VMEMMAP_BASE >> 40), %g5 |
284 | sllx %g5, 24, %g5 | 284 | sllx %g5, 40, %g5 |
285 | cmp %g4,%g5 | 285 | cmp %g4,%g5 |
286 | bgeu,pn %xcc, kvmap_vmemmap | 286 | bgeu,pn %xcc, kvmap_vmemmap |
287 | nop | 287 | nop |
@@ -293,8 +293,8 @@ kvmap_dtlb_tsbmiss: | |||
293 | sethi %hi(MODULES_VADDR), %g5 | 293 | sethi %hi(MODULES_VADDR), %g5 |
294 | cmp %g4, %g5 | 294 | cmp %g4, %g5 |
295 | blu,pn %xcc, kvmap_dtlb_longpath | 295 | blu,pn %xcc, kvmap_dtlb_longpath |
296 | mov (VMALLOC_END >> 24), %g5 | 296 | mov (VMALLOC_END >> 40), %g5 |
297 | sllx %g5, 24, %g5 | 297 | sllx %g5, 40, %g5 |
298 | cmp %g4, %g5 | 298 | cmp %g4, %g5 |
299 | bgeu,pn %xcc, kvmap_dtlb_longpath | 299 | bgeu,pn %xcc, kvmap_dtlb_longpath |
300 | nop | 300 | nop |
diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index 2d6a1b10c81d..04db92743896 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c | |||
@@ -56,7 +56,8 @@ struct cpu_hw_events { | |||
56 | struct perf_event *events[MAX_HWEVENTS]; | 56 | struct perf_event *events[MAX_HWEVENTS]; |
57 | unsigned long used_mask[BITS_TO_LONGS(MAX_HWEVENTS)]; | 57 | unsigned long used_mask[BITS_TO_LONGS(MAX_HWEVENTS)]; |
58 | unsigned long active_mask[BITS_TO_LONGS(MAX_HWEVENTS)]; | 58 | unsigned long active_mask[BITS_TO_LONGS(MAX_HWEVENTS)]; |
59 | int enabled; | 59 | u64 pcr; |
60 | int enabled; | ||
60 | }; | 61 | }; |
61 | DEFINE_PER_CPU(struct cpu_hw_events, cpu_hw_events) = { .enabled = 1, }; | 62 | DEFINE_PER_CPU(struct cpu_hw_events, cpu_hw_events) = { .enabled = 1, }; |
62 | 63 | ||
@@ -68,8 +69,30 @@ struct perf_event_map { | |||
68 | #define PIC_LOWER 0x02 | 69 | #define PIC_LOWER 0x02 |
69 | }; | 70 | }; |
70 | 71 | ||
72 | static unsigned long perf_event_encode(const struct perf_event_map *pmap) | ||
73 | { | ||
74 | return ((unsigned long) pmap->encoding << 16) | pmap->pic_mask; | ||
75 | } | ||
76 | |||
77 | static void perf_event_decode(unsigned long val, u16 *enc, u8 *msk) | ||
78 | { | ||
79 | *msk = val & 0xff; | ||
80 | *enc = val >> 16; | ||
81 | } | ||
82 | |||
83 | #define C(x) PERF_COUNT_HW_CACHE_##x | ||
84 | |||
85 | #define CACHE_OP_UNSUPPORTED 0xfffe | ||
86 | #define CACHE_OP_NONSENSE 0xffff | ||
87 | |||
88 | typedef struct perf_event_map cache_map_t | ||
89 | [PERF_COUNT_HW_CACHE_MAX] | ||
90 | [PERF_COUNT_HW_CACHE_OP_MAX] | ||
91 | [PERF_COUNT_HW_CACHE_RESULT_MAX]; | ||
92 | |||
71 | struct sparc_pmu { | 93 | struct sparc_pmu { |
72 | const struct perf_event_map *(*event_map)(int); | 94 | const struct perf_event_map *(*event_map)(int); |
95 | const cache_map_t *cache_map; | ||
73 | int max_events; | 96 | int max_events; |
74 | int upper_shift; | 97 | int upper_shift; |
75 | int lower_shift; | 98 | int lower_shift; |
@@ -80,21 +103,109 @@ struct sparc_pmu { | |||
80 | int lower_nop; | 103 | int lower_nop; |
81 | }; | 104 | }; |
82 | 105 | ||
83 | static const struct perf_event_map ultra3i_perfmon_event_map[] = { | 106 | static const struct perf_event_map ultra3_perfmon_event_map[] = { |
84 | [PERF_COUNT_HW_CPU_CYCLES] = { 0x0000, PIC_UPPER | PIC_LOWER }, | 107 | [PERF_COUNT_HW_CPU_CYCLES] = { 0x0000, PIC_UPPER | PIC_LOWER }, |
85 | [PERF_COUNT_HW_INSTRUCTIONS] = { 0x0001, PIC_UPPER | PIC_LOWER }, | 108 | [PERF_COUNT_HW_INSTRUCTIONS] = { 0x0001, PIC_UPPER | PIC_LOWER }, |
86 | [PERF_COUNT_HW_CACHE_REFERENCES] = { 0x0009, PIC_LOWER }, | 109 | [PERF_COUNT_HW_CACHE_REFERENCES] = { 0x0009, PIC_LOWER }, |
87 | [PERF_COUNT_HW_CACHE_MISSES] = { 0x0009, PIC_UPPER }, | 110 | [PERF_COUNT_HW_CACHE_MISSES] = { 0x0009, PIC_UPPER }, |
88 | }; | 111 | }; |
89 | 112 | ||
90 | static const struct perf_event_map *ultra3i_event_map(int event_id) | 113 | static const struct perf_event_map *ultra3_event_map(int event_id) |
91 | { | 114 | { |
92 | return &ultra3i_perfmon_event_map[event_id]; | 115 | return &ultra3_perfmon_event_map[event_id]; |
93 | } | 116 | } |
94 | 117 | ||
95 | static const struct sparc_pmu ultra3i_pmu = { | 118 | static const cache_map_t ultra3_cache_map = { |
96 | .event_map = ultra3i_event_map, | 119 | [C(L1D)] = { |
97 | .max_events = ARRAY_SIZE(ultra3i_perfmon_event_map), | 120 | [C(OP_READ)] = { |
121 | [C(RESULT_ACCESS)] = { 0x09, PIC_LOWER, }, | ||
122 | [C(RESULT_MISS)] = { 0x09, PIC_UPPER, }, | ||
123 | }, | ||
124 | [C(OP_WRITE)] = { | ||
125 | [C(RESULT_ACCESS)] = { 0x0a, PIC_LOWER }, | ||
126 | [C(RESULT_MISS)] = { 0x0a, PIC_UPPER }, | ||
127 | }, | ||
128 | [C(OP_PREFETCH)] = { | ||
129 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
130 | [C(RESULT_MISS)] = { CACHE_OP_UNSUPPORTED }, | ||
131 | }, | ||
132 | }, | ||
133 | [C(L1I)] = { | ||
134 | [C(OP_READ)] = { | ||
135 | [C(RESULT_ACCESS)] = { 0x09, PIC_LOWER, }, | ||
136 | [C(RESULT_MISS)] = { 0x09, PIC_UPPER, }, | ||
137 | }, | ||
138 | [ C(OP_WRITE) ] = { | ||
139 | [ C(RESULT_ACCESS) ] = { CACHE_OP_NONSENSE }, | ||
140 | [ C(RESULT_MISS) ] = { CACHE_OP_NONSENSE }, | ||
141 | }, | ||
142 | [ C(OP_PREFETCH) ] = { | ||
143 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
144 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
145 | }, | ||
146 | }, | ||
147 | [C(LL)] = { | ||
148 | [C(OP_READ)] = { | ||
149 | [C(RESULT_ACCESS)] = { 0x0c, PIC_LOWER, }, | ||
150 | [C(RESULT_MISS)] = { 0x0c, PIC_UPPER, }, | ||
151 | }, | ||
152 | [C(OP_WRITE)] = { | ||
153 | [C(RESULT_ACCESS)] = { 0x0c, PIC_LOWER }, | ||
154 | [C(RESULT_MISS)] = { 0x0c, PIC_UPPER }, | ||
155 | }, | ||
156 | [C(OP_PREFETCH)] = { | ||
157 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
158 | [C(RESULT_MISS)] = { CACHE_OP_UNSUPPORTED }, | ||
159 | }, | ||
160 | }, | ||
161 | [C(DTLB)] = { | ||
162 | [C(OP_READ)] = { | ||
163 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
164 | [C(RESULT_MISS)] = { 0x12, PIC_UPPER, }, | ||
165 | }, | ||
166 | [ C(OP_WRITE) ] = { | ||
167 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
168 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
169 | }, | ||
170 | [ C(OP_PREFETCH) ] = { | ||
171 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
172 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
173 | }, | ||
174 | }, | ||
175 | [C(ITLB)] = { | ||
176 | [C(OP_READ)] = { | ||
177 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
178 | [C(RESULT_MISS)] = { 0x11, PIC_UPPER, }, | ||
179 | }, | ||
180 | [ C(OP_WRITE) ] = { | ||
181 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
182 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
183 | }, | ||
184 | [ C(OP_PREFETCH) ] = { | ||
185 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
186 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
187 | }, | ||
188 | }, | ||
189 | [C(BPU)] = { | ||
190 | [C(OP_READ)] = { | ||
191 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
192 | [C(RESULT_MISS)] = { CACHE_OP_UNSUPPORTED }, | ||
193 | }, | ||
194 | [ C(OP_WRITE) ] = { | ||
195 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
196 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
197 | }, | ||
198 | [ C(OP_PREFETCH) ] = { | ||
199 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
200 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
201 | }, | ||
202 | }, | ||
203 | }; | ||
204 | |||
205 | static const struct sparc_pmu ultra3_pmu = { | ||
206 | .event_map = ultra3_event_map, | ||
207 | .cache_map = &ultra3_cache_map, | ||
208 | .max_events = ARRAY_SIZE(ultra3_perfmon_event_map), | ||
98 | .upper_shift = 11, | 209 | .upper_shift = 11, |
99 | .lower_shift = 4, | 210 | .lower_shift = 4, |
100 | .event_mask = 0x3f, | 211 | .event_mask = 0x3f, |
@@ -102,6 +213,121 @@ static const struct sparc_pmu ultra3i_pmu = { | |||
102 | .lower_nop = 0x14, | 213 | .lower_nop = 0x14, |
103 | }; | 214 | }; |
104 | 215 | ||
216 | /* Niagara1 is very limited. The upper PIC is hard-locked to count | ||
217 | * only instructions, so it is free running which creates all kinds of | ||
218 | * problems. Some hardware designs make one wonder if the creator | ||
219 | * even looked at how this stuff gets used by software. | ||
220 | */ | ||
221 | static const struct perf_event_map niagara1_perfmon_event_map[] = { | ||
222 | [PERF_COUNT_HW_CPU_CYCLES] = { 0x00, PIC_UPPER }, | ||
223 | [PERF_COUNT_HW_INSTRUCTIONS] = { 0x00, PIC_UPPER }, | ||
224 | [PERF_COUNT_HW_CACHE_REFERENCES] = { 0, PIC_NONE }, | ||
225 | [PERF_COUNT_HW_CACHE_MISSES] = { 0x03, PIC_LOWER }, | ||
226 | }; | ||
227 | |||
228 | static const struct perf_event_map *niagara1_event_map(int event_id) | ||
229 | { | ||
230 | return &niagara1_perfmon_event_map[event_id]; | ||
231 | } | ||
232 | |||
233 | static const cache_map_t niagara1_cache_map = { | ||
234 | [C(L1D)] = { | ||
235 | [C(OP_READ)] = { | ||
236 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
237 | [C(RESULT_MISS)] = { 0x03, PIC_LOWER, }, | ||
238 | }, | ||
239 | [C(OP_WRITE)] = { | ||
240 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
241 | [C(RESULT_MISS)] = { 0x03, PIC_LOWER, }, | ||
242 | }, | ||
243 | [C(OP_PREFETCH)] = { | ||
244 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
245 | [C(RESULT_MISS)] = { CACHE_OP_UNSUPPORTED }, | ||
246 | }, | ||
247 | }, | ||
248 | [C(L1I)] = { | ||
249 | [C(OP_READ)] = { | ||
250 | [C(RESULT_ACCESS)] = { 0x00, PIC_UPPER }, | ||
251 | [C(RESULT_MISS)] = { 0x02, PIC_LOWER, }, | ||
252 | }, | ||
253 | [ C(OP_WRITE) ] = { | ||
254 | [ C(RESULT_ACCESS) ] = { CACHE_OP_NONSENSE }, | ||
255 | [ C(RESULT_MISS) ] = { CACHE_OP_NONSENSE }, | ||
256 | }, | ||
257 | [ C(OP_PREFETCH) ] = { | ||
258 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
259 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
260 | }, | ||
261 | }, | ||
262 | [C(LL)] = { | ||
263 | [C(OP_READ)] = { | ||
264 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
265 | [C(RESULT_MISS)] = { 0x07, PIC_LOWER, }, | ||
266 | }, | ||
267 | [C(OP_WRITE)] = { | ||
268 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
269 | [C(RESULT_MISS)] = { 0x07, PIC_LOWER, }, | ||
270 | }, | ||
271 | [C(OP_PREFETCH)] = { | ||
272 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
273 | [C(RESULT_MISS)] = { CACHE_OP_UNSUPPORTED }, | ||
274 | }, | ||
275 | }, | ||
276 | [C(DTLB)] = { | ||
277 | [C(OP_READ)] = { | ||
278 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
279 | [C(RESULT_MISS)] = { 0x05, PIC_LOWER, }, | ||
280 | }, | ||
281 | [ C(OP_WRITE) ] = { | ||
282 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
283 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
284 | }, | ||
285 | [ C(OP_PREFETCH) ] = { | ||
286 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
287 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
288 | }, | ||
289 | }, | ||
290 | [C(ITLB)] = { | ||
291 | [C(OP_READ)] = { | ||
292 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
293 | [C(RESULT_MISS)] = { 0x04, PIC_LOWER, }, | ||
294 | }, | ||
295 | [ C(OP_WRITE) ] = { | ||
296 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
297 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
298 | }, | ||
299 | [ C(OP_PREFETCH) ] = { | ||
300 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
301 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
302 | }, | ||
303 | }, | ||
304 | [C(BPU)] = { | ||
305 | [C(OP_READ)] = { | ||
306 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
307 | [C(RESULT_MISS)] = { CACHE_OP_UNSUPPORTED }, | ||
308 | }, | ||
309 | [ C(OP_WRITE) ] = { | ||
310 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
311 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
312 | }, | ||
313 | [ C(OP_PREFETCH) ] = { | ||
314 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
315 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
316 | }, | ||
317 | }, | ||
318 | }; | ||
319 | |||
320 | static const struct sparc_pmu niagara1_pmu = { | ||
321 | .event_map = niagara1_event_map, | ||
322 | .cache_map = &niagara1_cache_map, | ||
323 | .max_events = ARRAY_SIZE(niagara1_perfmon_event_map), | ||
324 | .upper_shift = 0, | ||
325 | .lower_shift = 4, | ||
326 | .event_mask = 0x7, | ||
327 | .upper_nop = 0x0, | ||
328 | .lower_nop = 0x0, | ||
329 | }; | ||
330 | |||
105 | static const struct perf_event_map niagara2_perfmon_event_map[] = { | 331 | static const struct perf_event_map niagara2_perfmon_event_map[] = { |
106 | [PERF_COUNT_HW_CPU_CYCLES] = { 0x02ff, PIC_UPPER | PIC_LOWER }, | 332 | [PERF_COUNT_HW_CPU_CYCLES] = { 0x02ff, PIC_UPPER | PIC_LOWER }, |
107 | [PERF_COUNT_HW_INSTRUCTIONS] = { 0x02ff, PIC_UPPER | PIC_LOWER }, | 333 | [PERF_COUNT_HW_INSTRUCTIONS] = { 0x02ff, PIC_UPPER | PIC_LOWER }, |
@@ -116,8 +342,96 @@ static const struct perf_event_map *niagara2_event_map(int event_id) | |||
116 | return &niagara2_perfmon_event_map[event_id]; | 342 | return &niagara2_perfmon_event_map[event_id]; |
117 | } | 343 | } |
118 | 344 | ||
345 | static const cache_map_t niagara2_cache_map = { | ||
346 | [C(L1D)] = { | ||
347 | [C(OP_READ)] = { | ||
348 | [C(RESULT_ACCESS)] = { 0x0208, PIC_UPPER | PIC_LOWER, }, | ||
349 | [C(RESULT_MISS)] = { 0x0302, PIC_UPPER | PIC_LOWER, }, | ||
350 | }, | ||
351 | [C(OP_WRITE)] = { | ||
352 | [C(RESULT_ACCESS)] = { 0x0210, PIC_UPPER | PIC_LOWER, }, | ||
353 | [C(RESULT_MISS)] = { 0x0302, PIC_UPPER | PIC_LOWER, }, | ||
354 | }, | ||
355 | [C(OP_PREFETCH)] = { | ||
356 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
357 | [C(RESULT_MISS)] = { CACHE_OP_UNSUPPORTED }, | ||
358 | }, | ||
359 | }, | ||
360 | [C(L1I)] = { | ||
361 | [C(OP_READ)] = { | ||
362 | [C(RESULT_ACCESS)] = { 0x02ff, PIC_UPPER | PIC_LOWER, }, | ||
363 | [C(RESULT_MISS)] = { 0x0301, PIC_UPPER | PIC_LOWER, }, | ||
364 | }, | ||
365 | [ C(OP_WRITE) ] = { | ||
366 | [ C(RESULT_ACCESS) ] = { CACHE_OP_NONSENSE }, | ||
367 | [ C(RESULT_MISS) ] = { CACHE_OP_NONSENSE }, | ||
368 | }, | ||
369 | [ C(OP_PREFETCH) ] = { | ||
370 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
371 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
372 | }, | ||
373 | }, | ||
374 | [C(LL)] = { | ||
375 | [C(OP_READ)] = { | ||
376 | [C(RESULT_ACCESS)] = { 0x0208, PIC_UPPER | PIC_LOWER, }, | ||
377 | [C(RESULT_MISS)] = { 0x0330, PIC_UPPER | PIC_LOWER, }, | ||
378 | }, | ||
379 | [C(OP_WRITE)] = { | ||
380 | [C(RESULT_ACCESS)] = { 0x0210, PIC_UPPER | PIC_LOWER, }, | ||
381 | [C(RESULT_MISS)] = { 0x0320, PIC_UPPER | PIC_LOWER, }, | ||
382 | }, | ||
383 | [C(OP_PREFETCH)] = { | ||
384 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
385 | [C(RESULT_MISS)] = { CACHE_OP_UNSUPPORTED }, | ||
386 | }, | ||
387 | }, | ||
388 | [C(DTLB)] = { | ||
389 | [C(OP_READ)] = { | ||
390 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
391 | [C(RESULT_MISS)] = { 0x0b08, PIC_UPPER | PIC_LOWER, }, | ||
392 | }, | ||
393 | [ C(OP_WRITE) ] = { | ||
394 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
395 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
396 | }, | ||
397 | [ C(OP_PREFETCH) ] = { | ||
398 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
399 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
400 | }, | ||
401 | }, | ||
402 | [C(ITLB)] = { | ||
403 | [C(OP_READ)] = { | ||
404 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
405 | [C(RESULT_MISS)] = { 0xb04, PIC_UPPER | PIC_LOWER, }, | ||
406 | }, | ||
407 | [ C(OP_WRITE) ] = { | ||
408 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
409 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
410 | }, | ||
411 | [ C(OP_PREFETCH) ] = { | ||
412 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
413 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
414 | }, | ||
415 | }, | ||
416 | [C(BPU)] = { | ||
417 | [C(OP_READ)] = { | ||
418 | [C(RESULT_ACCESS)] = { CACHE_OP_UNSUPPORTED }, | ||
419 | [C(RESULT_MISS)] = { CACHE_OP_UNSUPPORTED }, | ||
420 | }, | ||
421 | [ C(OP_WRITE) ] = { | ||
422 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
423 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
424 | }, | ||
425 | [ C(OP_PREFETCH) ] = { | ||
426 | [ C(RESULT_ACCESS) ] = { CACHE_OP_UNSUPPORTED }, | ||
427 | [ C(RESULT_MISS) ] = { CACHE_OP_UNSUPPORTED }, | ||
428 | }, | ||
429 | }, | ||
430 | }; | ||
431 | |||
119 | static const struct sparc_pmu niagara2_pmu = { | 432 | static const struct sparc_pmu niagara2_pmu = { |
120 | .event_map = niagara2_event_map, | 433 | .event_map = niagara2_event_map, |
434 | .cache_map = &niagara2_cache_map, | ||
121 | .max_events = ARRAY_SIZE(niagara2_perfmon_event_map), | 435 | .max_events = ARRAY_SIZE(niagara2_perfmon_event_map), |
122 | .upper_shift = 19, | 436 | .upper_shift = 19, |
123 | .lower_shift = 6, | 437 | .lower_shift = 6, |
@@ -151,23 +465,30 @@ static u64 nop_for_index(int idx) | |||
151 | sparc_pmu->lower_nop, idx); | 465 | sparc_pmu->lower_nop, idx); |
152 | } | 466 | } |
153 | 467 | ||
154 | static inline void sparc_pmu_enable_event(struct hw_perf_event *hwc, | 468 | static inline void sparc_pmu_enable_event(struct cpu_hw_events *cpuc, struct hw_perf_event *hwc, int idx) |
155 | int idx) | ||
156 | { | 469 | { |
157 | u64 val, mask = mask_for_index(idx); | 470 | u64 val, mask = mask_for_index(idx); |
158 | 471 | ||
159 | val = pcr_ops->read(); | 472 | val = cpuc->pcr; |
160 | pcr_ops->write((val & ~mask) | hwc->config); | 473 | val &= ~mask; |
474 | val |= hwc->config; | ||
475 | cpuc->pcr = val; | ||
476 | |||
477 | pcr_ops->write(cpuc->pcr); | ||
161 | } | 478 | } |
162 | 479 | ||
163 | static inline void sparc_pmu_disable_event(struct hw_perf_event *hwc, | 480 | static inline void sparc_pmu_disable_event(struct cpu_hw_events *cpuc, struct hw_perf_event *hwc, int idx) |
164 | int idx) | ||
165 | { | 481 | { |
166 | u64 mask = mask_for_index(idx); | 482 | u64 mask = mask_for_index(idx); |
167 | u64 nop = nop_for_index(idx); | 483 | u64 nop = nop_for_index(idx); |
168 | u64 val = pcr_ops->read(); | 484 | u64 val; |
169 | 485 | ||
170 | pcr_ops->write((val & ~mask) | nop); | 486 | val = cpuc->pcr; |
487 | val &= ~mask; | ||
488 | val |= nop; | ||
489 | cpuc->pcr = val; | ||
490 | |||
491 | pcr_ops->write(cpuc->pcr); | ||
171 | } | 492 | } |
172 | 493 | ||
173 | void hw_perf_enable(void) | 494 | void hw_perf_enable(void) |
@@ -182,7 +503,7 @@ void hw_perf_enable(void) | |||
182 | cpuc->enabled = 1; | 503 | cpuc->enabled = 1; |
183 | barrier(); | 504 | barrier(); |
184 | 505 | ||
185 | val = pcr_ops->read(); | 506 | val = cpuc->pcr; |
186 | 507 | ||
187 | for (i = 0; i < MAX_HWEVENTS; i++) { | 508 | for (i = 0; i < MAX_HWEVENTS; i++) { |
188 | struct perf_event *cp = cpuc->events[i]; | 509 | struct perf_event *cp = cpuc->events[i]; |
@@ -194,7 +515,9 @@ void hw_perf_enable(void) | |||
194 | val |= hwc->config_base; | 515 | val |= hwc->config_base; |
195 | } | 516 | } |
196 | 517 | ||
197 | pcr_ops->write(val); | 518 | cpuc->pcr = val; |
519 | |||
520 | pcr_ops->write(cpuc->pcr); | ||
198 | } | 521 | } |
199 | 522 | ||
200 | void hw_perf_disable(void) | 523 | void hw_perf_disable(void) |
@@ -207,10 +530,12 @@ void hw_perf_disable(void) | |||
207 | 530 | ||
208 | cpuc->enabled = 0; | 531 | cpuc->enabled = 0; |
209 | 532 | ||
210 | val = pcr_ops->read(); | 533 | val = cpuc->pcr; |
211 | val &= ~(PCR_UTRACE | PCR_STRACE | | 534 | val &= ~(PCR_UTRACE | PCR_STRACE | |
212 | sparc_pmu->hv_bit | sparc_pmu->irq_bit); | 535 | sparc_pmu->hv_bit | sparc_pmu->irq_bit); |
213 | pcr_ops->write(val); | 536 | cpuc->pcr = val; |
537 | |||
538 | pcr_ops->write(cpuc->pcr); | ||
214 | } | 539 | } |
215 | 540 | ||
216 | static u32 read_pmc(int idx) | 541 | static u32 read_pmc(int idx) |
@@ -242,7 +567,7 @@ static void write_pmc(int idx, u64 val) | |||
242 | } | 567 | } |
243 | 568 | ||
244 | static int sparc_perf_event_set_period(struct perf_event *event, | 569 | static int sparc_perf_event_set_period(struct perf_event *event, |
245 | struct hw_perf_event *hwc, int idx) | 570 | struct hw_perf_event *hwc, int idx) |
246 | { | 571 | { |
247 | s64 left = atomic64_read(&hwc->period_left); | 572 | s64 left = atomic64_read(&hwc->period_left); |
248 | s64 period = hwc->sample_period; | 573 | s64 period = hwc->sample_period; |
@@ -282,19 +607,19 @@ static int sparc_pmu_enable(struct perf_event *event) | |||
282 | if (test_and_set_bit(idx, cpuc->used_mask)) | 607 | if (test_and_set_bit(idx, cpuc->used_mask)) |
283 | return -EAGAIN; | 608 | return -EAGAIN; |
284 | 609 | ||
285 | sparc_pmu_disable_event(hwc, idx); | 610 | sparc_pmu_disable_event(cpuc, hwc, idx); |
286 | 611 | ||
287 | cpuc->events[idx] = event; | 612 | cpuc->events[idx] = event; |
288 | set_bit(idx, cpuc->active_mask); | 613 | set_bit(idx, cpuc->active_mask); |
289 | 614 | ||
290 | sparc_perf_event_set_period(event, hwc, idx); | 615 | sparc_perf_event_set_period(event, hwc, idx); |
291 | sparc_pmu_enable_event(hwc, idx); | 616 | sparc_pmu_enable_event(cpuc, hwc, idx); |
292 | perf_event_update_userpage(event); | 617 | perf_event_update_userpage(event); |
293 | return 0; | 618 | return 0; |
294 | } | 619 | } |
295 | 620 | ||
296 | static u64 sparc_perf_event_update(struct perf_event *event, | 621 | static u64 sparc_perf_event_update(struct perf_event *event, |
297 | struct hw_perf_event *hwc, int idx) | 622 | struct hw_perf_event *hwc, int idx) |
298 | { | 623 | { |
299 | int shift = 64 - 32; | 624 | int shift = 64 - 32; |
300 | u64 prev_raw_count, new_raw_count; | 625 | u64 prev_raw_count, new_raw_count; |
@@ -324,7 +649,7 @@ static void sparc_pmu_disable(struct perf_event *event) | |||
324 | int idx = hwc->idx; | 649 | int idx = hwc->idx; |
325 | 650 | ||
326 | clear_bit(idx, cpuc->active_mask); | 651 | clear_bit(idx, cpuc->active_mask); |
327 | sparc_pmu_disable_event(hwc, idx); | 652 | sparc_pmu_disable_event(cpuc, hwc, idx); |
328 | 653 | ||
329 | barrier(); | 654 | barrier(); |
330 | 655 | ||
@@ -338,18 +663,29 @@ static void sparc_pmu_disable(struct perf_event *event) | |||
338 | static void sparc_pmu_read(struct perf_event *event) | 663 | static void sparc_pmu_read(struct perf_event *event) |
339 | { | 664 | { |
340 | struct hw_perf_event *hwc = &event->hw; | 665 | struct hw_perf_event *hwc = &event->hw; |
666 | |||
341 | sparc_perf_event_update(event, hwc, hwc->idx); | 667 | sparc_perf_event_update(event, hwc, hwc->idx); |
342 | } | 668 | } |
343 | 669 | ||
344 | static void sparc_pmu_unthrottle(struct perf_event *event) | 670 | static void sparc_pmu_unthrottle(struct perf_event *event) |
345 | { | 671 | { |
672 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); | ||
346 | struct hw_perf_event *hwc = &event->hw; | 673 | struct hw_perf_event *hwc = &event->hw; |
347 | sparc_pmu_enable_event(hwc, hwc->idx); | 674 | |
675 | sparc_pmu_enable_event(cpuc, hwc, hwc->idx); | ||
348 | } | 676 | } |
349 | 677 | ||
350 | static atomic_t active_events = ATOMIC_INIT(0); | 678 | static atomic_t active_events = ATOMIC_INIT(0); |
351 | static DEFINE_MUTEX(pmc_grab_mutex); | 679 | static DEFINE_MUTEX(pmc_grab_mutex); |
352 | 680 | ||
681 | static void perf_stop_nmi_watchdog(void *unused) | ||
682 | { | ||
683 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); | ||
684 | |||
685 | stop_nmi_watchdog(NULL); | ||
686 | cpuc->pcr = pcr_ops->read(); | ||
687 | } | ||
688 | |||
353 | void perf_event_grab_pmc(void) | 689 | void perf_event_grab_pmc(void) |
354 | { | 690 | { |
355 | if (atomic_inc_not_zero(&active_events)) | 691 | if (atomic_inc_not_zero(&active_events)) |
@@ -358,7 +694,7 @@ void perf_event_grab_pmc(void) | |||
358 | mutex_lock(&pmc_grab_mutex); | 694 | mutex_lock(&pmc_grab_mutex); |
359 | if (atomic_read(&active_events) == 0) { | 695 | if (atomic_read(&active_events) == 0) { |
360 | if (atomic_read(&nmi_active) > 0) { | 696 | if (atomic_read(&nmi_active) > 0) { |
361 | on_each_cpu(stop_nmi_watchdog, NULL, 1); | 697 | on_each_cpu(perf_stop_nmi_watchdog, NULL, 1); |
362 | BUG_ON(atomic_read(&nmi_active) != 0); | 698 | BUG_ON(atomic_read(&nmi_active) != 0); |
363 | } | 699 | } |
364 | atomic_inc(&active_events); | 700 | atomic_inc(&active_events); |
@@ -375,30 +711,160 @@ void perf_event_release_pmc(void) | |||
375 | } | 711 | } |
376 | } | 712 | } |
377 | 713 | ||
714 | static const struct perf_event_map *sparc_map_cache_event(u64 config) | ||
715 | { | ||
716 | unsigned int cache_type, cache_op, cache_result; | ||
717 | const struct perf_event_map *pmap; | ||
718 | |||
719 | if (!sparc_pmu->cache_map) | ||
720 | return ERR_PTR(-ENOENT); | ||
721 | |||
722 | cache_type = (config >> 0) & 0xff; | ||
723 | if (cache_type >= PERF_COUNT_HW_CACHE_MAX) | ||
724 | return ERR_PTR(-EINVAL); | ||
725 | |||
726 | cache_op = (config >> 8) & 0xff; | ||
727 | if (cache_op >= PERF_COUNT_HW_CACHE_OP_MAX) | ||
728 | return ERR_PTR(-EINVAL); | ||
729 | |||
730 | cache_result = (config >> 16) & 0xff; | ||
731 | if (cache_result >= PERF_COUNT_HW_CACHE_RESULT_MAX) | ||
732 | return ERR_PTR(-EINVAL); | ||
733 | |||
734 | pmap = &((*sparc_pmu->cache_map)[cache_type][cache_op][cache_result]); | ||
735 | |||
736 | if (pmap->encoding == CACHE_OP_UNSUPPORTED) | ||
737 | return ERR_PTR(-ENOENT); | ||
738 | |||
739 | if (pmap->encoding == CACHE_OP_NONSENSE) | ||
740 | return ERR_PTR(-EINVAL); | ||
741 | |||
742 | return pmap; | ||
743 | } | ||
744 | |||
378 | static void hw_perf_event_destroy(struct perf_event *event) | 745 | static void hw_perf_event_destroy(struct perf_event *event) |
379 | { | 746 | { |
380 | perf_event_release_pmc(); | 747 | perf_event_release_pmc(); |
381 | } | 748 | } |
382 | 749 | ||
750 | /* Make sure all events can be scheduled into the hardware at | ||
751 | * the same time. This is simplified by the fact that we only | ||
752 | * need to support 2 simultaneous HW events. | ||
753 | */ | ||
754 | static int sparc_check_constraints(unsigned long *events, int n_ev) | ||
755 | { | ||
756 | if (n_ev <= perf_max_events) { | ||
757 | u8 msk1, msk2; | ||
758 | u16 dummy; | ||
759 | |||
760 | if (n_ev == 1) | ||
761 | return 0; | ||
762 | BUG_ON(n_ev != 2); | ||
763 | perf_event_decode(events[0], &dummy, &msk1); | ||
764 | perf_event_decode(events[1], &dummy, &msk2); | ||
765 | |||
766 | /* If both events can go on any counter, OK. */ | ||
767 | if (msk1 == (PIC_UPPER | PIC_LOWER) && | ||
768 | msk2 == (PIC_UPPER | PIC_LOWER)) | ||
769 | return 0; | ||
770 | |||
771 | /* If one event is limited to a specific counter, | ||
772 | * and the other can go on both, OK. | ||
773 | */ | ||
774 | if ((msk1 == PIC_UPPER || msk1 == PIC_LOWER) && | ||
775 | msk2 == (PIC_UPPER | PIC_LOWER)) | ||
776 | return 0; | ||
777 | if ((msk2 == PIC_UPPER || msk2 == PIC_LOWER) && | ||
778 | msk1 == (PIC_UPPER | PIC_LOWER)) | ||
779 | return 0; | ||
780 | |||
781 | /* If the events are fixed to different counters, OK. */ | ||
782 | if ((msk1 == PIC_UPPER && msk2 == PIC_LOWER) || | ||
783 | (msk1 == PIC_LOWER && msk2 == PIC_UPPER)) | ||
784 | return 0; | ||
785 | |||
786 | /* Otherwise, there is a conflict. */ | ||
787 | } | ||
788 | |||
789 | return -1; | ||
790 | } | ||
791 | |||
792 | static int check_excludes(struct perf_event **evts, int n_prev, int n_new) | ||
793 | { | ||
794 | int eu = 0, ek = 0, eh = 0; | ||
795 | struct perf_event *event; | ||
796 | int i, n, first; | ||
797 | |||
798 | n = n_prev + n_new; | ||
799 | if (n <= 1) | ||
800 | return 0; | ||
801 | |||
802 | first = 1; | ||
803 | for (i = 0; i < n; i++) { | ||
804 | event = evts[i]; | ||
805 | if (first) { | ||
806 | eu = event->attr.exclude_user; | ||
807 | ek = event->attr.exclude_kernel; | ||
808 | eh = event->attr.exclude_hv; | ||
809 | first = 0; | ||
810 | } else if (event->attr.exclude_user != eu || | ||
811 | event->attr.exclude_kernel != ek || | ||
812 | event->attr.exclude_hv != eh) { | ||
813 | return -EAGAIN; | ||
814 | } | ||
815 | } | ||
816 | |||
817 | return 0; | ||
818 | } | ||
819 | |||
820 | static int collect_events(struct perf_event *group, int max_count, | ||
821 | struct perf_event *evts[], unsigned long *events) | ||
822 | { | ||
823 | struct perf_event *event; | ||
824 | int n = 0; | ||
825 | |||
826 | if (!is_software_event(group)) { | ||
827 | if (n >= max_count) | ||
828 | return -1; | ||
829 | evts[n] = group; | ||
830 | events[n++] = group->hw.event_base; | ||
831 | } | ||
832 | list_for_each_entry(event, &group->sibling_list, group_entry) { | ||
833 | if (!is_software_event(event) && | ||
834 | event->state != PERF_EVENT_STATE_OFF) { | ||
835 | if (n >= max_count) | ||
836 | return -1; | ||
837 | evts[n] = event; | ||
838 | events[n++] = event->hw.event_base; | ||
839 | } | ||
840 | } | ||
841 | return n; | ||
842 | } | ||
843 | |||
383 | static int __hw_perf_event_init(struct perf_event *event) | 844 | static int __hw_perf_event_init(struct perf_event *event) |
384 | { | 845 | { |
385 | struct perf_event_attr *attr = &event->attr; | 846 | struct perf_event_attr *attr = &event->attr; |
847 | struct perf_event *evts[MAX_HWEVENTS]; | ||
386 | struct hw_perf_event *hwc = &event->hw; | 848 | struct hw_perf_event *hwc = &event->hw; |
849 | unsigned long events[MAX_HWEVENTS]; | ||
387 | const struct perf_event_map *pmap; | 850 | const struct perf_event_map *pmap; |
388 | u64 enc; | 851 | u64 enc; |
852 | int n; | ||
389 | 853 | ||
390 | if (atomic_read(&nmi_active) < 0) | 854 | if (atomic_read(&nmi_active) < 0) |
391 | return -ENODEV; | 855 | return -ENODEV; |
392 | 856 | ||
393 | if (attr->type != PERF_TYPE_HARDWARE) | 857 | if (attr->type == PERF_TYPE_HARDWARE) { |
858 | if (attr->config >= sparc_pmu->max_events) | ||
859 | return -EINVAL; | ||
860 | pmap = sparc_pmu->event_map(attr->config); | ||
861 | } else if (attr->type == PERF_TYPE_HW_CACHE) { | ||
862 | pmap = sparc_map_cache_event(attr->config); | ||
863 | if (IS_ERR(pmap)) | ||
864 | return PTR_ERR(pmap); | ||
865 | } else | ||
394 | return -EOPNOTSUPP; | 866 | return -EOPNOTSUPP; |
395 | 867 | ||
396 | if (attr->config >= sparc_pmu->max_events) | ||
397 | return -EINVAL; | ||
398 | |||
399 | perf_event_grab_pmc(); | ||
400 | event->destroy = hw_perf_event_destroy; | ||
401 | |||
402 | /* We save the enable bits in the config_base. So to | 868 | /* We save the enable bits in the config_base. So to |
403 | * turn off sampling just write 'config', and to enable | 869 | * turn off sampling just write 'config', and to enable |
404 | * things write 'config | config_base'. | 870 | * things write 'config | config_base'. |
@@ -411,15 +877,39 @@ static int __hw_perf_event_init(struct perf_event *event) | |||
411 | if (!attr->exclude_hv) | 877 | if (!attr->exclude_hv) |
412 | hwc->config_base |= sparc_pmu->hv_bit; | 878 | hwc->config_base |= sparc_pmu->hv_bit; |
413 | 879 | ||
880 | hwc->event_base = perf_event_encode(pmap); | ||
881 | |||
882 | enc = pmap->encoding; | ||
883 | |||
884 | n = 0; | ||
885 | if (event->group_leader != event) { | ||
886 | n = collect_events(event->group_leader, | ||
887 | perf_max_events - 1, | ||
888 | evts, events); | ||
889 | if (n < 0) | ||
890 | return -EINVAL; | ||
891 | } | ||
892 | events[n] = hwc->event_base; | ||
893 | evts[n] = event; | ||
894 | |||
895 | if (check_excludes(evts, n, 1)) | ||
896 | return -EINVAL; | ||
897 | |||
898 | if (sparc_check_constraints(events, n + 1)) | ||
899 | return -EINVAL; | ||
900 | |||
901 | /* Try to do all error checking before this point, as unwinding | ||
902 | * state after grabbing the PMC is difficult. | ||
903 | */ | ||
904 | perf_event_grab_pmc(); | ||
905 | event->destroy = hw_perf_event_destroy; | ||
906 | |||
414 | if (!hwc->sample_period) { | 907 | if (!hwc->sample_period) { |
415 | hwc->sample_period = MAX_PERIOD; | 908 | hwc->sample_period = MAX_PERIOD; |
416 | hwc->last_period = hwc->sample_period; | 909 | hwc->last_period = hwc->sample_period; |
417 | atomic64_set(&hwc->period_left, hwc->sample_period); | 910 | atomic64_set(&hwc->period_left, hwc->sample_period); |
418 | } | 911 | } |
419 | 912 | ||
420 | pmap = sparc_pmu->event_map(attr->config); | ||
421 | |||
422 | enc = pmap->encoding; | ||
423 | if (pmap->pic_mask & PIC_UPPER) { | 913 | if (pmap->pic_mask & PIC_UPPER) { |
424 | hwc->idx = PIC_UPPER_INDEX; | 914 | hwc->idx = PIC_UPPER_INDEX; |
425 | enc <<= sparc_pmu->upper_shift; | 915 | enc <<= sparc_pmu->upper_shift; |
@@ -472,7 +962,7 @@ void perf_event_print_debug(void) | |||
472 | } | 962 | } |
473 | 963 | ||
474 | static int __kprobes perf_event_nmi_handler(struct notifier_block *self, | 964 | static int __kprobes perf_event_nmi_handler(struct notifier_block *self, |
475 | unsigned long cmd, void *__args) | 965 | unsigned long cmd, void *__args) |
476 | { | 966 | { |
477 | struct die_args *args = __args; | 967 | struct die_args *args = __args; |
478 | struct perf_sample_data data; | 968 | struct perf_sample_data data; |
@@ -513,7 +1003,7 @@ static int __kprobes perf_event_nmi_handler(struct notifier_block *self, | |||
513 | continue; | 1003 | continue; |
514 | 1004 | ||
515 | if (perf_event_overflow(event, 1, &data, regs)) | 1005 | if (perf_event_overflow(event, 1, &data, regs)) |
516 | sparc_pmu_disable_event(hwc, idx); | 1006 | sparc_pmu_disable_event(cpuc, hwc, idx); |
517 | } | 1007 | } |
518 | 1008 | ||
519 | return NOTIFY_STOP; | 1009 | return NOTIFY_STOP; |
@@ -525,8 +1015,15 @@ static __read_mostly struct notifier_block perf_event_nmi_notifier = { | |||
525 | 1015 | ||
526 | static bool __init supported_pmu(void) | 1016 | static bool __init supported_pmu(void) |
527 | { | 1017 | { |
528 | if (!strcmp(sparc_pmu_type, "ultra3i")) { | 1018 | if (!strcmp(sparc_pmu_type, "ultra3") || |
529 | sparc_pmu = &ultra3i_pmu; | 1019 | !strcmp(sparc_pmu_type, "ultra3+") || |
1020 | !strcmp(sparc_pmu_type, "ultra3i") || | ||
1021 | !strcmp(sparc_pmu_type, "ultra4+")) { | ||
1022 | sparc_pmu = &ultra3_pmu; | ||
1023 | return true; | ||
1024 | } | ||
1025 | if (!strcmp(sparc_pmu_type, "niagara")) { | ||
1026 | sparc_pmu = &niagara1_pmu; | ||
530 | return true; | 1027 | return true; |
531 | } | 1028 | } |
532 | if (!strcmp(sparc_pmu_type, "niagara2")) { | 1029 | if (!strcmp(sparc_pmu_type, "niagara2")) { |
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index ff68373ce6d6..aa36223497b9 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
@@ -1420,7 +1420,7 @@ static void __init pcpu_free_bootmem(void *ptr, size_t size) | |||
1420 | free_bootmem(__pa(ptr), size); | 1420 | free_bootmem(__pa(ptr), size); |
1421 | } | 1421 | } |
1422 | 1422 | ||
1423 | static int pcpu_cpu_distance(unsigned int from, unsigned int to) | 1423 | static int __init pcpu_cpu_distance(unsigned int from, unsigned int to) |
1424 | { | 1424 | { |
1425 | if (cpu_to_node(from) == cpu_to_node(to)) | 1425 | if (cpu_to_node(from) == cpu_to_node(to)) |
1426 | return LOCAL_DISTANCE; | 1426 | return LOCAL_DISTANCE; |
@@ -1428,18 +1428,53 @@ static int pcpu_cpu_distance(unsigned int from, unsigned int to) | |||
1428 | return REMOTE_DISTANCE; | 1428 | return REMOTE_DISTANCE; |
1429 | } | 1429 | } |
1430 | 1430 | ||
1431 | static void __init pcpu_populate_pte(unsigned long addr) | ||
1432 | { | ||
1433 | pgd_t *pgd = pgd_offset_k(addr); | ||
1434 | pud_t *pud; | ||
1435 | pmd_t *pmd; | ||
1436 | |||
1437 | pud = pud_offset(pgd, addr); | ||
1438 | if (pud_none(*pud)) { | ||
1439 | pmd_t *new; | ||
1440 | |||
1441 | new = __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE); | ||
1442 | pud_populate(&init_mm, pud, new); | ||
1443 | } | ||
1444 | |||
1445 | pmd = pmd_offset(pud, addr); | ||
1446 | if (!pmd_present(*pmd)) { | ||
1447 | pte_t *new; | ||
1448 | |||
1449 | new = __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, PAGE_SIZE); | ||
1450 | pmd_populate_kernel(&init_mm, pmd, new); | ||
1451 | } | ||
1452 | } | ||
1453 | |||
1431 | void __init setup_per_cpu_areas(void) | 1454 | void __init setup_per_cpu_areas(void) |
1432 | { | 1455 | { |
1433 | unsigned long delta; | 1456 | unsigned long delta; |
1434 | unsigned int cpu; | 1457 | unsigned int cpu; |
1435 | int rc; | 1458 | int rc = -EINVAL; |
1436 | 1459 | ||
1437 | rc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE, | 1460 | if (pcpu_chosen_fc != PCPU_FC_PAGE) { |
1438 | PERCPU_DYNAMIC_RESERVE, 4 << 20, | 1461 | rc = pcpu_embed_first_chunk(PERCPU_MODULE_RESERVE, |
1439 | pcpu_cpu_distance, pcpu_alloc_bootmem, | 1462 | PERCPU_DYNAMIC_RESERVE, 4 << 20, |
1440 | pcpu_free_bootmem); | 1463 | pcpu_cpu_distance, |
1441 | if (rc) | 1464 | pcpu_alloc_bootmem, |
1442 | panic("failed to initialize first chunk (%d)", rc); | 1465 | pcpu_free_bootmem); |
1466 | if (rc) | ||
1467 | pr_warning("PERCPU: %s allocator failed (%d), " | ||
1468 | "falling back to page size\n", | ||
1469 | pcpu_fc_names[pcpu_chosen_fc], rc); | ||
1470 | } | ||
1471 | if (rc < 0) | ||
1472 | rc = pcpu_page_first_chunk(PERCPU_MODULE_RESERVE, | ||
1473 | pcpu_alloc_bootmem, | ||
1474 | pcpu_free_bootmem, | ||
1475 | pcpu_populate_pte); | ||
1476 | if (rc < 0) | ||
1477 | panic("cannot initialize percpu area (err=%d)", rc); | ||
1443 | 1478 | ||
1444 | delta = (unsigned long)pcpu_base_addr - (unsigned long)__per_cpu_start; | 1479 | delta = (unsigned long)pcpu_base_addr - (unsigned long)__per_cpu_start; |
1445 | for_each_possible_cpu(cpu) | 1480 | for_each_possible_cpu(cpu) |
diff --git a/arch/sparc/oprofile/init.c b/arch/sparc/oprofile/init.c index f97cb8b6ee5f..f9024bccff16 100644 --- a/arch/sparc/oprofile/init.c +++ b/arch/sparc/oprofile/init.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <linux/oprofile.h> | 11 | #include <linux/oprofile.h> |
12 | #include <linux/errno.h> | 12 | #include <linux/errno.h> |
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/param.h> /* for HZ */ | ||
14 | 15 | ||
15 | #ifdef CONFIG_SPARC64 | 16 | #ifdef CONFIG_SPARC64 |
16 | #include <linux/notifier.h> | 17 | #include <linux/notifier.h> |
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c index 14a102e877d6..cf8a97f34518 100644 --- a/arch/um/drivers/line.c +++ b/arch/um/drivers/line.c | |||
@@ -5,6 +5,7 @@ | |||
5 | 5 | ||
6 | #include "linux/irqreturn.h" | 6 | #include "linux/irqreturn.h" |
7 | #include "linux/kd.h" | 7 | #include "linux/kd.h" |
8 | #include "linux/sched.h" | ||
8 | #include "chan_kern.h" | 9 | #include "chan_kern.h" |
9 | #include "irq_kern.h" | 10 | #include "irq_kern.h" |
10 | #include "irq_user.h" | 11 | #include "irq_user.h" |
diff --git a/arch/um/drivers/port_kern.c b/arch/um/drivers/port_kern.c index 19930081d3d8..4ebc8a34738f 100644 --- a/arch/um/drivers/port_kern.c +++ b/arch/um/drivers/port_kern.c | |||
@@ -7,6 +7,7 @@ | |||
7 | #include "linux/interrupt.h" | 7 | #include "linux/interrupt.h" |
8 | #include "linux/list.h" | 8 | #include "linux/list.h" |
9 | #include "linux/mutex.h" | 9 | #include "linux/mutex.h" |
10 | #include "linux/workqueue.h" | ||
10 | #include "asm/atomic.h" | 11 | #include "asm/atomic.h" |
11 | #include "init.h" | 12 | #include "init.h" |
12 | #include "irq_kern.h" | 13 | #include "irq_kern.h" |
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c index 454cdb43e351..039270b9b73b 100644 --- a/arch/um/kernel/irq.c +++ b/arch/um/kernel/irq.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include "linux/interrupt.h" | 10 | #include "linux/interrupt.h" |
11 | #include "linux/kernel_stat.h" | 11 | #include "linux/kernel_stat.h" |
12 | #include "linux/module.h" | 12 | #include "linux/module.h" |
13 | #include "linux/sched.h" | ||
13 | #include "linux/seq_file.h" | 14 | #include "linux/seq_file.h" |
14 | #include "as-layout.h" | 15 | #include "as-layout.h" |
15 | #include "kern_util.h" | 16 | #include "kern_util.h" |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 8da93745c087..c876bace8fdc 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -86,10 +86,6 @@ config STACKTRACE_SUPPORT | |||
86 | config HAVE_LATENCYTOP_SUPPORT | 86 | config HAVE_LATENCYTOP_SUPPORT |
87 | def_bool y | 87 | def_bool y |
88 | 88 | ||
89 | config FAST_CMPXCHG_LOCAL | ||
90 | bool | ||
91 | default y | ||
92 | |||
93 | config MMU | 89 | config MMU |
94 | def_bool y | 90 | def_bool y |
95 | 91 | ||
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu index 527519b8a9f9..f2824fb8c79c 100644 --- a/arch/x86/Kconfig.cpu +++ b/arch/x86/Kconfig.cpu | |||
@@ -400,7 +400,7 @@ config X86_TSC | |||
400 | 400 | ||
401 | config X86_CMPXCHG64 | 401 | config X86_CMPXCHG64 |
402 | def_bool y | 402 | def_bool y |
403 | depends on X86_PAE || X86_64 | 403 | depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM |
404 | 404 | ||
405 | # this should be set for all -march=.. options where the compiler | 405 | # this should be set for all -march=.. options where the compiler |
406 | # generates cmov. | 406 | # generates cmov. |
@@ -412,6 +412,7 @@ config X86_MINIMUM_CPU_FAMILY | |||
412 | int | 412 | int |
413 | default "64" if X86_64 | 413 | default "64" if X86_64 |
414 | default "6" if X86_32 && X86_P6_NOP | 414 | default "6" if X86_32 && X86_P6_NOP |
415 | default "5" if X86_32 && X86_CMPXCHG64 | ||
415 | default "4" if X86_32 && (X86_XADD || X86_CMPXCHG || X86_BSWAP || X86_WP_WORKS_OK) | 416 | default "4" if X86_32 && (X86_XADD || X86_CMPXCHG || X86_BSWAP || X86_WP_WORKS_OK) |
416 | default "3" | 417 | default "3" |
417 | 418 | ||
diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S index 74619c4f9fda..1733f9f65e82 100644 --- a/arch/x86/ia32/ia32entry.S +++ b/arch/x86/ia32/ia32entry.S | |||
@@ -21,8 +21,8 @@ | |||
21 | #define __AUDIT_ARCH_LE 0x40000000 | 21 | #define __AUDIT_ARCH_LE 0x40000000 |
22 | 22 | ||
23 | #ifndef CONFIG_AUDITSYSCALL | 23 | #ifndef CONFIG_AUDITSYSCALL |
24 | #define sysexit_audit int_ret_from_sys_call | 24 | #define sysexit_audit ia32_ret_from_sys_call |
25 | #define sysretl_audit int_ret_from_sys_call | 25 | #define sysretl_audit ia32_ret_from_sys_call |
26 | #endif | 26 | #endif |
27 | 27 | ||
28 | #define IA32_NR_syscalls ((ia32_syscall_end - ia32_sys_call_table)/8) | 28 | #define IA32_NR_syscalls ((ia32_syscall_end - ia32_sys_call_table)/8) |
@@ -39,12 +39,12 @@ | |||
39 | .endm | 39 | .endm |
40 | 40 | ||
41 | /* clobbers %eax */ | 41 | /* clobbers %eax */ |
42 | .macro CLEAR_RREGS _r9=rax | 42 | .macro CLEAR_RREGS offset=0, _r9=rax |
43 | xorl %eax,%eax | 43 | xorl %eax,%eax |
44 | movq %rax,R11(%rsp) | 44 | movq %rax,\offset+R11(%rsp) |
45 | movq %rax,R10(%rsp) | 45 | movq %rax,\offset+R10(%rsp) |
46 | movq %\_r9,R9(%rsp) | 46 | movq %\_r9,\offset+R9(%rsp) |
47 | movq %rax,R8(%rsp) | 47 | movq %rax,\offset+R8(%rsp) |
48 | .endm | 48 | .endm |
49 | 49 | ||
50 | /* | 50 | /* |
@@ -172,6 +172,10 @@ sysexit_from_sys_call: | |||
172 | movl RIP-R11(%rsp),%edx /* User %eip */ | 172 | movl RIP-R11(%rsp),%edx /* User %eip */ |
173 | CFI_REGISTER rip,rdx | 173 | CFI_REGISTER rip,rdx |
174 | RESTORE_ARGS 1,24,1,1,1,1 | 174 | RESTORE_ARGS 1,24,1,1,1,1 |
175 | xorq %r8,%r8 | ||
176 | xorq %r9,%r9 | ||
177 | xorq %r10,%r10 | ||
178 | xorq %r11,%r11 | ||
175 | popfq | 179 | popfq |
176 | CFI_ADJUST_CFA_OFFSET -8 | 180 | CFI_ADJUST_CFA_OFFSET -8 |
177 | /*CFI_RESTORE rflags*/ | 181 | /*CFI_RESTORE rflags*/ |
@@ -202,7 +206,7 @@ sysexit_from_sys_call: | |||
202 | 206 | ||
203 | .macro auditsys_exit exit,ebpsave=RBP | 207 | .macro auditsys_exit exit,ebpsave=RBP |
204 | testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),TI_flags(%r10) | 208 | testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),TI_flags(%r10) |
205 | jnz int_ret_from_sys_call | 209 | jnz ia32_ret_from_sys_call |
206 | TRACE_IRQS_ON | 210 | TRACE_IRQS_ON |
207 | sti | 211 | sti |
208 | movl %eax,%esi /* second arg, syscall return value */ | 212 | movl %eax,%esi /* second arg, syscall return value */ |
@@ -218,8 +222,9 @@ sysexit_from_sys_call: | |||
218 | cli | 222 | cli |
219 | TRACE_IRQS_OFF | 223 | TRACE_IRQS_OFF |
220 | testl %edi,TI_flags(%r10) | 224 | testl %edi,TI_flags(%r10) |
221 | jnz int_with_check | 225 | jz \exit |
222 | jmp \exit | 226 | CLEAR_RREGS -ARGOFFSET |
227 | jmp int_with_check | ||
223 | .endm | 228 | .endm |
224 | 229 | ||
225 | sysenter_auditsys: | 230 | sysenter_auditsys: |
@@ -329,6 +334,9 @@ sysretl_from_sys_call: | |||
329 | CFI_REGISTER rip,rcx | 334 | CFI_REGISTER rip,rcx |
330 | movl EFLAGS-ARGOFFSET(%rsp),%r11d | 335 | movl EFLAGS-ARGOFFSET(%rsp),%r11d |
331 | /*CFI_REGISTER rflags,r11*/ | 336 | /*CFI_REGISTER rflags,r11*/ |
337 | xorq %r10,%r10 | ||
338 | xorq %r9,%r9 | ||
339 | xorq %r8,%r8 | ||
332 | TRACE_IRQS_ON | 340 | TRACE_IRQS_ON |
333 | movl RSP-ARGOFFSET(%rsp),%esp | 341 | movl RSP-ARGOFFSET(%rsp),%esp |
334 | CFI_RESTORE rsp | 342 | CFI_RESTORE rsp |
@@ -353,7 +361,7 @@ cstar_tracesys: | |||
353 | #endif | 361 | #endif |
354 | xchgl %r9d,%ebp | 362 | xchgl %r9d,%ebp |
355 | SAVE_REST | 363 | SAVE_REST |
356 | CLEAR_RREGS r9 | 364 | CLEAR_RREGS 0, r9 |
357 | movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */ | 365 | movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */ |
358 | movq %rsp,%rdi /* &pt_regs -> arg1 */ | 366 | movq %rsp,%rdi /* &pt_regs -> arg1 */ |
359 | call syscall_trace_enter | 367 | call syscall_trace_enter |
@@ -425,6 +433,8 @@ ia32_do_call: | |||
425 | call *ia32_sys_call_table(,%rax,8) # xxx: rip relative | 433 | call *ia32_sys_call_table(,%rax,8) # xxx: rip relative |
426 | ia32_sysret: | 434 | ia32_sysret: |
427 | movq %rax,RAX-ARGOFFSET(%rsp) | 435 | movq %rax,RAX-ARGOFFSET(%rsp) |
436 | ia32_ret_from_sys_call: | ||
437 | CLEAR_RREGS -ARGOFFSET | ||
428 | jmp int_ret_from_sys_call | 438 | jmp int_ret_from_sys_call |
429 | 439 | ||
430 | ia32_tracesys: | 440 | ia32_tracesys: |
@@ -442,8 +452,8 @@ END(ia32_syscall) | |||
442 | 452 | ||
443 | ia32_badsys: | 453 | ia32_badsys: |
444 | movq $0,ORIG_RAX-ARGOFFSET(%rsp) | 454 | movq $0,ORIG_RAX-ARGOFFSET(%rsp) |
445 | movq $-ENOSYS,RAX-ARGOFFSET(%rsp) | 455 | movq $-ENOSYS,%rax |
446 | jmp int_ret_from_sys_call | 456 | jmp ia32_sysret |
447 | 457 | ||
448 | quiet_ni_syscall: | 458 | quiet_ni_syscall: |
449 | movq $-ENOSYS,%rax | 459 | movq $-ENOSYS,%rax |
diff --git a/arch/x86/include/asm/checksum_32.h b/arch/x86/include/asm/checksum_32.h index 7c5ef8b14d92..46fc474fd819 100644 --- a/arch/x86/include/asm/checksum_32.h +++ b/arch/x86/include/asm/checksum_32.h | |||
@@ -161,7 +161,8 @@ static inline __sum16 csum_ipv6_magic(const struct in6_addr *saddr, | |||
161 | "adcl $0, %0 ;\n" | 161 | "adcl $0, %0 ;\n" |
162 | : "=&r" (sum) | 162 | : "=&r" (sum) |
163 | : "r" (saddr), "r" (daddr), | 163 | : "r" (saddr), "r" (daddr), |
164 | "r" (htonl(len)), "r" (htonl(proto)), "0" (sum)); | 164 | "r" (htonl(len)), "r" (htonl(proto)), "0" (sum) |
165 | : "memory"); | ||
165 | 166 | ||
166 | return csum_fold(sum); | 167 | return csum_fold(sum); |
167 | } | 168 | } |
diff --git a/arch/x86/include/asm/cmpxchg_32.h b/arch/x86/include/asm/cmpxchg_32.h index 82ceb788a981..ee1931be6593 100644 --- a/arch/x86/include/asm/cmpxchg_32.h +++ b/arch/x86/include/asm/cmpxchg_32.h | |||
@@ -312,19 +312,23 @@ static inline unsigned long cmpxchg_386(volatile void *ptr, unsigned long old, | |||
312 | 312 | ||
313 | extern unsigned long long cmpxchg_486_u64(volatile void *, u64, u64); | 313 | extern unsigned long long cmpxchg_486_u64(volatile void *, u64, u64); |
314 | 314 | ||
315 | #define cmpxchg64(ptr, o, n) \ | 315 | #define cmpxchg64(ptr, o, n) \ |
316 | ({ \ | 316 | ({ \ |
317 | __typeof__(*(ptr)) __ret; \ | 317 | __typeof__(*(ptr)) __ret; \ |
318 | if (likely(boot_cpu_data.x86 > 4)) \ | 318 | __typeof__(*(ptr)) __old = (o); \ |
319 | __ret = (__typeof__(*(ptr)))__cmpxchg64((ptr), \ | 319 | __typeof__(*(ptr)) __new = (n); \ |
320 | (unsigned long long)(o), \ | 320 | alternative_io("call cmpxchg8b_emu", \ |
321 | (unsigned long long)(n)); \ | 321 | "lock; cmpxchg8b (%%esi)" , \ |
322 | else \ | 322 | X86_FEATURE_CX8, \ |
323 | __ret = (__typeof__(*(ptr)))cmpxchg_486_u64((ptr), \ | 323 | "=A" (__ret), \ |
324 | (unsigned long long)(o), \ | 324 | "S" ((ptr)), "0" (__old), \ |
325 | (unsigned long long)(n)); \ | 325 | "b" ((unsigned int)__new), \ |
326 | __ret; \ | 326 | "c" ((unsigned int)(__new>>32)) \ |
327 | }) | 327 | : "memory"); \ |
328 | __ret; }) | ||
329 | |||
330 | |||
331 | |||
328 | #define cmpxchg64_local(ptr, o, n) \ | 332 | #define cmpxchg64_local(ptr, o, n) \ |
329 | ({ \ | 333 | ({ \ |
330 | __typeof__(*(ptr)) __ret; \ | 334 | __typeof__(*(ptr)) __ret; \ |
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 3be000435fad..d83892226f73 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h | |||
@@ -796,6 +796,7 @@ asmlinkage void kvm_handle_fault_on_reboot(void); | |||
796 | #define KVM_ARCH_WANT_MMU_NOTIFIER | 796 | #define KVM_ARCH_WANT_MMU_NOTIFIER |
797 | int kvm_unmap_hva(struct kvm *kvm, unsigned long hva); | 797 | int kvm_unmap_hva(struct kvm *kvm, unsigned long hva); |
798 | int kvm_age_hva(struct kvm *kvm, unsigned long hva); | 798 | int kvm_age_hva(struct kvm *kvm, unsigned long hva); |
799 | void kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte); | ||
799 | int cpuid_maxphyaddr(struct kvm_vcpu *vcpu); | 800 | int cpuid_maxphyaddr(struct kvm_vcpu *vcpu); |
800 | int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu); | 801 | int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu); |
801 | int kvm_arch_interrupt_allowed(struct kvm_vcpu *vcpu); | 802 | int kvm_arch_interrupt_allowed(struct kvm_vcpu *vcpu); |
diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h index b608a64c5814..f1363b72364f 100644 --- a/arch/x86/include/asm/mce.h +++ b/arch/x86/include/asm/mce.h | |||
@@ -133,6 +133,8 @@ static inline void winchip_mcheck_init(struct cpuinfo_x86 *c) {} | |||
133 | static inline void enable_p5_mce(void) {} | 133 | static inline void enable_p5_mce(void) {} |
134 | #endif | 134 | #endif |
135 | 135 | ||
136 | extern void (*x86_mce_decode_callback)(struct mce *m); | ||
137 | |||
136 | void mce_setup(struct mce *m); | 138 | void mce_setup(struct mce *m); |
137 | void mce_log(struct mce *m); | 139 | void mce_log(struct mce *m); |
138 | DECLARE_PER_CPU(struct sys_device, mce_dev); | 140 | DECLARE_PER_CPU(struct sys_device, mce_dev); |
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 4b2af86e3e8d..b1598a9436d0 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c | |||
@@ -85,6 +85,18 @@ static DECLARE_WAIT_QUEUE_HEAD(mce_wait); | |||
85 | static DEFINE_PER_CPU(struct mce, mces_seen); | 85 | static DEFINE_PER_CPU(struct mce, mces_seen); |
86 | static int cpu_missing; | 86 | static int cpu_missing; |
87 | 87 | ||
88 | static void default_decode_mce(struct mce *m) | ||
89 | { | ||
90 | pr_emerg("No human readable MCE decoding support on this CPU type.\n"); | ||
91 | pr_emerg("Run the message through 'mcelog --ascii' to decode.\n"); | ||
92 | } | ||
93 | |||
94 | /* | ||
95 | * CPU/chipset specific EDAC code can register a callback here to print | ||
96 | * MCE errors in a human-readable form: | ||
97 | */ | ||
98 | void (*x86_mce_decode_callback)(struct mce *m) = default_decode_mce; | ||
99 | EXPORT_SYMBOL(x86_mce_decode_callback); | ||
88 | 100 | ||
89 | /* MCA banks polled by the period polling timer for corrected events */ | 101 | /* MCA banks polled by the period polling timer for corrected events */ |
90 | DEFINE_PER_CPU(mce_banks_t, mce_poll_banks) = { | 102 | DEFINE_PER_CPU(mce_banks_t, mce_poll_banks) = { |
@@ -165,49 +177,46 @@ void mce_log(struct mce *mce) | |||
165 | set_bit(0, &mce_need_notify); | 177 | set_bit(0, &mce_need_notify); |
166 | } | 178 | } |
167 | 179 | ||
168 | void __weak decode_mce(struct mce *m) | ||
169 | { | ||
170 | return; | ||
171 | } | ||
172 | |||
173 | static void print_mce(struct mce *m) | 180 | static void print_mce(struct mce *m) |
174 | { | 181 | { |
175 | printk(KERN_EMERG | 182 | pr_emerg("CPU %d: Machine Check Exception: %16Lx Bank %d: %016Lx\n", |
176 | "CPU %d: Machine Check Exception: %16Lx Bank %d: %016Lx\n", | ||
177 | m->extcpu, m->mcgstatus, m->bank, m->status); | 183 | m->extcpu, m->mcgstatus, m->bank, m->status); |
184 | |||
178 | if (m->ip) { | 185 | if (m->ip) { |
179 | printk(KERN_EMERG "RIP%s %02x:<%016Lx> ", | 186 | pr_emerg("RIP%s %02x:<%016Lx> ", |
180 | !(m->mcgstatus & MCG_STATUS_EIPV) ? " !INEXACT!" : "", | 187 | !(m->mcgstatus & MCG_STATUS_EIPV) ? " !INEXACT!" : "", |
181 | m->cs, m->ip); | 188 | m->cs, m->ip); |
189 | |||
182 | if (m->cs == __KERNEL_CS) | 190 | if (m->cs == __KERNEL_CS) |
183 | print_symbol("{%s}", m->ip); | 191 | print_symbol("{%s}", m->ip); |
184 | printk(KERN_CONT "\n"); | 192 | pr_cont("\n"); |
185 | } | 193 | } |
186 | printk(KERN_EMERG "TSC %llx ", m->tsc); | 194 | |
195 | pr_emerg("TSC %llx ", m->tsc); | ||
187 | if (m->addr) | 196 | if (m->addr) |
188 | printk(KERN_CONT "ADDR %llx ", m->addr); | 197 | pr_cont("ADDR %llx ", m->addr); |
189 | if (m->misc) | 198 | if (m->misc) |
190 | printk(KERN_CONT "MISC %llx ", m->misc); | 199 | pr_cont("MISC %llx ", m->misc); |
191 | printk(KERN_CONT "\n"); | ||
192 | printk(KERN_EMERG "PROCESSOR %u:%x TIME %llu SOCKET %u APIC %x\n", | ||
193 | m->cpuvendor, m->cpuid, m->time, m->socketid, | ||
194 | m->apicid); | ||
195 | 200 | ||
196 | decode_mce(m); | 201 | pr_cont("\n"); |
202 | pr_emerg("PROCESSOR %u:%x TIME %llu SOCKET %u APIC %x\n", | ||
203 | m->cpuvendor, m->cpuid, m->time, m->socketid, m->apicid); | ||
204 | |||
205 | /* | ||
206 | * Print out human-readable details about the MCE error, | ||
207 | * (if the CPU has an implementation for that): | ||
208 | */ | ||
209 | x86_mce_decode_callback(m); | ||
197 | } | 210 | } |
198 | 211 | ||
199 | static void print_mce_head(void) | 212 | static void print_mce_head(void) |
200 | { | 213 | { |
201 | printk(KERN_EMERG "\nHARDWARE ERROR\n"); | 214 | pr_emerg("\nHARDWARE ERROR\n"); |
202 | } | 215 | } |
203 | 216 | ||
204 | static void print_mce_tail(void) | 217 | static void print_mce_tail(void) |
205 | { | 218 | { |
206 | printk(KERN_EMERG "This is not a software problem!\n" | 219 | pr_emerg("This is not a software problem!\n"); |
207 | #if (!defined(CONFIG_EDAC) || !defined(CONFIG_CPU_SUP_AMD)) | ||
208 | "Run through mcelog --ascii to decode and contact your hardware vendor\n" | ||
209 | #endif | ||
210 | ); | ||
211 | } | 220 | } |
212 | 221 | ||
213 | #define PANIC_TIMEOUT 5 /* 5 seconds */ | 222 | #define PANIC_TIMEOUT 5 /* 5 seconds */ |
@@ -221,6 +230,7 @@ static atomic_t mce_fake_paniced; | |||
221 | static void wait_for_panic(void) | 230 | static void wait_for_panic(void) |
222 | { | 231 | { |
223 | long timeout = PANIC_TIMEOUT*USEC_PER_SEC; | 232 | long timeout = PANIC_TIMEOUT*USEC_PER_SEC; |
233 | |||
224 | preempt_disable(); | 234 | preempt_disable(); |
225 | local_irq_enable(); | 235 | local_irq_enable(); |
226 | while (timeout-- > 0) | 236 | while (timeout-- > 0) |
@@ -288,6 +298,7 @@ static void mce_panic(char *msg, struct mce *final, char *exp) | |||
288 | static int msr_to_offset(u32 msr) | 298 | static int msr_to_offset(u32 msr) |
289 | { | 299 | { |
290 | unsigned bank = __get_cpu_var(injectm.bank); | 300 | unsigned bank = __get_cpu_var(injectm.bank); |
301 | |||
291 | if (msr == rip_msr) | 302 | if (msr == rip_msr) |
292 | return offsetof(struct mce, ip); | 303 | return offsetof(struct mce, ip); |
293 | if (msr == MSR_IA32_MCx_STATUS(bank)) | 304 | if (msr == MSR_IA32_MCx_STATUS(bank)) |
diff --git a/arch/x86/kernel/cpu/mcheck/mce_intel.c b/arch/x86/kernel/cpu/mcheck/mce_intel.c index 889f665fe93d..7c785634af2b 100644 --- a/arch/x86/kernel/cpu/mcheck/mce_intel.c +++ b/arch/x86/kernel/cpu/mcheck/mce_intel.c | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/init.h> | 8 | #include <linux/init.h> |
9 | #include <linux/interrupt.h> | 9 | #include <linux/interrupt.h> |
10 | #include <linux/percpu.h> | 10 | #include <linux/percpu.h> |
11 | #include <linux/sched.h> | ||
11 | #include <asm/apic.h> | 12 | #include <asm/apic.h> |
12 | #include <asm/processor.h> | 13 | #include <asm/processor.h> |
13 | #include <asm/msr.h> | 14 | #include <asm/msr.h> |
diff --git a/arch/x86/kernel/cpu/mtrr/if.c b/arch/x86/kernel/cpu/mtrr/if.c index f04e72527604..3c1b12d461d1 100644 --- a/arch/x86/kernel/cpu/mtrr/if.c +++ b/arch/x86/kernel/cpu/mtrr/if.c | |||
@@ -96,17 +96,24 @@ mtrr_write(struct file *file, const char __user *buf, size_t len, loff_t * ppos) | |||
96 | unsigned long long base, size; | 96 | unsigned long long base, size; |
97 | char *ptr; | 97 | char *ptr; |
98 | char line[LINE_SIZE]; | 98 | char line[LINE_SIZE]; |
99 | int length; | ||
99 | size_t linelen; | 100 | size_t linelen; |
100 | 101 | ||
101 | if (!capable(CAP_SYS_ADMIN)) | 102 | if (!capable(CAP_SYS_ADMIN)) |
102 | return -EPERM; | 103 | return -EPERM; |
103 | if (!len) | ||
104 | return -EINVAL; | ||
105 | 104 | ||
106 | memset(line, 0, LINE_SIZE); | 105 | memset(line, 0, LINE_SIZE); |
107 | if (len > LINE_SIZE) | 106 | |
108 | len = LINE_SIZE; | 107 | length = len; |
109 | if (copy_from_user(line, buf, len - 1)) | 108 | length--; |
109 | |||
110 | if (length > LINE_SIZE - 1) | ||
111 | length = LINE_SIZE - 1; | ||
112 | |||
113 | if (length < 0) | ||
114 | return -EINVAL; | ||
115 | |||
116 | if (copy_from_user(line, buf, length)) | ||
110 | return -EFAULT; | 117 | return -EFAULT; |
111 | 118 | ||
112 | linelen = strlen(line); | 119 | linelen = strlen(line); |
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index 85419bb7d4ab..d17d482a04f4 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c | |||
@@ -1378,8 +1378,8 @@ static unsigned long ram_alignment(resource_size_t pos) | |||
1378 | if (mb < 16) | 1378 | if (mb < 16) |
1379 | return 1024*1024; | 1379 | return 1024*1024; |
1380 | 1380 | ||
1381 | /* To 32MB for anything above that */ | 1381 | /* To 64MB for anything above that */ |
1382 | return 32*1024*1024; | 1382 | return 64*1024*1024; |
1383 | } | 1383 | } |
1384 | 1384 | ||
1385 | #define MAX_RESOURCE_SIZE ((resource_size_t)-1) | 1385 | #define MAX_RESOURCE_SIZE ((resource_size_t)-1) |
diff --git a/arch/x86/kernel/early_printk.c b/arch/x86/kernel/early_printk.c index 41fd965c80c6..b9c830c12b4a 100644 --- a/arch/x86/kernel/early_printk.c +++ b/arch/x86/kernel/early_printk.c | |||
@@ -206,8 +206,11 @@ static int __init setup_early_printk(char *buf) | |||
206 | 206 | ||
207 | while (*buf != '\0') { | 207 | while (*buf != '\0') { |
208 | if (!strncmp(buf, "serial", 6)) { | 208 | if (!strncmp(buf, "serial", 6)) { |
209 | early_serial_init(buf + 6); | 209 | buf += 6; |
210 | early_serial_init(buf); | ||
210 | early_console_register(&early_serial_console, keep); | 211 | early_console_register(&early_serial_console, keep); |
212 | if (!strncmp(buf, ",ttyS", 5)) | ||
213 | buf += 5; | ||
211 | } | 214 | } |
212 | if (!strncmp(buf, "ttyS", 4)) { | 215 | if (!strncmp(buf, "ttyS", 4)) { |
213 | early_serial_init(buf + 4); | 216 | early_serial_init(buf + 4); |
diff --git a/arch/x86/kernel/i386_ksyms_32.c b/arch/x86/kernel/i386_ksyms_32.c index 43cec6bdda63..9c3bd4a2050e 100644 --- a/arch/x86/kernel/i386_ksyms_32.c +++ b/arch/x86/kernel/i386_ksyms_32.c | |||
@@ -10,6 +10,16 @@ | |||
10 | EXPORT_SYMBOL(mcount); | 10 | EXPORT_SYMBOL(mcount); |
11 | #endif | 11 | #endif |
12 | 12 | ||
13 | /* | ||
14 | * Note, this is a prototype to get at the symbol for | ||
15 | * the export, but dont use it from C code, it is used | ||
16 | * by assembly code and is not using C calling convention! | ||
17 | */ | ||
18 | #ifndef CONFIG_X86_CMPXCHG64 | ||
19 | extern void cmpxchg8b_emu(void); | ||
20 | EXPORT_SYMBOL(cmpxchg8b_emu); | ||
21 | #endif | ||
22 | |||
13 | /* Networking helper routines. */ | 23 | /* Networking helper routines. */ |
14 | EXPORT_SYMBOL(csum_partial_copy_generic); | 24 | EXPORT_SYMBOL(csum_partial_copy_generic); |
15 | 25 | ||
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 74656d1d4e30..391206199515 100644 --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c | |||
@@ -244,6 +244,7 @@ unsigned int __irq_entry do_IRQ(struct pt_regs *regs) | |||
244 | __func__, smp_processor_id(), vector, irq); | 244 | __func__, smp_processor_id(), vector, irq); |
245 | } | 245 | } |
246 | 246 | ||
247 | run_local_timers(); | ||
247 | irq_exit(); | 248 | irq_exit(); |
248 | 249 | ||
249 | set_irq_regs(old_regs); | 250 | set_irq_regs(old_regs); |
@@ -268,6 +269,7 @@ void smp_generic_interrupt(struct pt_regs *regs) | |||
268 | if (generic_interrupt_extension) | 269 | if (generic_interrupt_extension) |
269 | generic_interrupt_extension(); | 270 | generic_interrupt_extension(); |
270 | 271 | ||
272 | run_local_timers(); | ||
271 | irq_exit(); | 273 | irq_exit(); |
272 | 274 | ||
273 | set_irq_regs(old_regs); | 275 | set_irq_regs(old_regs); |
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c index 64b838eac18c..d20009b4e6ef 100644 --- a/arch/x86/kernel/pci-dma.c +++ b/arch/x86/kernel/pci-dma.c | |||
@@ -35,7 +35,7 @@ int iommu_detected __read_mostly = 0; | |||
35 | 35 | ||
36 | /* | 36 | /* |
37 | * This variable becomes 1 if iommu=pt is passed on the kernel command line. | 37 | * This variable becomes 1 if iommu=pt is passed on the kernel command line. |
38 | * If this variable is 1, IOMMU implementations do no DMA ranslation for | 38 | * If this variable is 1, IOMMU implementations do no DMA translation for |
39 | * devices and allow every device to access to whole physical memory. This is | 39 | * devices and allow every device to access to whole physical memory. This is |
40 | * useful if a user want to use an IOMMU only for KVM device assignment to | 40 | * useful if a user want to use an IOMMU only for KVM device assignment to |
41 | * guests and not for driver dma translation. | 41 | * guests and not for driver dma translation. |
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c index 98a827ee9ed7..a7f1b64f86e0 100644 --- a/arch/x86/kernel/pci-gart_64.c +++ b/arch/x86/kernel/pci-gart_64.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/agp_backend.h> | 16 | #include <linux/agp_backend.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/mm.h> | 18 | #include <linux/mm.h> |
19 | #include <linux/sched.h> | ||
19 | #include <linux/string.h> | 20 | #include <linux/string.h> |
20 | #include <linux/spinlock.h> | 21 | #include <linux/spinlock.h> |
21 | #include <linux/pci.h> | 22 | #include <linux/pci.h> |
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c index 27349f92a6d7..a1a3cdda06e1 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/pm.h> | 4 | #include <linux/pm.h> |
5 | #include <linux/efi.h> | 5 | #include <linux/efi.h> |
6 | #include <linux/dmi.h> | 6 | #include <linux/dmi.h> |
7 | #include <linux/sched.h> | ||
7 | #include <linux/tboot.h> | 8 | #include <linux/tboot.h> |
8 | #include <acpi/reboot.h> | 9 | #include <acpi/reboot.h> |
9 | #include <asm/io.h> | 10 | #include <asm/io.h> |
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index ec1de97600e7..d915d956e66d 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c | |||
@@ -198,6 +198,7 @@ void smp_reschedule_interrupt(struct pt_regs *regs) | |||
198 | { | 198 | { |
199 | ack_APIC_irq(); | 199 | ack_APIC_irq(); |
200 | inc_irq_stat(irq_resched_count); | 200 | inc_irq_stat(irq_resched_count); |
201 | run_local_timers(); | ||
201 | /* | 202 | /* |
202 | * KVM uses this interrupt to force a cpu out of guest mode | 203 | * KVM uses this interrupt to force a cpu out of guest mode |
203 | */ | 204 | */ |
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index 1ae5ceba7eb2..7024224f0fc8 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c | |||
@@ -664,7 +664,7 @@ static void start_apic_timer(struct kvm_lapic *apic) | |||
664 | { | 664 | { |
665 | ktime_t now = apic->lapic_timer.timer.base->get_time(); | 665 | ktime_t now = apic->lapic_timer.timer.base->get_time(); |
666 | 666 | ||
667 | apic->lapic_timer.period = apic_get_reg(apic, APIC_TMICT) * | 667 | apic->lapic_timer.period = (u64)apic_get_reg(apic, APIC_TMICT) * |
668 | APIC_BUS_CYCLE_NS * apic->divide_count; | 668 | APIC_BUS_CYCLE_NS * apic->divide_count; |
669 | atomic_set(&apic->lapic_timer.pending, 0); | 669 | atomic_set(&apic->lapic_timer.pending, 0); |
670 | 670 | ||
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index eca41ae9f453..685a4ffac8e6 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c | |||
@@ -156,6 +156,8 @@ module_param(oos_shadow, bool, 0644); | |||
156 | #define CREATE_TRACE_POINTS | 156 | #define CREATE_TRACE_POINTS |
157 | #include "mmutrace.h" | 157 | #include "mmutrace.h" |
158 | 158 | ||
159 | #define SPTE_HOST_WRITEABLE (1ULL << PT_FIRST_AVAIL_BITS_SHIFT) | ||
160 | |||
159 | #define SHADOW_PT_INDEX(addr, level) PT64_INDEX(addr, level) | 161 | #define SHADOW_PT_INDEX(addr, level) PT64_INDEX(addr, level) |
160 | 162 | ||
161 | struct kvm_rmap_desc { | 163 | struct kvm_rmap_desc { |
@@ -634,9 +636,7 @@ static void rmap_remove(struct kvm *kvm, u64 *spte) | |||
634 | if (*spte & shadow_accessed_mask) | 636 | if (*spte & shadow_accessed_mask) |
635 | kvm_set_pfn_accessed(pfn); | 637 | kvm_set_pfn_accessed(pfn); |
636 | if (is_writeble_pte(*spte)) | 638 | if (is_writeble_pte(*spte)) |
637 | kvm_release_pfn_dirty(pfn); | 639 | kvm_set_pfn_dirty(pfn); |
638 | else | ||
639 | kvm_release_pfn_clean(pfn); | ||
640 | rmapp = gfn_to_rmap(kvm, sp->gfns[spte - sp->spt], sp->role.level); | 640 | rmapp = gfn_to_rmap(kvm, sp->gfns[spte - sp->spt], sp->role.level); |
641 | if (!*rmapp) { | 641 | if (!*rmapp) { |
642 | printk(KERN_ERR "rmap_remove: %p %llx 0->BUG\n", spte, *spte); | 642 | printk(KERN_ERR "rmap_remove: %p %llx 0->BUG\n", spte, *spte); |
@@ -748,7 +748,7 @@ static int rmap_write_protect(struct kvm *kvm, u64 gfn) | |||
748 | return write_protected; | 748 | return write_protected; |
749 | } | 749 | } |
750 | 750 | ||
751 | static int kvm_unmap_rmapp(struct kvm *kvm, unsigned long *rmapp) | 751 | static int kvm_unmap_rmapp(struct kvm *kvm, unsigned long *rmapp, u64 data) |
752 | { | 752 | { |
753 | u64 *spte; | 753 | u64 *spte; |
754 | int need_tlb_flush = 0; | 754 | int need_tlb_flush = 0; |
@@ -763,8 +763,45 @@ static int kvm_unmap_rmapp(struct kvm *kvm, unsigned long *rmapp) | |||
763 | return need_tlb_flush; | 763 | return need_tlb_flush; |
764 | } | 764 | } |
765 | 765 | ||
766 | static int kvm_handle_hva(struct kvm *kvm, unsigned long hva, | 766 | static int kvm_set_pte_rmapp(struct kvm *kvm, unsigned long *rmapp, u64 data) |
767 | int (*handler)(struct kvm *kvm, unsigned long *rmapp)) | 767 | { |
768 | int need_flush = 0; | ||
769 | u64 *spte, new_spte; | ||
770 | pte_t *ptep = (pte_t *)data; | ||
771 | pfn_t new_pfn; | ||
772 | |||
773 | WARN_ON(pte_huge(*ptep)); | ||
774 | new_pfn = pte_pfn(*ptep); | ||
775 | spte = rmap_next(kvm, rmapp, NULL); | ||
776 | while (spte) { | ||
777 | BUG_ON(!is_shadow_present_pte(*spte)); | ||
778 | rmap_printk("kvm_set_pte_rmapp: spte %p %llx\n", spte, *spte); | ||
779 | need_flush = 1; | ||
780 | if (pte_write(*ptep)) { | ||
781 | rmap_remove(kvm, spte); | ||
782 | __set_spte(spte, shadow_trap_nonpresent_pte); | ||
783 | spte = rmap_next(kvm, rmapp, NULL); | ||
784 | } else { | ||
785 | new_spte = *spte &~ (PT64_BASE_ADDR_MASK); | ||
786 | new_spte |= (u64)new_pfn << PAGE_SHIFT; | ||
787 | |||
788 | new_spte &= ~PT_WRITABLE_MASK; | ||
789 | new_spte &= ~SPTE_HOST_WRITEABLE; | ||
790 | if (is_writeble_pte(*spte)) | ||
791 | kvm_set_pfn_dirty(spte_to_pfn(*spte)); | ||
792 | __set_spte(spte, new_spte); | ||
793 | spte = rmap_next(kvm, rmapp, spte); | ||
794 | } | ||
795 | } | ||
796 | if (need_flush) | ||
797 | kvm_flush_remote_tlbs(kvm); | ||
798 | |||
799 | return 0; | ||
800 | } | ||
801 | |||
802 | static int kvm_handle_hva(struct kvm *kvm, unsigned long hva, u64 data, | ||
803 | int (*handler)(struct kvm *kvm, unsigned long *rmapp, | ||
804 | u64 data)) | ||
768 | { | 805 | { |
769 | int i, j; | 806 | int i, j; |
770 | int retval = 0; | 807 | int retval = 0; |
@@ -786,13 +823,15 @@ static int kvm_handle_hva(struct kvm *kvm, unsigned long hva, | |||
786 | if (hva >= start && hva < end) { | 823 | if (hva >= start && hva < end) { |
787 | gfn_t gfn_offset = (hva - start) >> PAGE_SHIFT; | 824 | gfn_t gfn_offset = (hva - start) >> PAGE_SHIFT; |
788 | 825 | ||
789 | retval |= handler(kvm, &memslot->rmap[gfn_offset]); | 826 | retval |= handler(kvm, &memslot->rmap[gfn_offset], |
827 | data); | ||
790 | 828 | ||
791 | for (j = 0; j < KVM_NR_PAGE_SIZES - 1; ++j) { | 829 | for (j = 0; j < KVM_NR_PAGE_SIZES - 1; ++j) { |
792 | int idx = gfn_offset; | 830 | int idx = gfn_offset; |
793 | idx /= KVM_PAGES_PER_HPAGE(PT_DIRECTORY_LEVEL + j); | 831 | idx /= KVM_PAGES_PER_HPAGE(PT_DIRECTORY_LEVEL + j); |
794 | retval |= handler(kvm, | 832 | retval |= handler(kvm, |
795 | &memslot->lpage_info[j][idx].rmap_pde); | 833 | &memslot->lpage_info[j][idx].rmap_pde, |
834 | data); | ||
796 | } | 835 | } |
797 | } | 836 | } |
798 | } | 837 | } |
@@ -802,10 +841,15 @@ static int kvm_handle_hva(struct kvm *kvm, unsigned long hva, | |||
802 | 841 | ||
803 | int kvm_unmap_hva(struct kvm *kvm, unsigned long hva) | 842 | int kvm_unmap_hva(struct kvm *kvm, unsigned long hva) |
804 | { | 843 | { |
805 | return kvm_handle_hva(kvm, hva, kvm_unmap_rmapp); | 844 | return kvm_handle_hva(kvm, hva, 0, kvm_unmap_rmapp); |
806 | } | 845 | } |
807 | 846 | ||
808 | static int kvm_age_rmapp(struct kvm *kvm, unsigned long *rmapp) | 847 | void kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte) |
848 | { | ||
849 | kvm_handle_hva(kvm, hva, (u64)&pte, kvm_set_pte_rmapp); | ||
850 | } | ||
851 | |||
852 | static int kvm_age_rmapp(struct kvm *kvm, unsigned long *rmapp, u64 data) | ||
809 | { | 853 | { |
810 | u64 *spte; | 854 | u64 *spte; |
811 | int young = 0; | 855 | int young = 0; |
@@ -841,13 +885,13 @@ static void rmap_recycle(struct kvm_vcpu *vcpu, u64 *spte, gfn_t gfn) | |||
841 | gfn = unalias_gfn(vcpu->kvm, gfn); | 885 | gfn = unalias_gfn(vcpu->kvm, gfn); |
842 | rmapp = gfn_to_rmap(vcpu->kvm, gfn, sp->role.level); | 886 | rmapp = gfn_to_rmap(vcpu->kvm, gfn, sp->role.level); |
843 | 887 | ||
844 | kvm_unmap_rmapp(vcpu->kvm, rmapp); | 888 | kvm_unmap_rmapp(vcpu->kvm, rmapp, 0); |
845 | kvm_flush_remote_tlbs(vcpu->kvm); | 889 | kvm_flush_remote_tlbs(vcpu->kvm); |
846 | } | 890 | } |
847 | 891 | ||
848 | int kvm_age_hva(struct kvm *kvm, unsigned long hva) | 892 | int kvm_age_hva(struct kvm *kvm, unsigned long hva) |
849 | { | 893 | { |
850 | return kvm_handle_hva(kvm, hva, kvm_age_rmapp); | 894 | return kvm_handle_hva(kvm, hva, 0, kvm_age_rmapp); |
851 | } | 895 | } |
852 | 896 | ||
853 | #ifdef MMU_DEBUG | 897 | #ifdef MMU_DEBUG |
@@ -1756,7 +1800,7 @@ static int set_spte(struct kvm_vcpu *vcpu, u64 *sptep, | |||
1756 | unsigned pte_access, int user_fault, | 1800 | unsigned pte_access, int user_fault, |
1757 | int write_fault, int dirty, int level, | 1801 | int write_fault, int dirty, int level, |
1758 | gfn_t gfn, pfn_t pfn, bool speculative, | 1802 | gfn_t gfn, pfn_t pfn, bool speculative, |
1759 | bool can_unsync) | 1803 | bool can_unsync, bool reset_host_protection) |
1760 | { | 1804 | { |
1761 | u64 spte; | 1805 | u64 spte; |
1762 | int ret = 0; | 1806 | int ret = 0; |
@@ -1783,6 +1827,9 @@ static int set_spte(struct kvm_vcpu *vcpu, u64 *sptep, | |||
1783 | spte |= kvm_x86_ops->get_mt_mask(vcpu, gfn, | 1827 | spte |= kvm_x86_ops->get_mt_mask(vcpu, gfn, |
1784 | kvm_is_mmio_pfn(pfn)); | 1828 | kvm_is_mmio_pfn(pfn)); |
1785 | 1829 | ||
1830 | if (reset_host_protection) | ||
1831 | spte |= SPTE_HOST_WRITEABLE; | ||
1832 | |||
1786 | spte |= (u64)pfn << PAGE_SHIFT; | 1833 | spte |= (u64)pfn << PAGE_SHIFT; |
1787 | 1834 | ||
1788 | if ((pte_access & ACC_WRITE_MASK) | 1835 | if ((pte_access & ACC_WRITE_MASK) |
@@ -1828,7 +1875,8 @@ static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *sptep, | |||
1828 | unsigned pt_access, unsigned pte_access, | 1875 | unsigned pt_access, unsigned pte_access, |
1829 | int user_fault, int write_fault, int dirty, | 1876 | int user_fault, int write_fault, int dirty, |
1830 | int *ptwrite, int level, gfn_t gfn, | 1877 | int *ptwrite, int level, gfn_t gfn, |
1831 | pfn_t pfn, bool speculative) | 1878 | pfn_t pfn, bool speculative, |
1879 | bool reset_host_protection) | ||
1832 | { | 1880 | { |
1833 | int was_rmapped = 0; | 1881 | int was_rmapped = 0; |
1834 | int was_writeble = is_writeble_pte(*sptep); | 1882 | int was_writeble = is_writeble_pte(*sptep); |
@@ -1860,7 +1908,8 @@ static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *sptep, | |||
1860 | } | 1908 | } |
1861 | 1909 | ||
1862 | if (set_spte(vcpu, sptep, pte_access, user_fault, write_fault, | 1910 | if (set_spte(vcpu, sptep, pte_access, user_fault, write_fault, |
1863 | dirty, level, gfn, pfn, speculative, true)) { | 1911 | dirty, level, gfn, pfn, speculative, true, |
1912 | reset_host_protection)) { | ||
1864 | if (write_fault) | 1913 | if (write_fault) |
1865 | *ptwrite = 1; | 1914 | *ptwrite = 1; |
1866 | kvm_x86_ops->tlb_flush(vcpu); | 1915 | kvm_x86_ops->tlb_flush(vcpu); |
@@ -1877,8 +1926,7 @@ static void mmu_set_spte(struct kvm_vcpu *vcpu, u64 *sptep, | |||
1877 | page_header_update_slot(vcpu->kvm, sptep, gfn); | 1926 | page_header_update_slot(vcpu->kvm, sptep, gfn); |
1878 | if (!was_rmapped) { | 1927 | if (!was_rmapped) { |
1879 | rmap_count = rmap_add(vcpu, sptep, gfn); | 1928 | rmap_count = rmap_add(vcpu, sptep, gfn); |
1880 | if (!is_rmap_spte(*sptep)) | 1929 | kvm_release_pfn_clean(pfn); |
1881 | kvm_release_pfn_clean(pfn); | ||
1882 | if (rmap_count > RMAP_RECYCLE_THRESHOLD) | 1930 | if (rmap_count > RMAP_RECYCLE_THRESHOLD) |
1883 | rmap_recycle(vcpu, sptep, gfn); | 1931 | rmap_recycle(vcpu, sptep, gfn); |
1884 | } else { | 1932 | } else { |
@@ -1909,7 +1957,7 @@ static int __direct_map(struct kvm_vcpu *vcpu, gpa_t v, int write, | |||
1909 | if (iterator.level == level) { | 1957 | if (iterator.level == level) { |
1910 | mmu_set_spte(vcpu, iterator.sptep, ACC_ALL, ACC_ALL, | 1958 | mmu_set_spte(vcpu, iterator.sptep, ACC_ALL, ACC_ALL, |
1911 | 0, write, 1, &pt_write, | 1959 | 0, write, 1, &pt_write, |
1912 | level, gfn, pfn, false); | 1960 | level, gfn, pfn, false, true); |
1913 | ++vcpu->stat.pf_fixed; | 1961 | ++vcpu->stat.pf_fixed; |
1914 | break; | 1962 | break; |
1915 | } | 1963 | } |
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h index d2fec9c12d22..72558f8ff3f5 100644 --- a/arch/x86/kvm/paging_tmpl.h +++ b/arch/x86/kvm/paging_tmpl.h | |||
@@ -273,9 +273,13 @@ static void FNAME(update_pte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *page, | |||
273 | if (mmu_notifier_retry(vcpu, vcpu->arch.update_pte.mmu_seq)) | 273 | if (mmu_notifier_retry(vcpu, vcpu->arch.update_pte.mmu_seq)) |
274 | return; | 274 | return; |
275 | kvm_get_pfn(pfn); | 275 | kvm_get_pfn(pfn); |
276 | /* | ||
277 | * we call mmu_set_spte() with reset_host_protection = true beacuse that | ||
278 | * vcpu->arch.update_pte.pfn was fetched from get_user_pages(write = 1). | ||
279 | */ | ||
276 | mmu_set_spte(vcpu, spte, page->role.access, pte_access, 0, 0, | 280 | mmu_set_spte(vcpu, spte, page->role.access, pte_access, 0, 0, |
277 | gpte & PT_DIRTY_MASK, NULL, PT_PAGE_TABLE_LEVEL, | 281 | gpte & PT_DIRTY_MASK, NULL, PT_PAGE_TABLE_LEVEL, |
278 | gpte_to_gfn(gpte), pfn, true); | 282 | gpte_to_gfn(gpte), pfn, true, true); |
279 | } | 283 | } |
280 | 284 | ||
281 | /* | 285 | /* |
@@ -308,7 +312,7 @@ static u64 *FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr, | |||
308 | user_fault, write_fault, | 312 | user_fault, write_fault, |
309 | gw->ptes[gw->level-1] & PT_DIRTY_MASK, | 313 | gw->ptes[gw->level-1] & PT_DIRTY_MASK, |
310 | ptwrite, level, | 314 | ptwrite, level, |
311 | gw->gfn, pfn, false); | 315 | gw->gfn, pfn, false, true); |
312 | break; | 316 | break; |
313 | } | 317 | } |
314 | 318 | ||
@@ -558,6 +562,7 @@ static void FNAME(prefetch_page)(struct kvm_vcpu *vcpu, | |||
558 | static int FNAME(sync_page)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp) | 562 | static int FNAME(sync_page)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp) |
559 | { | 563 | { |
560 | int i, offset, nr_present; | 564 | int i, offset, nr_present; |
565 | bool reset_host_protection; | ||
561 | 566 | ||
562 | offset = nr_present = 0; | 567 | offset = nr_present = 0; |
563 | 568 | ||
@@ -595,9 +600,16 @@ static int FNAME(sync_page)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp) | |||
595 | 600 | ||
596 | nr_present++; | 601 | nr_present++; |
597 | pte_access = sp->role.access & FNAME(gpte_access)(vcpu, gpte); | 602 | pte_access = sp->role.access & FNAME(gpte_access)(vcpu, gpte); |
603 | if (!(sp->spt[i] & SPTE_HOST_WRITEABLE)) { | ||
604 | pte_access &= ~ACC_WRITE_MASK; | ||
605 | reset_host_protection = 0; | ||
606 | } else { | ||
607 | reset_host_protection = 1; | ||
608 | } | ||
598 | set_spte(vcpu, &sp->spt[i], pte_access, 0, 0, | 609 | set_spte(vcpu, &sp->spt[i], pte_access, 0, 0, |
599 | is_dirty_gpte(gpte), PT_PAGE_TABLE_LEVEL, gfn, | 610 | is_dirty_gpte(gpte), PT_PAGE_TABLE_LEVEL, gfn, |
600 | spte_to_pfn(sp->spt[i]), true, false); | 611 | spte_to_pfn(sp->spt[i]), true, false, |
612 | reset_host_protection); | ||
601 | } | 613 | } |
602 | 614 | ||
603 | return !nr_present; | 615 | return !nr_present; |
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 944cc9c04b3c..c17404add91f 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c | |||
@@ -767,6 +767,8 @@ static void svm_vcpu_load(struct kvm_vcpu *vcpu, int cpu) | |||
767 | rdtscll(tsc_this); | 767 | rdtscll(tsc_this); |
768 | delta = vcpu->arch.host_tsc - tsc_this; | 768 | delta = vcpu->arch.host_tsc - tsc_this; |
769 | svm->vmcb->control.tsc_offset += delta; | 769 | svm->vmcb->control.tsc_offset += delta; |
770 | if (is_nested(svm)) | ||
771 | svm->nested.hsave->control.tsc_offset += delta; | ||
770 | vcpu->cpu = cpu; | 772 | vcpu->cpu = cpu; |
771 | kvm_migrate_timers(vcpu); | 773 | kvm_migrate_timers(vcpu); |
772 | svm->asid_generation = 0; | 774 | svm->asid_generation = 0; |
@@ -2057,10 +2059,14 @@ static int svm_get_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 *data) | |||
2057 | 2059 | ||
2058 | switch (ecx) { | 2060 | switch (ecx) { |
2059 | case MSR_IA32_TSC: { | 2061 | case MSR_IA32_TSC: { |
2060 | u64 tsc; | 2062 | u64 tsc_offset; |
2063 | |||
2064 | if (is_nested(svm)) | ||
2065 | tsc_offset = svm->nested.hsave->control.tsc_offset; | ||
2066 | else | ||
2067 | tsc_offset = svm->vmcb->control.tsc_offset; | ||
2061 | 2068 | ||
2062 | rdtscll(tsc); | 2069 | *data = tsc_offset + native_read_tsc(); |
2063 | *data = svm->vmcb->control.tsc_offset + tsc; | ||
2064 | break; | 2070 | break; |
2065 | } | 2071 | } |
2066 | case MSR_K6_STAR: | 2072 | case MSR_K6_STAR: |
@@ -2146,10 +2152,17 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data) | |||
2146 | 2152 | ||
2147 | switch (ecx) { | 2153 | switch (ecx) { |
2148 | case MSR_IA32_TSC: { | 2154 | case MSR_IA32_TSC: { |
2149 | u64 tsc; | 2155 | u64 tsc_offset = data - native_read_tsc(); |
2156 | u64 g_tsc_offset = 0; | ||
2157 | |||
2158 | if (is_nested(svm)) { | ||
2159 | g_tsc_offset = svm->vmcb->control.tsc_offset - | ||
2160 | svm->nested.hsave->control.tsc_offset; | ||
2161 | svm->nested.hsave->control.tsc_offset = tsc_offset; | ||
2162 | } | ||
2163 | |||
2164 | svm->vmcb->control.tsc_offset = tsc_offset + g_tsc_offset; | ||
2150 | 2165 | ||
2151 | rdtscll(tsc); | ||
2152 | svm->vmcb->control.tsc_offset = data - tsc; | ||
2153 | break; | 2166 | break; |
2154 | } | 2167 | } |
2155 | case MSR_K6_STAR: | 2168 | case MSR_K6_STAR: |
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index f3812014bd0b..ed53b42caba1 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -709,7 +709,7 @@ static void vmx_vcpu_load(struct kvm_vcpu *vcpu, int cpu) | |||
709 | if (vcpu->cpu != cpu) { | 709 | if (vcpu->cpu != cpu) { |
710 | vcpu_clear(vmx); | 710 | vcpu_clear(vmx); |
711 | kvm_migrate_timers(vcpu); | 711 | kvm_migrate_timers(vcpu); |
712 | vpid_sync_vcpu_all(vmx); | 712 | set_bit(KVM_REQ_TLB_FLUSH, &vcpu->requests); |
713 | local_irq_disable(); | 713 | local_irq_disable(); |
714 | list_add(&vmx->local_vcpus_link, | 714 | list_add(&vmx->local_vcpus_link, |
715 | &per_cpu(vcpus_on_cpu, cpu)); | 715 | &per_cpu(vcpus_on_cpu, cpu)); |
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index be451ee44249..9b9695322f56 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -1591,6 +1591,8 @@ static int kvm_dev_ioctl_get_supported_cpuid(struct kvm_cpuid2 *cpuid, | |||
1591 | 1591 | ||
1592 | if (cpuid->nent < 1) | 1592 | if (cpuid->nent < 1) |
1593 | goto out; | 1593 | goto out; |
1594 | if (cpuid->nent > KVM_MAX_CPUID_ENTRIES) | ||
1595 | cpuid->nent = KVM_MAX_CPUID_ENTRIES; | ||
1594 | r = -ENOMEM; | 1596 | r = -ENOMEM; |
1595 | cpuid_entries = vmalloc(sizeof(struct kvm_cpuid_entry2) * cpuid->nent); | 1597 | cpuid_entries = vmalloc(sizeof(struct kvm_cpuid_entry2) * cpuid->nent); |
1596 | if (!cpuid_entries) | 1598 | if (!cpuid_entries) |
diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile index 9e609206fac9..85f5db95c60f 100644 --- a/arch/x86/lib/Makefile +++ b/arch/x86/lib/Makefile | |||
@@ -16,7 +16,9 @@ ifeq ($(CONFIG_X86_32),y) | |||
16 | lib-y += checksum_32.o | 16 | lib-y += checksum_32.o |
17 | lib-y += strstr_32.o | 17 | lib-y += strstr_32.o |
18 | lib-y += semaphore_32.o string_32.o | 18 | lib-y += semaphore_32.o string_32.o |
19 | 19 | ifneq ($(CONFIG_X86_CMPXCHG64),y) | |
20 | lib-y += cmpxchg8b_emu.o | ||
21 | endif | ||
20 | lib-$(CONFIG_X86_USE_3DNOW) += mmx_32.o | 22 | lib-$(CONFIG_X86_USE_3DNOW) += mmx_32.o |
21 | else | 23 | else |
22 | obj-y += io_64.o iomap_copy_64.o | 24 | obj-y += io_64.o iomap_copy_64.o |
diff --git a/arch/x86/lib/cmpxchg8b_emu.S b/arch/x86/lib/cmpxchg8b_emu.S new file mode 100644 index 000000000000..828cb710dec2 --- /dev/null +++ b/arch/x86/lib/cmpxchg8b_emu.S | |||
@@ -0,0 +1,57 @@ | |||
1 | /* | ||
2 | * This program is free software; you can redistribute it and/or | ||
3 | * modify it under the terms of the GNU General Public License | ||
4 | * as published by the Free Software Foundation; version 2 | ||
5 | * of the License. | ||
6 | * | ||
7 | */ | ||
8 | |||
9 | #include <linux/linkage.h> | ||
10 | #include <asm/alternative-asm.h> | ||
11 | #include <asm/frame.h> | ||
12 | #include <asm/dwarf2.h> | ||
13 | |||
14 | |||
15 | .text | ||
16 | |||
17 | /* | ||
18 | * Inputs: | ||
19 | * %esi : memory location to compare | ||
20 | * %eax : low 32 bits of old value | ||
21 | * %edx : high 32 bits of old value | ||
22 | * %ebx : low 32 bits of new value | ||
23 | * %ecx : high 32 bits of new value | ||
24 | */ | ||
25 | ENTRY(cmpxchg8b_emu) | ||
26 | CFI_STARTPROC | ||
27 | |||
28 | # | ||
29 | # Emulate 'cmpxchg8b (%esi)' on UP except we don't | ||
30 | # set the whole ZF thing (caller will just compare | ||
31 | # eax:edx with the expected value) | ||
32 | # | ||
33 | cmpxchg8b_emu: | ||
34 | pushfl | ||
35 | cli | ||
36 | |||
37 | cmpl (%esi), %eax | ||
38 | jne not_same | ||
39 | cmpl 4(%esi), %edx | ||
40 | jne half_same | ||
41 | |||
42 | movl %ebx, (%esi) | ||
43 | movl %ecx, 4(%esi) | ||
44 | |||
45 | popfl | ||
46 | ret | ||
47 | |||
48 | not_same: | ||
49 | movl (%esi), %eax | ||
50 | half_same: | ||
51 | movl 4(%esi), %edx | ||
52 | |||
53 | popfl | ||
54 | ret | ||
55 | |||
56 | CFI_ENDPROC | ||
57 | ENDPROC(cmpxchg8b_emu) | ||
diff --git a/arch/x86/xen/debugfs.c b/arch/x86/xen/debugfs.c index b53225d2cac3..e133ce25e290 100644 --- a/arch/x86/xen/debugfs.c +++ b/arch/x86/xen/debugfs.c | |||
@@ -100,7 +100,7 @@ static int xen_array_release(struct inode *inode, struct file *file) | |||
100 | return 0; | 100 | return 0; |
101 | } | 101 | } |
102 | 102 | ||
103 | static struct file_operations u32_array_fops = { | 103 | static const struct file_operations u32_array_fops = { |
104 | .owner = THIS_MODULE, | 104 | .owner = THIS_MODULE, |
105 | .open = u32_array_open, | 105 | .open = u32_array_open, |
106 | .release= xen_array_release, | 106 | .release= xen_array_release, |
diff --git a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c index 19085ff0484a..19f7df30937f 100644 --- a/arch/xtensa/kernel/time.c +++ b/arch/xtensa/kernel/time.c | |||
@@ -13,6 +13,7 @@ | |||
13 | */ | 13 | */ |
14 | 14 | ||
15 | #include <linux/errno.h> | 15 | #include <linux/errno.h> |
16 | #include <linux/sched.h> | ||
16 | #include <linux/time.h> | 17 | #include <linux/time.h> |
17 | #include <linux/clocksource.h> | 18 | #include <linux/clocksource.h> |
18 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |