diff options
-rw-r--r-- | Documentation/powerpc/mpc52xx-device-tree-bindings.txt | 11 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8610_hpcd.dts | 23 | ||||
-rw-r--r-- | arch/powerpc/configs/ps3_defconfig | 132 | ||||
-rw-r--r-- | arch/powerpc/kernel/smp.c | 2 | ||||
-rw-r--r-- | arch/powerpc/mm/slb.c | 27 | ||||
-rw-r--r-- | arch/powerpc/platforms/ps3/interrupt.c | 6 | ||||
-rw-r--r-- | arch/powerpc/sysdev/fsl_rio.c | 9 | ||||
-rw-r--r-- | arch/powerpc/sysdev/fsl_soc.c | 4 | ||||
-rw-r--r-- | arch/powerpc/sysdev/xilinx_intc.c | 2 | ||||
-rw-r--r-- | drivers/char/xilinx_hwicap/xilinx_hwicap.c | 6 | ||||
-rw-r--r-- | drivers/net/fec_mpc52xx.c | 97 | ||||
-rw-r--r-- | drivers/net/fec_mpc52xx.h | 19 | ||||
-rw-r--r-- | drivers/ps3/ps3-lpm.c | 1 | ||||
-rw-r--r-- | drivers/ps3/ps3-sys-manager.c | 7 | ||||
-rw-r--r-- | drivers/serial/mpc52xx_uart.c | 2 | ||||
-rw-r--r-- | include/asm-powerpc/ps3.h | 3 | ||||
-rw-r--r-- | include/linux/rio.h | 2 |
17 files changed, 231 insertions, 122 deletions
diff --git a/Documentation/powerpc/mpc52xx-device-tree-bindings.txt b/Documentation/powerpc/mpc52xx-device-tree-bindings.txt index cda7a7dffa6d..6f12f1c79c0c 100644 --- a/Documentation/powerpc/mpc52xx-device-tree-bindings.txt +++ b/Documentation/powerpc/mpc52xx-device-tree-bindings.txt | |||
@@ -237,6 +237,17 @@ Each GPIO controller node should have the empty property gpio-controller and | |||
237 | according to the bit numbers in the GPIO control registers. The second cell | 237 | according to the bit numbers in the GPIO control registers. The second cell |
238 | is for flags which is currently unsused. | 238 | is for flags which is currently unsused. |
239 | 239 | ||
240 | 8) FEC nodes | ||
241 | The FEC node can specify one of the following properties to configure | ||
242 | the MII link: | ||
243 | "fsl,7-wire-mode" - An empty property that specifies the link uses 7-wire | ||
244 | mode instead of MII | ||
245 | "current-speed" - Specifies that the MII should be configured for a fixed | ||
246 | speed. This property should contain two cells. The | ||
247 | first cell specifies the speed in Mbps and the second | ||
248 | should be '0' for half duplex and '1' for full duplex | ||
249 | "phy-handle" - Contains a phandle to an Ethernet PHY. | ||
250 | |||
240 | IV - Extra Notes | 251 | IV - Extra Notes |
241 | ================ | 252 | ================ |
242 | 253 | ||
diff --git a/arch/powerpc/boot/dts/mpc8610_hpcd.dts b/arch/powerpc/boot/dts/mpc8610_hpcd.dts index 1f2f1e0a5571..bba234eb14a9 100644 --- a/arch/powerpc/boot/dts/mpc8610_hpcd.dts +++ b/arch/powerpc/boot/dts/mpc8610_hpcd.dts | |||
@@ -21,6 +21,7 @@ | |||
21 | serial1 = &serial1; | 21 | serial1 = &serial1; |
22 | pci0 = &pci0; | 22 | pci0 = &pci0; |
23 | pci1 = &pci1; | 23 | pci1 = &pci1; |
24 | pci2 = &pci2; | ||
24 | }; | 25 | }; |
25 | 26 | ||
26 | cpus { | 27 | cpus { |
@@ -105,7 +106,7 @@ | |||
105 | compatible = "ns16550"; | 106 | compatible = "ns16550"; |
106 | reg = <0x4600 0x100>; | 107 | reg = <0x4600 0x100>; |
107 | clock-frequency = <0>; | 108 | clock-frequency = <0>; |
108 | interrupts = <28 2>; | 109 | interrupts = <42 2>; |
109 | interrupt-parent = <&mpic>; | 110 | interrupt-parent = <&mpic>; |
110 | }; | 111 | }; |
111 | 112 | ||
@@ -322,4 +323,24 @@ | |||
322 | }; | 323 | }; |
323 | }; | 324 | }; |
324 | }; | 325 | }; |
326 | |||
327 | pci2: pcie@e0009000 { | ||
328 | #address-cells = <3>; | ||
329 | #size-cells = <2>; | ||
330 | #interrupt-cells = <1>; | ||
331 | device_type = "pci"; | ||
332 | compatible = "fsl,mpc8641-pcie"; | ||
333 | reg = <0xe0009000 0x00001000>; | ||
334 | ranges = <0x02000000 0 0x90000000 0x90000000 0 0x10000000 | ||
335 | 0x01000000 0 0x00000000 0xe2000000 0 0x00100000>; | ||
336 | bus-range = <0 255>; | ||
337 | interrupt-map-mask = <0xf800 0 0 7>; | ||
338 | interrupt-map = <0x0000 0 0 1 &mpic 4 1 | ||
339 | 0x0000 0 0 2 &mpic 5 1 | ||
340 | 0x0000 0 0 3 &mpic 6 1 | ||
341 | 0x0000 0 0 4 &mpic 7 1>; | ||
342 | interrupt-parent = <&mpic>; | ||
343 | interrupts = <25 2>; | ||
344 | clock-frequency = <33333333>; | ||
345 | }; | ||
325 | }; | 346 | }; |
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig index 7a64c564f6e6..71d79e428d20 100644 --- a/arch/powerpc/configs/ps3_defconfig +++ b/arch/powerpc/configs/ps3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25-rc6 | 3 | # Linux kernel version: 2.6.25 |
4 | # Thu Mar 20 11:07:04 2008 | 4 | # Mon Apr 28 12:39:10 2008 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | 7 | ||
@@ -30,6 +30,9 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
30 | CONFIG_GENERIC_HARDIRQS=y | 30 | CONFIG_GENERIC_HARDIRQS=y |
31 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | 31 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y |
32 | CONFIG_IRQ_PER_CPU=y | 32 | CONFIG_IRQ_PER_CPU=y |
33 | CONFIG_STACKTRACE_SUPPORT=y | ||
34 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
35 | CONFIG_LOCKDEP_SUPPORT=y | ||
33 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 36 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
34 | CONFIG_ARCH_HAS_ILOG2_U32=y | 37 | CONFIG_ARCH_HAS_ILOG2_U32=y |
35 | CONFIG_ARCH_HAS_ILOG2_U64=y | 38 | CONFIG_ARCH_HAS_ILOG2_U64=y |
@@ -73,8 +76,6 @@ CONFIG_POSIX_MQUEUE=y | |||
73 | CONFIG_LOG_BUF_SHIFT=17 | 76 | CONFIG_LOG_BUF_SHIFT=17 |
74 | # CONFIG_CGROUPS is not set | 77 | # CONFIG_CGROUPS is not set |
75 | # CONFIG_GROUP_SCHED is not set | 78 | # CONFIG_GROUP_SCHED is not set |
76 | # CONFIG_USER_SCHED is not set | ||
77 | # CONFIG_CGROUP_SCHED is not set | ||
78 | CONFIG_SYSFS_DEPRECATED=y | 79 | CONFIG_SYSFS_DEPRECATED=y |
79 | CONFIG_SYSFS_DEPRECATED_V2=y | 80 | CONFIG_SYSFS_DEPRECATED_V2=y |
80 | # CONFIG_RELAY is not set | 81 | # CONFIG_RELAY is not set |
@@ -161,7 +162,6 @@ CONFIG_PPC_MULTIPLATFORM=y | |||
161 | # CONFIG_PPC_PMAC is not set | 162 | # CONFIG_PPC_PMAC is not set |
162 | # CONFIG_PPC_MAPLE is not set | 163 | # CONFIG_PPC_MAPLE is not set |
163 | # CONFIG_PPC_PASEMI is not set | 164 | # CONFIG_PPC_PASEMI is not set |
164 | # CONFIG_PPC_CELLEB is not set | ||
165 | CONFIG_PPC_PS3=y | 165 | CONFIG_PPC_PS3=y |
166 | 166 | ||
167 | # | 167 | # |
@@ -181,6 +181,7 @@ CONFIG_PS3_LPM=m | |||
181 | CONFIG_PPC_CELL=y | 181 | CONFIG_PPC_CELL=y |
182 | # CONFIG_PPC_CELL_NATIVE is not set | 182 | # CONFIG_PPC_CELL_NATIVE is not set |
183 | # CONFIG_PPC_IBM_CELL_BLADE is not set | 183 | # CONFIG_PPC_IBM_CELL_BLADE is not set |
184 | # CONFIG_PPC_CELLEB is not set | ||
184 | 185 | ||
185 | # | 186 | # |
186 | # Cell Broadband Engine options | 187 | # Cell Broadband Engine options |
@@ -205,9 +206,9 @@ CONFIG_SPU_BASE=y | |||
205 | # | 206 | # |
206 | # Kernel options | 207 | # Kernel options |
207 | # | 208 | # |
208 | # CONFIG_TICK_ONESHOT is not set | 209 | CONFIG_TICK_ONESHOT=y |
209 | # CONFIG_NO_HZ is not set | 210 | # CONFIG_NO_HZ is not set |
210 | # CONFIG_HIGH_RES_TIMERS is not set | 211 | CONFIG_HIGH_RES_TIMERS=y |
211 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | 212 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |
212 | # CONFIG_HZ_100 is not set | 213 | # CONFIG_HZ_100 is not set |
213 | CONFIG_HZ_250=y | 214 | CONFIG_HZ_250=y |
@@ -221,7 +222,6 @@ CONFIG_PREEMPT_NONE=y | |||
221 | CONFIG_BINFMT_ELF=y | 222 | CONFIG_BINFMT_ELF=y |
222 | CONFIG_COMPAT_BINFMT_ELF=y | 223 | CONFIG_COMPAT_BINFMT_ELF=y |
223 | CONFIG_BINFMT_MISC=y | 224 | CONFIG_BINFMT_MISC=y |
224 | CONFIG_FORCE_MAX_ZONEORDER=13 | ||
225 | # CONFIG_IOMMU_VMERGE is not set | 225 | # CONFIG_IOMMU_VMERGE is not set |
226 | CONFIG_IOMMU_HELPER=y | 226 | CONFIG_IOMMU_HELPER=y |
227 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | 227 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y |
@@ -255,6 +255,7 @@ CONFIG_BOUNCE=y | |||
255 | CONFIG_ARCH_MEMORY_PROBE=y | 255 | CONFIG_ARCH_MEMORY_PROBE=y |
256 | # CONFIG_PPC_HAS_HASH_64K is not set | 256 | # CONFIG_PPC_HAS_HASH_64K is not set |
257 | # CONFIG_PPC_64K_PAGES is not set | 257 | # CONFIG_PPC_64K_PAGES is not set |
258 | CONFIG_FORCE_MAX_ZONEORDER=13 | ||
258 | # CONFIG_SCHED_SMT is not set | 259 | # CONFIG_SCHED_SMT is not set |
259 | CONFIG_PROC_DEVICETREE=y | 260 | CONFIG_PROC_DEVICETREE=y |
260 | # CONFIG_CMDLINE_BOOL is not set | 261 | # CONFIG_CMDLINE_BOOL is not set |
@@ -272,7 +273,9 @@ CONFIG_GENERIC_ISA_DMA=y | |||
272 | # CONFIG_PCI_SYSCALL is not set | 273 | # CONFIG_PCI_SYSCALL is not set |
273 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 274 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
274 | # CONFIG_PCCARD is not set | 275 | # CONFIG_PCCARD is not set |
276 | CONFIG_PAGE_OFFSET=0xc000000000000000 | ||
275 | CONFIG_KERNEL_START=0xc000000000000000 | 277 | CONFIG_KERNEL_START=0xc000000000000000 |
278 | CONFIG_PHYSICAL_START=0x00000000 | ||
276 | 279 | ||
277 | # | 280 | # |
278 | # Networking | 281 | # Networking |
@@ -292,7 +295,7 @@ CONFIG_XFRM=y | |||
292 | # CONFIG_XFRM_STATISTICS is not set | 295 | # CONFIG_XFRM_STATISTICS is not set |
293 | # CONFIG_NET_KEY is not set | 296 | # CONFIG_NET_KEY is not set |
294 | CONFIG_INET=y | 297 | CONFIG_INET=y |
295 | # CONFIG_IP_MULTICAST is not set | 298 | CONFIG_IP_MULTICAST=y |
296 | # CONFIG_IP_ADVANCED_ROUTER is not set | 299 | # CONFIG_IP_ADVANCED_ROUTER is not set |
297 | CONFIG_IP_FIB_HASH=y | 300 | CONFIG_IP_FIB_HASH=y |
298 | CONFIG_IP_PNP=y | 301 | CONFIG_IP_PNP=y |
@@ -301,6 +304,7 @@ CONFIG_IP_PNP_DHCP=y | |||
301 | # CONFIG_IP_PNP_RARP is not set | 304 | # CONFIG_IP_PNP_RARP is not set |
302 | # CONFIG_NET_IPIP is not set | 305 | # CONFIG_NET_IPIP is not set |
303 | # CONFIG_NET_IPGRE is not set | 306 | # CONFIG_NET_IPGRE is not set |
307 | # CONFIG_IP_MROUTE is not set | ||
304 | # CONFIG_ARPD is not set | 308 | # CONFIG_ARPD is not set |
305 | # CONFIG_SYN_COOKIES is not set | 309 | # CONFIG_SYN_COOKIES is not set |
306 | # CONFIG_INET_AH is not set | 310 | # CONFIG_INET_AH is not set |
@@ -332,8 +336,10 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y | |||
332 | CONFIG_INET6_XFRM_MODE_BEET=y | 336 | CONFIG_INET6_XFRM_MODE_BEET=y |
333 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | 337 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set |
334 | CONFIG_IPV6_SIT=y | 338 | CONFIG_IPV6_SIT=y |
339 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
335 | # CONFIG_IPV6_TUNNEL is not set | 340 | # CONFIG_IPV6_TUNNEL is not set |
336 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 341 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
342 | # CONFIG_IPV6_MROUTE is not set | ||
337 | # CONFIG_NETWORK_SECMARK is not set | 343 | # CONFIG_NETWORK_SECMARK is not set |
338 | # CONFIG_NETFILTER is not set | 344 | # CONFIG_NETFILTER is not set |
339 | # CONFIG_IP_DCCP is not set | 345 | # CONFIG_IP_DCCP is not set |
@@ -392,8 +398,6 @@ CONFIG_IEEE80211=m | |||
392 | CONFIG_IEEE80211_CRYPT_WEP=m | 398 | CONFIG_IEEE80211_CRYPT_WEP=m |
393 | CONFIG_IEEE80211_CRYPT_CCMP=m | 399 | CONFIG_IEEE80211_CRYPT_CCMP=m |
394 | CONFIG_IEEE80211_CRYPT_TKIP=m | 400 | CONFIG_IEEE80211_CRYPT_TKIP=m |
395 | CONFIG_IEEE80211_SOFTMAC=m | ||
396 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
397 | # CONFIG_RFKILL is not set | 401 | # CONFIG_RFKILL is not set |
398 | # CONFIG_NET_9P is not set | 402 | # CONFIG_NET_9P is not set |
399 | 403 | ||
@@ -507,6 +511,7 @@ CONFIG_WLAN_80211=y | |||
507 | # CONFIG_LIBERTAS is not set | 511 | # CONFIG_LIBERTAS is not set |
508 | # CONFIG_USB_ZD1201 is not set | 512 | # CONFIG_USB_ZD1201 is not set |
509 | # CONFIG_USB_NET_RNDIS_WLAN is not set | 513 | # CONFIG_USB_NET_RNDIS_WLAN is not set |
514 | # CONFIG_IWLWIFI_LEDS is not set | ||
510 | # CONFIG_HOSTAP is not set | 515 | # CONFIG_HOSTAP is not set |
511 | 516 | ||
512 | # | 517 | # |
@@ -578,6 +583,7 @@ CONFIG_INPUT_JOYSTICK=y | |||
578 | # CONFIG_JOYSTICK_SPACEBALL is not set | 583 | # CONFIG_JOYSTICK_SPACEBALL is not set |
579 | # CONFIG_JOYSTICK_STINGER is not set | 584 | # CONFIG_JOYSTICK_STINGER is not set |
580 | # CONFIG_JOYSTICK_TWIDJOY is not set | 585 | # CONFIG_JOYSTICK_TWIDJOY is not set |
586 | # CONFIG_JOYSTICK_ZHENHUA is not set | ||
581 | # CONFIG_JOYSTICK_JOYDUMP is not set | 587 | # CONFIG_JOYSTICK_JOYDUMP is not set |
582 | # CONFIG_JOYSTICK_XPAD is not set | 588 | # CONFIG_JOYSTICK_XPAD is not set |
583 | # CONFIG_INPUT_TABLET is not set | 589 | # CONFIG_INPUT_TABLET is not set |
@@ -641,6 +647,7 @@ CONFIG_SSB_POSSIBLE=y | |||
641 | # Multifunction device drivers | 647 | # Multifunction device drivers |
642 | # | 648 | # |
643 | # CONFIG_MFD_SM501 is not set | 649 | # CONFIG_MFD_SM501 is not set |
650 | # CONFIG_HTC_PASIC3 is not set | ||
644 | 651 | ||
645 | # | 652 | # |
646 | # Multimedia devices | 653 | # Multimedia devices |
@@ -761,10 +768,6 @@ CONFIG_SND_PS3_DEFAULT_START_DELAY=2000 | |||
761 | # CONFIG_SND_SOC is not set | 768 | # CONFIG_SND_SOC is not set |
762 | 769 | ||
763 | # | 770 | # |
764 | # SoC Audio support for SuperH | ||
765 | # | ||
766 | |||
767 | # | ||
768 | # ALSA SoC audio for Freescale SOCs | 771 | # ALSA SoC audio for Freescale SOCs |
769 | # | 772 | # |
770 | 773 | ||
@@ -849,6 +852,7 @@ CONFIG_USB_STORAGE=m | |||
849 | # CONFIG_USB_STORAGE_ALAUDA is not set | 852 | # CONFIG_USB_STORAGE_ALAUDA is not set |
850 | # CONFIG_USB_STORAGE_ONETOUCH is not set | 853 | # CONFIG_USB_STORAGE_ONETOUCH is not set |
851 | # CONFIG_USB_STORAGE_KARMA is not set | 854 | # CONFIG_USB_STORAGE_KARMA is not set |
855 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
852 | # CONFIG_USB_LIBUSUAL is not set | 856 | # CONFIG_USB_LIBUSUAL is not set |
853 | 857 | ||
854 | # | 858 | # |
@@ -893,10 +897,6 @@ CONFIG_USB_MON=y | |||
893 | # CONFIG_EDAC is not set | 897 | # CONFIG_EDAC is not set |
894 | # CONFIG_RTC_CLASS is not set | 898 | # CONFIG_RTC_CLASS is not set |
895 | # CONFIG_DMADEVICES is not set | 899 | # CONFIG_DMADEVICES is not set |
896 | |||
897 | # | ||
898 | # Userspace I/O | ||
899 | # | ||
900 | # CONFIG_UIO is not set | 900 | # CONFIG_UIO is not set |
901 | 901 | ||
902 | # | 902 | # |
@@ -986,7 +986,6 @@ CONFIG_NFS_FS=y | |||
986 | CONFIG_NFS_V3=y | 986 | CONFIG_NFS_V3=y |
987 | # CONFIG_NFS_V3_ACL is not set | 987 | # CONFIG_NFS_V3_ACL is not set |
988 | CONFIG_NFS_V4=y | 988 | CONFIG_NFS_V4=y |
989 | # CONFIG_NFS_DIRECTIO is not set | ||
990 | # CONFIG_NFSD is not set | 989 | # CONFIG_NFSD is not set |
991 | CONFIG_ROOT_NFS=y | 990 | CONFIG_ROOT_NFS=y |
992 | CONFIG_LOCKD=y | 991 | CONFIG_LOCKD=y |
@@ -1059,9 +1058,10 @@ CONFIG_NLS_ISO8859_1=y | |||
1059 | # Library routines | 1058 | # Library routines |
1060 | # | 1059 | # |
1061 | CONFIG_BITREVERSE=y | 1060 | CONFIG_BITREVERSE=y |
1061 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1062 | # CONFIG_CRC_CCITT is not set | 1062 | # CONFIG_CRC_CCITT is not set |
1063 | # CONFIG_CRC16 is not set | 1063 | # CONFIG_CRC16 is not set |
1064 | # CONFIG_CRC_ITU_T is not set | 1064 | CONFIG_CRC_ITU_T=m |
1065 | CONFIG_CRC32=y | 1065 | CONFIG_CRC32=y |
1066 | # CONFIG_CRC7 is not set | 1066 | # CONFIG_CRC7 is not set |
1067 | # CONFIG_LIBCRC32C is not set | 1067 | # CONFIG_LIBCRC32C is not set |
@@ -1071,6 +1071,7 @@ CONFIG_PLIST=y | |||
1071 | CONFIG_HAS_IOMEM=y | 1071 | CONFIG_HAS_IOMEM=y |
1072 | CONFIG_HAS_IOPORT=y | 1072 | CONFIG_HAS_IOPORT=y |
1073 | CONFIG_HAS_DMA=y | 1073 | CONFIG_HAS_DMA=y |
1074 | CONFIG_HAVE_LMB=y | ||
1074 | 1075 | ||
1075 | # | 1076 | # |
1076 | # Kernel hacking | 1077 | # Kernel hacking |
@@ -1078,6 +1079,7 @@ CONFIG_HAS_DMA=y | |||
1078 | # CONFIG_PRINTK_TIME is not set | 1079 | # CONFIG_PRINTK_TIME is not set |
1079 | CONFIG_ENABLE_WARN_DEPRECATED=y | 1080 | CONFIG_ENABLE_WARN_DEPRECATED=y |
1080 | CONFIG_ENABLE_MUST_CHECK=y | 1081 | CONFIG_ENABLE_MUST_CHECK=y |
1082 | CONFIG_FRAME_WARN=2048 | ||
1081 | CONFIG_MAGIC_SYSRQ=y | 1083 | CONFIG_MAGIC_SYSRQ=y |
1082 | # CONFIG_UNUSED_SYMBOLS is not set | 1084 | # CONFIG_UNUSED_SYMBOLS is not set |
1083 | # CONFIG_DEBUG_FS is not set | 1085 | # CONFIG_DEBUG_FS is not set |
@@ -1093,12 +1095,16 @@ CONFIG_SCHED_DEBUG=y | |||
1093 | # CONFIG_RT_MUTEX_TESTER is not set | 1095 | # CONFIG_RT_MUTEX_TESTER is not set |
1094 | CONFIG_DEBUG_SPINLOCK=y | 1096 | CONFIG_DEBUG_SPINLOCK=y |
1095 | CONFIG_DEBUG_MUTEXES=y | 1097 | CONFIG_DEBUG_MUTEXES=y |
1098 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
1099 | # CONFIG_PROVE_LOCKING is not set | ||
1100 | # CONFIG_LOCK_STAT is not set | ||
1096 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | 1101 | CONFIG_DEBUG_SPINLOCK_SLEEP=y |
1097 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 1102 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
1098 | # CONFIG_DEBUG_KOBJECT is not set | 1103 | # CONFIG_DEBUG_KOBJECT is not set |
1099 | CONFIG_DEBUG_BUGVERBOSE=y | 1104 | CONFIG_DEBUG_BUGVERBOSE=y |
1100 | CONFIG_DEBUG_INFO=y | 1105 | CONFIG_DEBUG_INFO=y |
1101 | # CONFIG_DEBUG_VM is not set | 1106 | # CONFIG_DEBUG_VM is not set |
1107 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
1102 | CONFIG_DEBUG_LIST=y | 1108 | CONFIG_DEBUG_LIST=y |
1103 | # CONFIG_DEBUG_SG is not set | 1109 | # CONFIG_DEBUG_SG is not set |
1104 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1110 | # CONFIG_BOOT_PRINTK_DELAY is not set |
@@ -1121,51 +1127,81 @@ CONFIG_IRQSTACKS=y | |||
1121 | # CONFIG_SECURITY is not set | 1127 | # CONFIG_SECURITY is not set |
1122 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1128 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1123 | CONFIG_CRYPTO=y | 1129 | CONFIG_CRYPTO=y |
1130 | |||
1131 | # | ||
1132 | # Crypto core or helper | ||
1133 | # | ||
1124 | CONFIG_CRYPTO_ALGAPI=y | 1134 | CONFIG_CRYPTO_ALGAPI=y |
1125 | CONFIG_CRYPTO_AEAD=m | 1135 | CONFIG_CRYPTO_AEAD=m |
1126 | CONFIG_CRYPTO_BLKCIPHER=y | 1136 | CONFIG_CRYPTO_BLKCIPHER=y |
1127 | CONFIG_CRYPTO_SEQIV=m | ||
1128 | CONFIG_CRYPTO_MANAGER=y | 1137 | CONFIG_CRYPTO_MANAGER=y |
1138 | CONFIG_CRYPTO_GF128MUL=m | ||
1139 | # CONFIG_CRYPTO_NULL is not set | ||
1140 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1141 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1142 | # CONFIG_CRYPTO_TEST is not set | ||
1143 | |||
1144 | # | ||
1145 | # Authenticated Encryption with Associated Data | ||
1146 | # | ||
1147 | CONFIG_CRYPTO_CCM=m | ||
1148 | CONFIG_CRYPTO_GCM=m | ||
1149 | CONFIG_CRYPTO_SEQIV=m | ||
1150 | |||
1151 | # | ||
1152 | # Block modes | ||
1153 | # | ||
1154 | CONFIG_CRYPTO_CBC=y | ||
1155 | CONFIG_CRYPTO_CTR=m | ||
1156 | # CONFIG_CRYPTO_CTS is not set | ||
1157 | CONFIG_CRYPTO_ECB=m | ||
1158 | # CONFIG_CRYPTO_LRW is not set | ||
1159 | CONFIG_CRYPTO_PCBC=m | ||
1160 | # CONFIG_CRYPTO_XTS is not set | ||
1161 | |||
1162 | # | ||
1163 | # Hash modes | ||
1164 | # | ||
1129 | # CONFIG_CRYPTO_HMAC is not set | 1165 | # CONFIG_CRYPTO_HMAC is not set |
1130 | # CONFIG_CRYPTO_XCBC is not set | 1166 | # CONFIG_CRYPTO_XCBC is not set |
1131 | # CONFIG_CRYPTO_NULL is not set | 1167 | |
1168 | # | ||
1169 | # Digest | ||
1170 | # | ||
1171 | # CONFIG_CRYPTO_CRC32C is not set | ||
1132 | # CONFIG_CRYPTO_MD4 is not set | 1172 | # CONFIG_CRYPTO_MD4 is not set |
1133 | CONFIG_CRYPTO_MD5=y | 1173 | CONFIG_CRYPTO_MD5=y |
1174 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1134 | # CONFIG_CRYPTO_SHA1 is not set | 1175 | # CONFIG_CRYPTO_SHA1 is not set |
1135 | # CONFIG_CRYPTO_SHA256 is not set | 1176 | # CONFIG_CRYPTO_SHA256 is not set |
1136 | # CONFIG_CRYPTO_SHA512 is not set | 1177 | # CONFIG_CRYPTO_SHA512 is not set |
1137 | # CONFIG_CRYPTO_WP512 is not set | ||
1138 | # CONFIG_CRYPTO_TGR192 is not set | 1178 | # CONFIG_CRYPTO_TGR192 is not set |
1139 | CONFIG_CRYPTO_GF128MUL=m | 1179 | # CONFIG_CRYPTO_WP512 is not set |
1140 | CONFIG_CRYPTO_ECB=m | 1180 | |
1141 | CONFIG_CRYPTO_CBC=y | 1181 | # |
1142 | CONFIG_CRYPTO_PCBC=m | 1182 | # Ciphers |
1143 | # CONFIG_CRYPTO_LRW is not set | 1183 | # |
1144 | # CONFIG_CRYPTO_XTS is not set | ||
1145 | CONFIG_CRYPTO_CTR=m | ||
1146 | CONFIG_CRYPTO_GCM=m | ||
1147 | CONFIG_CRYPTO_CCM=m | ||
1148 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1149 | CONFIG_CRYPTO_DES=y | ||
1150 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1151 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1152 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1153 | # CONFIG_CRYPTO_SERPENT is not set | ||
1154 | CONFIG_CRYPTO_AES=m | 1184 | CONFIG_CRYPTO_AES=m |
1185 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1186 | CONFIG_CRYPTO_ARC4=m | ||
1187 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1188 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1155 | # CONFIG_CRYPTO_CAST5 is not set | 1189 | # CONFIG_CRYPTO_CAST5 is not set |
1156 | # CONFIG_CRYPTO_CAST6 is not set | 1190 | # CONFIG_CRYPTO_CAST6 is not set |
1157 | # CONFIG_CRYPTO_TEA is not set | 1191 | CONFIG_CRYPTO_DES=y |
1158 | CONFIG_CRYPTO_ARC4=m | 1192 | # CONFIG_CRYPTO_FCRYPT is not set |
1159 | # CONFIG_CRYPTO_KHAZAD is not set | 1193 | # CONFIG_CRYPTO_KHAZAD is not set |
1160 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1161 | # CONFIG_CRYPTO_SEED is not set | ||
1162 | CONFIG_CRYPTO_SALSA20=m | 1194 | CONFIG_CRYPTO_SALSA20=m |
1195 | # CONFIG_CRYPTO_SEED is not set | ||
1196 | # CONFIG_CRYPTO_SERPENT is not set | ||
1197 | # CONFIG_CRYPTO_TEA is not set | ||
1198 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1199 | |||
1200 | # | ||
1201 | # Compression | ||
1202 | # | ||
1163 | # CONFIG_CRYPTO_DEFLATE is not set | 1203 | # CONFIG_CRYPTO_DEFLATE is not set |
1164 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
1165 | # CONFIG_CRYPTO_CRC32C is not set | ||
1166 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1167 | # CONFIG_CRYPTO_TEST is not set | ||
1168 | # CONFIG_CRYPTO_AUTHENC is not set | ||
1169 | CONFIG_CRYPTO_LZO=m | 1204 | CONFIG_CRYPTO_LZO=m |
1170 | CONFIG_CRYPTO_HW=y | 1205 | CONFIG_CRYPTO_HW=y |
1171 | # CONFIG_PPC_CLOCK is not set | 1206 | # CONFIG_PPC_CLOCK is not set |
1207 | # CONFIG_VIRTUALIZATION is not set | ||
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index be35ffae10f0..1457aa0a08f1 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c | |||
@@ -386,6 +386,8 @@ static void __init smp_create_idle(unsigned int cpu) | |||
386 | panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p)); | 386 | panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p)); |
387 | #ifdef CONFIG_PPC64 | 387 | #ifdef CONFIG_PPC64 |
388 | paca[cpu].__current = p; | 388 | paca[cpu].__current = p; |
389 | paca[cpu].kstack = (unsigned long) task_thread_info(p) | ||
390 | + THREAD_SIZE - STACK_FRAME_OVERHEAD; | ||
389 | #endif | 391 | #endif |
390 | current_set[cpu] = task_thread_info(p); | 392 | current_set[cpu] = task_thread_info(p); |
391 | task_thread_info(p)->cpu = cpu; | 393 | task_thread_info(p)->cpu = cpu; |
diff --git a/arch/powerpc/mm/slb.c b/arch/powerpc/mm/slb.c index 906daeda59a8..cf8705e32d60 100644 --- a/arch/powerpc/mm/slb.c +++ b/arch/powerpc/mm/slb.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #ifdef DEBUG | 30 | #ifdef DEBUG |
31 | #define DBG(fmt...) udbg_printf(fmt) | 31 | #define DBG(fmt...) udbg_printf(fmt) |
32 | #else | 32 | #else |
33 | #define DBG(fmt...) | 33 | #define DBG pr_debug |
34 | #endif | 34 | #endif |
35 | 35 | ||
36 | extern void slb_allocate_realmode(unsigned long ea); | 36 | extern void slb_allocate_realmode(unsigned long ea); |
@@ -44,13 +44,13 @@ static void slb_allocate(unsigned long ea) | |||
44 | slb_allocate_realmode(ea); | 44 | slb_allocate_realmode(ea); |
45 | } | 45 | } |
46 | 46 | ||
47 | #define slb_esid_mask(ssize) \ | ||
48 | (((ssize) == MMU_SEGSIZE_256M)? ESID_MASK: ESID_MASK_1T) | ||
49 | |||
47 | static inline unsigned long mk_esid_data(unsigned long ea, int ssize, | 50 | static inline unsigned long mk_esid_data(unsigned long ea, int ssize, |
48 | unsigned long slot) | 51 | unsigned long slot) |
49 | { | 52 | { |
50 | unsigned long mask; | 53 | return (ea & slb_esid_mask(ssize)) | SLB_ESID_V | slot; |
51 | |||
52 | mask = (ssize == MMU_SEGSIZE_256M)? ESID_MASK: ESID_MASK_1T; | ||
53 | return (ea & mask) | SLB_ESID_V | slot; | ||
54 | } | 54 | } |
55 | 55 | ||
56 | #define slb_vsid_shift(ssize) \ | 56 | #define slb_vsid_shift(ssize) \ |
@@ -279,8 +279,8 @@ void slb_initialize(void) | |||
279 | patch_slb_encoding(slb_compare_rr_to_size, | 279 | patch_slb_encoding(slb_compare_rr_to_size, |
280 | mmu_slb_size); | 280 | mmu_slb_size); |
281 | 281 | ||
282 | DBG("SLB: linear LLP = %04x\n", linear_llp); | 282 | DBG("SLB: linear LLP = %04lx\n", linear_llp); |
283 | DBG("SLB: io LLP = %04x\n", io_llp); | 283 | DBG("SLB: io LLP = %04lx\n", io_llp); |
284 | } | 284 | } |
285 | 285 | ||
286 | get_paca()->stab_rr = SLB_NUM_BOLTED; | 286 | get_paca()->stab_rr = SLB_NUM_BOLTED; |
@@ -301,11 +301,16 @@ void slb_initialize(void) | |||
301 | 301 | ||
302 | create_shadowed_slbe(VMALLOC_START, mmu_kernel_ssize, vflags, 1); | 302 | create_shadowed_slbe(VMALLOC_START, mmu_kernel_ssize, vflags, 1); |
303 | 303 | ||
304 | /* For the boot cpu, we're running on the stack in init_thread_union, | ||
305 | * which is in the first segment of the linear mapping, and also | ||
306 | * get_paca()->kstack hasn't been initialized yet. | ||
307 | * For secondary cpus, we need to bolt the kernel stack entry now. | ||
308 | */ | ||
304 | slb_shadow_clear(2); | 309 | slb_shadow_clear(2); |
310 | if (raw_smp_processor_id() != boot_cpuid && | ||
311 | (get_paca()->kstack & slb_esid_mask(mmu_kernel_ssize)) > PAGE_OFFSET) | ||
312 | create_shadowed_slbe(get_paca()->kstack, | ||
313 | mmu_kernel_ssize, lflags, 2); | ||
305 | 314 | ||
306 | /* We don't bolt the stack for the time being - we're in boot, | ||
307 | * so the stack is in the bolted segment. By the time it goes | ||
308 | * elsewhere, we'll call _switch() which will bolt in the new | ||
309 | * one. */ | ||
310 | asm volatile("isync":::"memory"); | 315 | asm volatile("isync":::"memory"); |
311 | } | 316 | } |
diff --git a/arch/powerpc/platforms/ps3/interrupt.c b/arch/powerpc/platforms/ps3/interrupt.c index a14e5cdc2fed..e59634f7af96 100644 --- a/arch/powerpc/platforms/ps3/interrupt.c +++ b/arch/powerpc/platforms/ps3/interrupt.c | |||
@@ -167,8 +167,8 @@ static struct irq_chip ps3_irq_chip = { | |||
167 | * ps3_private data. | 167 | * ps3_private data. |
168 | */ | 168 | */ |
169 | 169 | ||
170 | int ps3_virq_setup(enum ps3_cpu_binding cpu, unsigned long outlet, | 170 | static int ps3_virq_setup(enum ps3_cpu_binding cpu, unsigned long outlet, |
171 | unsigned int *virq) | 171 | unsigned int *virq) |
172 | { | 172 | { |
173 | int result; | 173 | int result; |
174 | struct ps3_private *pd; | 174 | struct ps3_private *pd; |
@@ -217,7 +217,7 @@ fail_create: | |||
217 | * Clears chip data and calls irq_dispose_mapping() for the virq. | 217 | * Clears chip data and calls irq_dispose_mapping() for the virq. |
218 | */ | 218 | */ |
219 | 219 | ||
220 | int ps3_virq_destroy(unsigned int virq) | 220 | static int ps3_virq_destroy(unsigned int virq) |
221 | { | 221 | { |
222 | const struct ps3_private *pd = get_irq_chip_data(virq); | 222 | const struct ps3_private *pd = get_irq_chip_data(virq); |
223 | 223 | ||
diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c index 3d920376f58e..a0fa4ebb39c6 100644 --- a/arch/powerpc/sysdev/fsl_rio.c +++ b/arch/powerpc/sysdev/fsl_rio.c | |||
@@ -176,6 +176,7 @@ struct rio_priv { | |||
176 | 176 | ||
177 | /** | 177 | /** |
178 | * fsl_rio_doorbell_send - Send a MPC85xx doorbell message | 178 | * fsl_rio_doorbell_send - Send a MPC85xx doorbell message |
179 | * @mport: RapidIO master port info | ||
179 | * @index: ID of RapidIO interface | 180 | * @index: ID of RapidIO interface |
180 | * @destid: Destination ID of target device | 181 | * @destid: Destination ID of target device |
181 | * @data: 16-bit info field of RapidIO doorbell message | 182 | * @data: 16-bit info field of RapidIO doorbell message |
@@ -211,6 +212,7 @@ static int fsl_rio_doorbell_send(struct rio_mport *mport, | |||
211 | 212 | ||
212 | /** | 213 | /** |
213 | * fsl_local_config_read - Generate a MPC85xx local config space read | 214 | * fsl_local_config_read - Generate a MPC85xx local config space read |
215 | * @mport: RapidIO master port info | ||
214 | * @index: ID of RapdiIO interface | 216 | * @index: ID of RapdiIO interface |
215 | * @offset: Offset into configuration space | 217 | * @offset: Offset into configuration space |
216 | * @len: Length (in bytes) of the maintenance transaction | 218 | * @len: Length (in bytes) of the maintenance transaction |
@@ -232,6 +234,7 @@ static int fsl_local_config_read(struct rio_mport *mport, | |||
232 | 234 | ||
233 | /** | 235 | /** |
234 | * fsl_local_config_write - Generate a MPC85xx local config space write | 236 | * fsl_local_config_write - Generate a MPC85xx local config space write |
237 | * @mport: RapidIO master port info | ||
235 | * @index: ID of RapdiIO interface | 238 | * @index: ID of RapdiIO interface |
236 | * @offset: Offset into configuration space | 239 | * @offset: Offset into configuration space |
237 | * @len: Length (in bytes) of the maintenance transaction | 240 | * @len: Length (in bytes) of the maintenance transaction |
@@ -254,6 +257,7 @@ static int fsl_local_config_write(struct rio_mport *mport, | |||
254 | 257 | ||
255 | /** | 258 | /** |
256 | * fsl_rio_config_read - Generate a MPC85xx read maintenance transaction | 259 | * fsl_rio_config_read - Generate a MPC85xx read maintenance transaction |
260 | * @mport: RapidIO master port info | ||
257 | * @index: ID of RapdiIO interface | 261 | * @index: ID of RapdiIO interface |
258 | * @destid: Destination ID of transaction | 262 | * @destid: Destination ID of transaction |
259 | * @hopcount: Number of hops to target device | 263 | * @hopcount: Number of hops to target device |
@@ -295,6 +299,7 @@ fsl_rio_config_read(struct rio_mport *mport, int index, u16 destid, | |||
295 | 299 | ||
296 | /** | 300 | /** |
297 | * fsl_rio_config_write - Generate a MPC85xx write maintenance transaction | 301 | * fsl_rio_config_write - Generate a MPC85xx write maintenance transaction |
302 | * @mport: RapidIO master port info | ||
298 | * @index: ID of RapdiIO interface | 303 | * @index: ID of RapdiIO interface |
299 | * @destid: Destination ID of transaction | 304 | * @destid: Destination ID of transaction |
300 | * @hopcount: Number of hops to target device | 305 | * @hopcount: Number of hops to target device |
@@ -985,8 +990,8 @@ static inline void fsl_rio_info(struct device *dev, u32 ccsr) | |||
985 | } | 990 | } |
986 | 991 | ||
987 | /** | 992 | /** |
988 | * fsl_rio_setup - Setup MPC85xx RapidIO interface | 993 | * fsl_rio_setup - Setup Freescale PowerPC RapidIO interface |
989 | * @fsl_rio_setup - Setup Freescale PowerPC RapidIO interface | 994 | * @dev: of_device pointer |
990 | * | 995 | * |
991 | * Initializes MPC85xx RapidIO hardware interface, configures | 996 | * Initializes MPC85xx RapidIO hardware interface, configures |
992 | * master port with system-specific info, and registers the | 997 | * master port with system-specific info, and registers the |
diff --git a/arch/powerpc/sysdev/fsl_soc.c b/arch/powerpc/sysdev/fsl_soc.c index 324c01b70ddd..3a7054e2bb75 100644 --- a/arch/powerpc/sysdev/fsl_soc.c +++ b/arch/powerpc/sysdev/fsl_soc.c | |||
@@ -389,8 +389,8 @@ static int __init gfar_of_init(void) | |||
389 | } | 389 | } |
390 | 390 | ||
391 | gfar_data.phy_id = *id; | 391 | gfar_data.phy_id = *id; |
392 | snprintf(gfar_data.bus_id, MII_BUS_ID_SIZE, "%x", | 392 | snprintf(gfar_data.bus_id, MII_BUS_ID_SIZE, "%llx", |
393 | res.start); | 393 | (unsigned long long)res.start); |
394 | 394 | ||
395 | of_node_put(phy); | 395 | of_node_put(phy); |
396 | of_node_put(mdio); | 396 | of_node_put(mdio); |
diff --git a/arch/powerpc/sysdev/xilinx_intc.c b/arch/powerpc/sysdev/xilinx_intc.c index ba8eea2bcce0..b7aefd0d45cb 100644 --- a/arch/powerpc/sysdev/xilinx_intc.c +++ b/arch/powerpc/sysdev/xilinx_intc.c | |||
@@ -107,7 +107,7 @@ xilinx_intc_init(struct device_node *np) | |||
107 | } | 107 | } |
108 | regs = ioremap(res.start, 32); | 108 | regs = ioremap(res.start, 32); |
109 | 109 | ||
110 | printk(KERN_INFO "Xilinx intc at 0x%08X mapped to 0x%p\n", | 110 | printk(KERN_INFO "Xilinx intc at 0x%08LX mapped to 0x%p\n", |
111 | res.start, regs); | 111 | res.start, regs); |
112 | 112 | ||
113 | /* Setup interrupt controller */ | 113 | /* Setup interrupt controller */ |
diff --git a/drivers/char/xilinx_hwicap/xilinx_hwicap.c b/drivers/char/xilinx_hwicap/xilinx_hwicap.c index dfe6907ae15b..3edf1fc12963 100644 --- a/drivers/char/xilinx_hwicap/xilinx_hwicap.c +++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.c | |||
@@ -623,8 +623,8 @@ static int __devinit hwicap_setup(struct device *dev, int id, | |||
623 | 623 | ||
624 | if (!request_mem_region(drvdata->mem_start, | 624 | if (!request_mem_region(drvdata->mem_start, |
625 | drvdata->mem_size, DRIVER_NAME)) { | 625 | drvdata->mem_size, DRIVER_NAME)) { |
626 | dev_err(dev, "Couldn't lock memory region at %p\n", | 626 | dev_err(dev, "Couldn't lock memory region at %Lx\n", |
627 | (void *)regs_res->start); | 627 | regs_res->start); |
628 | retval = -EBUSY; | 628 | retval = -EBUSY; |
629 | goto failed1; | 629 | goto failed1; |
630 | } | 630 | } |
@@ -643,7 +643,7 @@ static int __devinit hwicap_setup(struct device *dev, int id, | |||
643 | mutex_init(&drvdata->sem); | 643 | mutex_init(&drvdata->sem); |
644 | drvdata->is_open = 0; | 644 | drvdata->is_open = 0; |
645 | 645 | ||
646 | dev_info(dev, "ioremap %lx to %p with size %x\n", | 646 | dev_info(dev, "ioremap %lx to %p with size %Lx\n", |
647 | (unsigned long int)drvdata->mem_start, | 647 | (unsigned long int)drvdata->mem_start, |
648 | drvdata->base_address, drvdata->mem_size); | 648 | drvdata->base_address, drvdata->mem_size); |
649 | 649 | ||
diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c index d21b7ab64bd1..5f9c42e7a7f1 100644 --- a/drivers/net/fec_mpc52xx.c +++ b/drivers/net/fec_mpc52xx.c | |||
@@ -43,6 +43,29 @@ | |||
43 | 43 | ||
44 | #define DRIVER_NAME "mpc52xx-fec" | 44 | #define DRIVER_NAME "mpc52xx-fec" |
45 | 45 | ||
46 | #define FEC5200_PHYADDR_NONE (-1) | ||
47 | #define FEC5200_PHYADDR_7WIRE (-2) | ||
48 | |||
49 | /* Private driver data structure */ | ||
50 | struct mpc52xx_fec_priv { | ||
51 | int duplex; | ||
52 | int speed; | ||
53 | int r_irq; | ||
54 | int t_irq; | ||
55 | struct mpc52xx_fec __iomem *fec; | ||
56 | struct bcom_task *rx_dmatsk; | ||
57 | struct bcom_task *tx_dmatsk; | ||
58 | spinlock_t lock; | ||
59 | int msg_enable; | ||
60 | |||
61 | /* MDIO link details */ | ||
62 | int phy_addr; | ||
63 | unsigned int phy_speed; | ||
64 | struct phy_device *phydev; | ||
65 | enum phy_state link; | ||
66 | }; | ||
67 | |||
68 | |||
46 | static irqreturn_t mpc52xx_fec_interrupt(int, void *); | 69 | static irqreturn_t mpc52xx_fec_interrupt(int, void *); |
47 | static irqreturn_t mpc52xx_fec_rx_interrupt(int, void *); | 70 | static irqreturn_t mpc52xx_fec_rx_interrupt(int, void *); |
48 | static irqreturn_t mpc52xx_fec_tx_interrupt(int, void *); | 71 | static irqreturn_t mpc52xx_fec_tx_interrupt(int, void *); |
@@ -223,7 +246,7 @@ static int mpc52xx_fec_phy_start(struct net_device *dev) | |||
223 | struct mpc52xx_fec_priv *priv = netdev_priv(dev); | 246 | struct mpc52xx_fec_priv *priv = netdev_priv(dev); |
224 | int err; | 247 | int err; |
225 | 248 | ||
226 | if (!priv->has_phy) | 249 | if (priv->phy_addr < 0) |
227 | return 0; | 250 | return 0; |
228 | 251 | ||
229 | err = mpc52xx_fec_init_phy(dev); | 252 | err = mpc52xx_fec_init_phy(dev); |
@@ -243,7 +266,7 @@ static void mpc52xx_fec_phy_stop(struct net_device *dev) | |||
243 | { | 266 | { |
244 | struct mpc52xx_fec_priv *priv = netdev_priv(dev); | 267 | struct mpc52xx_fec_priv *priv = netdev_priv(dev); |
245 | 268 | ||
246 | if (!priv->has_phy) | 269 | if (!priv->phydev) |
247 | return; | 270 | return; |
248 | 271 | ||
249 | phy_disconnect(priv->phydev); | 272 | phy_disconnect(priv->phydev); |
@@ -255,7 +278,7 @@ static void mpc52xx_fec_phy_stop(struct net_device *dev) | |||
255 | static int mpc52xx_fec_phy_mii_ioctl(struct mpc52xx_fec_priv *priv, | 278 | static int mpc52xx_fec_phy_mii_ioctl(struct mpc52xx_fec_priv *priv, |
256 | struct mii_ioctl_data *mii_data, int cmd) | 279 | struct mii_ioctl_data *mii_data, int cmd) |
257 | { | 280 | { |
258 | if (!priv->has_phy) | 281 | if (!priv->phydev) |
259 | return -ENOTSUPP; | 282 | return -ENOTSUPP; |
260 | 283 | ||
261 | return phy_mii_ioctl(priv->phydev, mii_data, cmd); | 284 | return phy_mii_ioctl(priv->phydev, mii_data, cmd); |
@@ -265,7 +288,7 @@ static void mpc52xx_fec_phy_hw_init(struct mpc52xx_fec_priv *priv) | |||
265 | { | 288 | { |
266 | struct mpc52xx_fec __iomem *fec = priv->fec; | 289 | struct mpc52xx_fec __iomem *fec = priv->fec; |
267 | 290 | ||
268 | if (!priv->has_phy) | 291 | if (priv->phydev) |
269 | return; | 292 | return; |
270 | 293 | ||
271 | out_be32(&fec->mii_speed, priv->phy_speed); | 294 | out_be32(&fec->mii_speed, priv->phy_speed); |
@@ -704,7 +727,7 @@ static void mpc52xx_fec_start(struct net_device *dev) | |||
704 | rcntrl = FEC_RX_BUFFER_SIZE << 16; /* max frame length */ | 727 | rcntrl = FEC_RX_BUFFER_SIZE << 16; /* max frame length */ |
705 | rcntrl |= FEC_RCNTRL_FCE; | 728 | rcntrl |= FEC_RCNTRL_FCE; |
706 | 729 | ||
707 | if (priv->has_phy) | 730 | if (priv->phy_addr != FEC5200_PHYADDR_7WIRE) |
708 | rcntrl |= FEC_RCNTRL_MII_MODE; | 731 | rcntrl |= FEC_RCNTRL_MII_MODE; |
709 | 732 | ||
710 | if (priv->duplex == DUPLEX_FULL) | 733 | if (priv->duplex == DUPLEX_FULL) |
@@ -864,7 +887,10 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match) | |||
864 | struct net_device *ndev; | 887 | struct net_device *ndev; |
865 | struct mpc52xx_fec_priv *priv = NULL; | 888 | struct mpc52xx_fec_priv *priv = NULL; |
866 | struct resource mem; | 889 | struct resource mem; |
867 | const phandle *ph; | 890 | struct device_node *phy_node; |
891 | const phandle *phy_handle; | ||
892 | const u32 *prop; | ||
893 | int prop_size; | ||
868 | 894 | ||
869 | phys_addr_t rx_fifo; | 895 | phys_addr_t rx_fifo; |
870 | phys_addr_t tx_fifo; | 896 | phys_addr_t tx_fifo; |
@@ -948,26 +974,37 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match) | |||
948 | mpc52xx_fec_get_paddr(ndev, ndev->dev_addr); | 974 | mpc52xx_fec_get_paddr(ndev, ndev->dev_addr); |
949 | 975 | ||
950 | priv->msg_enable = netif_msg_init(debug, MPC52xx_MESSAGES_DEFAULT); | 976 | priv->msg_enable = netif_msg_init(debug, MPC52xx_MESSAGES_DEFAULT); |
951 | priv->duplex = DUPLEX_FULL; | ||
952 | |||
953 | /* is the phy present in device tree? */ | ||
954 | ph = of_get_property(op->node, "phy-handle", NULL); | ||
955 | if (ph) { | ||
956 | const unsigned int *prop; | ||
957 | struct device_node *phy_dn; | ||
958 | priv->has_phy = 1; | ||
959 | 977 | ||
960 | phy_dn = of_find_node_by_phandle(*ph); | 978 | /* |
961 | prop = of_get_property(phy_dn, "reg", NULL); | 979 | * Link mode configuration |
962 | priv->phy_addr = *prop; | 980 | */ |
963 | 981 | ||
964 | of_node_put(phy_dn); | 982 | /* Start with safe defaults for link connection */ |
983 | priv->phy_addr = FEC5200_PHYADDR_NONE; | ||
984 | priv->speed = 100; | ||
985 | priv->duplex = DUPLEX_HALF; | ||
986 | priv->phy_speed = ((mpc52xx_find_ipb_freq(op->node) >> 20) / 5) << 1; | ||
987 | |||
988 | /* the 7-wire property means don't use MII mode */ | ||
989 | if (of_find_property(op->node, "fsl,7-wire-mode", NULL)) | ||
990 | priv->phy_addr = FEC5200_PHYADDR_7WIRE; | ||
991 | |||
992 | /* The current speed preconfigures the speed of the MII link */ | ||
993 | prop = of_get_property(op->node, "current-speed", &prop_size); | ||
994 | if (prop && (prop_size >= sizeof(u32) * 2)) { | ||
995 | priv->speed = prop[0]; | ||
996 | priv->duplex = prop[1] ? DUPLEX_FULL : DUPLEX_HALF; | ||
997 | } | ||
965 | 998 | ||
966 | /* Phy speed */ | 999 | /* If there is a phy handle, setup link to that phy */ |
967 | priv->phy_speed = ((mpc52xx_find_ipb_freq(op->node) >> 20) / 5) << 1; | 1000 | phy_handle = of_get_property(op->node, "phy-handle", &prop_size); |
968 | } else { | 1001 | if (phy_handle && (prop_size >= sizeof(phandle))) { |
969 | dev_info(&ndev->dev, "can't find \"phy-handle\" in device" | 1002 | phy_node = of_find_node_by_phandle(*phy_handle); |
970 | " tree, using 7-wire mode\n"); | 1003 | prop = of_get_property(phy_node, "reg", &prop_size); |
1004 | if (prop && (prop_size >= sizeof(u32))) | ||
1005 | if ((*prop >= 0) && (*prop < PHY_MAX_ADDR)) | ||
1006 | priv->phy_addr = *prop; | ||
1007 | of_node_put(phy_node); | ||
971 | } | 1008 | } |
972 | 1009 | ||
973 | /* Hardware init */ | 1010 | /* Hardware init */ |
@@ -982,6 +1019,20 @@ mpc52xx_fec_probe(struct of_device *op, const struct of_device_id *match) | |||
982 | if (rv < 0) | 1019 | if (rv < 0) |
983 | goto probe_error; | 1020 | goto probe_error; |
984 | 1021 | ||
1022 | /* Now report the link setup */ | ||
1023 | switch (priv->phy_addr) { | ||
1024 | case FEC5200_PHYADDR_NONE: | ||
1025 | dev_info(&ndev->dev, "Fixed speed MII link: %i%cD\n", | ||
1026 | priv->speed, priv->duplex ? 'F' : 'H'); | ||
1027 | break; | ||
1028 | case FEC5200_PHYADDR_7WIRE: | ||
1029 | dev_info(&ndev->dev, "using 7-wire PHY mode\n"); | ||
1030 | break; | ||
1031 | default: | ||
1032 | dev_info(&ndev->dev, "Using PHY at MDIO address %i\n", | ||
1033 | priv->phy_addr); | ||
1034 | } | ||
1035 | |||
985 | /* We're done ! */ | 1036 | /* We're done ! */ |
986 | dev_set_drvdata(&op->dev, ndev); | 1037 | dev_set_drvdata(&op->dev, ndev); |
987 | 1038 | ||
diff --git a/drivers/net/fec_mpc52xx.h b/drivers/net/fec_mpc52xx.h index 8b1f75397b9a..a227a525bdbb 100644 --- a/drivers/net/fec_mpc52xx.h +++ b/drivers/net/fec_mpc52xx.h | |||
@@ -26,25 +26,6 @@ | |||
26 | 26 | ||
27 | #define FEC_WATCHDOG_TIMEOUT ((400*HZ)/1000) | 27 | #define FEC_WATCHDOG_TIMEOUT ((400*HZ)/1000) |
28 | 28 | ||
29 | struct mpc52xx_fec_priv { | ||
30 | int duplex; | ||
31 | int r_irq; | ||
32 | int t_irq; | ||
33 | struct mpc52xx_fec __iomem *fec; | ||
34 | struct bcom_task *rx_dmatsk; | ||
35 | struct bcom_task *tx_dmatsk; | ||
36 | spinlock_t lock; | ||
37 | int msg_enable; | ||
38 | |||
39 | int has_phy; | ||
40 | unsigned int phy_speed; | ||
41 | unsigned int phy_addr; | ||
42 | struct phy_device *phydev; | ||
43 | enum phy_state link; | ||
44 | int speed; | ||
45 | }; | ||
46 | |||
47 | |||
48 | /* ======================================================================== */ | 29 | /* ======================================================================== */ |
49 | /* Hardware register sets & bits */ | 30 | /* Hardware register sets & bits */ |
50 | /* ======================================================================== */ | 31 | /* ======================================================================== */ |
diff --git a/drivers/ps3/ps3-lpm.c b/drivers/ps3/ps3-lpm.c index 6c9592ce4996..85edf945ab86 100644 --- a/drivers/ps3/ps3-lpm.c +++ b/drivers/ps3/ps3-lpm.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
24 | #include <linux/uaccess.h> | 24 | #include <linux/uaccess.h> |
25 | #include <asm/time.h> | ||
25 | #include <asm/ps3.h> | 26 | #include <asm/ps3.h> |
26 | #include <asm/lv1call.h> | 27 | #include <asm/lv1call.h> |
27 | #include <asm/cell-pmu.h> | 28 | #include <asm/cell-pmu.h> |
diff --git a/drivers/ps3/ps3-sys-manager.c b/drivers/ps3/ps3-sys-manager.c index 7605453b74fd..f17513dd9d4b 100644 --- a/drivers/ps3/ps3-sys-manager.c +++ b/drivers/ps3/ps3-sys-manager.c | |||
@@ -184,10 +184,7 @@ enum ps3_sys_manager_next_op { | |||
184 | 184 | ||
185 | /** | 185 | /** |
186 | * enum ps3_sys_manager_wake_source - Next-op wakeup source (bit position mask). | 186 | * enum ps3_sys_manager_wake_source - Next-op wakeup source (bit position mask). |
187 | * @PS3_SM_WAKE_DEFAULT: Disk insert, power button, eject button, IR | 187 | * @PS3_SM_WAKE_DEFAULT: Disk insert, power button, eject button. |
188 | * controller, and bluetooth controller. | ||
189 | * @PS3_SM_WAKE_RTC: | ||
190 | * @PS3_SM_WAKE_RTC_ERROR: | ||
191 | * @PS3_SM_WAKE_W_O_L: Ether or wireless LAN. | 188 | * @PS3_SM_WAKE_W_O_L: Ether or wireless LAN. |
192 | * @PS3_SM_WAKE_P_O_R: Power on reset. | 189 | * @PS3_SM_WAKE_P_O_R: Power on reset. |
193 | * | 190 | * |
@@ -200,8 +197,6 @@ enum ps3_sys_manager_next_op { | |||
200 | enum ps3_sys_manager_wake_source { | 197 | enum ps3_sys_manager_wake_source { |
201 | /* version 3 */ | 198 | /* version 3 */ |
202 | PS3_SM_WAKE_DEFAULT = 0, | 199 | PS3_SM_WAKE_DEFAULT = 0, |
203 | PS3_SM_WAKE_RTC = 0x00000040, | ||
204 | PS3_SM_WAKE_RTC_ERROR = 0x00000080, | ||
205 | PS3_SM_WAKE_W_O_L = 0x00000400, | 200 | PS3_SM_WAKE_W_O_L = 0x00000400, |
206 | PS3_SM_WAKE_P_O_R = 0x80000000, | 201 | PS3_SM_WAKE_P_O_R = 0x80000000, |
207 | }; | 202 | }; |
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c index 7a3625f52a03..efc971d9647b 100644 --- a/drivers/serial/mpc52xx_uart.c +++ b/drivers/serial/mpc52xx_uart.c | |||
@@ -783,7 +783,9 @@ mpc52xx_uart_int_rx_chars(struct uart_port *port) | |||
783 | } | 783 | } |
784 | } | 784 | } |
785 | 785 | ||
786 | spin_unlock(&port->lock); | ||
786 | tty_flip_buffer_push(tty); | 787 | tty_flip_buffer_push(tty); |
788 | spin_lock(&port->lock); | ||
787 | 789 | ||
788 | return psc_ops->raw_rx_rdy(port); | 790 | return psc_ops->raw_rx_rdy(port); |
789 | } | 791 | } |
diff --git a/include/asm-powerpc/ps3.h b/include/asm-powerpc/ps3.h index 9e8ed6824e15..81ffe3b3c1ce 100644 --- a/include/asm-powerpc/ps3.h +++ b/include/asm-powerpc/ps3.h | |||
@@ -178,9 +178,6 @@ enum ps3_cpu_binding { | |||
178 | PS3_BINDING_CPU_1 = 1, | 178 | PS3_BINDING_CPU_1 = 1, |
179 | }; | 179 | }; |
180 | 180 | ||
181 | int ps3_virq_setup(enum ps3_cpu_binding cpu, unsigned long outlet, | ||
182 | unsigned int *virq); | ||
183 | int ps3_virq_destroy(unsigned int virq); | ||
184 | int ps3_irq_plug_setup(enum ps3_cpu_binding cpu, unsigned long outlet, | 181 | int ps3_irq_plug_setup(enum ps3_cpu_binding cpu, unsigned long outlet, |
185 | unsigned int *virq); | 182 | unsigned int *virq); |
186 | int ps3_irq_plug_destroy(unsigned int virq); | 183 | int ps3_irq_plug_destroy(unsigned int virq); |
diff --git a/include/linux/rio.h b/include/linux/rio.h index c1c99c9643d3..dc0c75556c63 100644 --- a/include/linux/rio.h +++ b/include/linux/rio.h | |||
@@ -161,6 +161,8 @@ enum rio_phy_type { | |||
161 | * @ops: configuration space functions | 161 | * @ops: configuration space functions |
162 | * @id: Port ID, unique among all ports | 162 | * @id: Port ID, unique among all ports |
163 | * @index: Port index, unique among all port interfaces of the same type | 163 | * @index: Port index, unique among all port interfaces of the same type |
164 | * @sys_size: RapidIO common transport system size | ||
165 | * @phy_type: RapidIO phy type | ||
164 | * @name: Port name string | 166 | * @name: Port name string |
165 | * @priv: Master port private data | 167 | * @priv: Master port private data |
166 | */ | 168 | */ |