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 | */ |
