diff options
Diffstat (limited to 'arch/sparc')
34 files changed, 131 insertions, 38 deletions
| diff --git a/arch/sparc/configs/sparc64_defconfig b/arch/sparc/configs/sparc64_defconfig index 56e3163673e3..259e3fd50993 100644 --- a/arch/sparc/configs/sparc64_defconfig +++ b/arch/sparc/configs/sparc64_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.33 | 3 | # Linux kernel version: 2.6.34-rc3 | 
| 4 | # Wed Mar 3 02:54:29 2010 | 4 | # Sat Apr 3 15:49:56 2010 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_64BIT=y | 6 | CONFIG_64BIT=y | 
| 7 | CONFIG_SPARC=y | 7 | CONFIG_SPARC=y | 
| @@ -23,6 +23,7 @@ CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y | |||
| 23 | CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y | 23 | CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y | 
| 24 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 24 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 
| 25 | CONFIG_MMU=y | 25 | CONFIG_MMU=y | 
| 26 | CONFIG_NEED_DMA_MAP_STATE=y | ||
| 26 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 27 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 
| 27 | CONFIG_OF=y | 28 | CONFIG_OF=y | 
| 28 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 29 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | 
| @@ -439,6 +440,7 @@ CONFIG_MISC_DEVICES=y | |||
| 439 | # CONFIG_ENCLOSURE_SERVICES is not set | 440 | # CONFIG_ENCLOSURE_SERVICES is not set | 
| 440 | # CONFIG_HP_ILO is not set | 441 | # CONFIG_HP_ILO is not set | 
| 441 | # CONFIG_ISL29003 is not set | 442 | # CONFIG_ISL29003 is not set | 
| 443 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 442 | # CONFIG_DS1682 is not set | 444 | # CONFIG_DS1682 is not set | 
| 443 | # CONFIG_C2PORT is not set | 445 | # CONFIG_C2PORT is not set | 
| 444 | 446 | ||
| @@ -511,6 +513,7 @@ CONFIG_BLK_DEV_IDEDMA=y | |||
| 511 | # | 513 | # | 
| 512 | # SCSI device support | 514 | # SCSI device support | 
| 513 | # | 515 | # | 
| 516 | CONFIG_SCSI_MOD=y | ||
| 514 | CONFIG_RAID_ATTRS=m | 517 | CONFIG_RAID_ATTRS=m | 
| 515 | CONFIG_SCSI=y | 518 | CONFIG_SCSI=y | 
| 516 | CONFIG_SCSI_DMA=y | 519 | CONFIG_SCSI_DMA=y | 
| @@ -888,6 +891,7 @@ CONFIG_SERIAL_SUNHV=y | |||
| 888 | CONFIG_SERIAL_CORE=y | 891 | CONFIG_SERIAL_CORE=y | 
| 889 | CONFIG_SERIAL_CORE_CONSOLE=y | 892 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 890 | # CONFIG_SERIAL_JSM is not set | 893 | # CONFIG_SERIAL_JSM is not set | 
| 894 | # CONFIG_SERIAL_TIMBERDALE is not set | ||
| 891 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 895 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | 
| 892 | CONFIG_UNIX98_PTYS=y | 896 | CONFIG_UNIX98_PTYS=y | 
| 893 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 897 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 
| @@ -935,6 +939,7 @@ CONFIG_I2C_ALGOBIT=y | |||
| 935 | # | 939 | # | 
| 936 | # CONFIG_I2C_OCORES is not set | 940 | # CONFIG_I2C_OCORES is not set | 
| 937 | # CONFIG_I2C_SIMTEC is not set | 941 | # CONFIG_I2C_SIMTEC is not set | 
| 942 | # CONFIG_I2C_XILINX is not set | ||
| 938 | 943 | ||
| 939 | # | 944 | # | 
| 940 | # External I2C/SMBus adapter drivers | 945 | # External I2C/SMBus adapter drivers | 
| @@ -948,15 +953,9 @@ CONFIG_I2C_ALGOBIT=y | |||
| 948 | # | 953 | # | 
| 949 | # CONFIG_I2C_PCA_PLATFORM is not set | 954 | # CONFIG_I2C_PCA_PLATFORM is not set | 
| 950 | # CONFIG_I2C_STUB is not set | 955 | # CONFIG_I2C_STUB is not set | 
| 951 | |||
| 952 | # | ||
| 953 | # Miscellaneous I2C Chip support | ||
| 954 | # | ||
| 955 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 956 | # CONFIG_I2C_DEBUG_CORE is not set | 956 | # CONFIG_I2C_DEBUG_CORE is not set | 
| 957 | # CONFIG_I2C_DEBUG_ALGO is not set | 957 | # CONFIG_I2C_DEBUG_ALGO is not set | 
| 958 | # CONFIG_I2C_DEBUG_BUS is not set | 958 | # CONFIG_I2C_DEBUG_BUS is not set | 
| 959 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 960 | # CONFIG_SPI is not set | 959 | # CONFIG_SPI is not set | 
| 961 | 960 | ||
| 962 | # | 961 | # | 
| @@ -982,10 +981,11 @@ CONFIG_HWMON=y | |||
| 982 | # CONFIG_SENSORS_ADM1029 is not set | 981 | # CONFIG_SENSORS_ADM1029 is not set | 
| 983 | # CONFIG_SENSORS_ADM1031 is not set | 982 | # CONFIG_SENSORS_ADM1031 is not set | 
| 984 | # CONFIG_SENSORS_ADM9240 is not set | 983 | # CONFIG_SENSORS_ADM9240 is not set | 
| 984 | # CONFIG_SENSORS_ADT7411 is not set | ||
| 985 | # CONFIG_SENSORS_ADT7462 is not set | 985 | # CONFIG_SENSORS_ADT7462 is not set | 
| 986 | # CONFIG_SENSORS_ADT7470 is not set | 986 | # CONFIG_SENSORS_ADT7470 is not set | 
| 987 | # CONFIG_SENSORS_ADT7473 is not set | ||
| 988 | # CONFIG_SENSORS_ADT7475 is not set | 987 | # CONFIG_SENSORS_ADT7475 is not set | 
| 988 | # CONFIG_SENSORS_ASC7621 is not set | ||
| 989 | # CONFIG_SENSORS_ATXP1 is not set | 989 | # CONFIG_SENSORS_ATXP1 is not set | 
| 990 | # CONFIG_SENSORS_DS1621 is not set | 990 | # CONFIG_SENSORS_DS1621 is not set | 
| 991 | # CONFIG_SENSORS_I5K_AMB is not set | 991 | # CONFIG_SENSORS_I5K_AMB is not set | 
| @@ -1052,18 +1052,21 @@ CONFIG_SSB_POSSIBLE=y | |||
| 1052 | # Multifunction device drivers | 1052 | # Multifunction device drivers | 
| 1053 | # | 1053 | # | 
| 1054 | # CONFIG_MFD_CORE is not set | 1054 | # CONFIG_MFD_CORE is not set | 
| 1055 | # CONFIG_MFD_88PM860X is not set | ||
| 1055 | # CONFIG_MFD_SM501 is not set | 1056 | # CONFIG_MFD_SM501 is not set | 
| 1056 | # CONFIG_HTC_PASIC3 is not set | 1057 | # CONFIG_HTC_PASIC3 is not set | 
| 1057 | # CONFIG_TWL4030_CORE is not set | 1058 | # CONFIG_TWL4030_CORE is not set | 
| 1058 | # CONFIG_MFD_TMIO is not set | 1059 | # CONFIG_MFD_TMIO is not set | 
| 1059 | # CONFIG_PMIC_DA903X is not set | 1060 | # CONFIG_PMIC_DA903X is not set | 
| 1060 | # CONFIG_PMIC_ADP5520 is not set | 1061 | # CONFIG_PMIC_ADP5520 is not set | 
| 1062 | # CONFIG_MFD_MAX8925 is not set | ||
| 1061 | # CONFIG_MFD_WM8400 is not set | 1063 | # CONFIG_MFD_WM8400 is not set | 
| 1062 | # CONFIG_MFD_WM831X is not set | 1064 | # CONFIG_MFD_WM831X is not set | 
| 1063 | # CONFIG_MFD_WM8350_I2C is not set | 1065 | # CONFIG_MFD_WM8350_I2C is not set | 
| 1066 | # CONFIG_MFD_WM8994 is not set | ||
| 1064 | # CONFIG_MFD_PCF50633 is not set | 1067 | # CONFIG_MFD_PCF50633 is not set | 
| 1065 | # CONFIG_AB3100_CORE is not set | 1068 | # CONFIG_AB3100_CORE is not set | 
| 1066 | # CONFIG_MFD_88PM8607 is not set | 1069 | # CONFIG_LPC_SCH is not set | 
| 1067 | # CONFIG_REGULATOR is not set | 1070 | # CONFIG_REGULATOR is not set | 
| 1068 | # CONFIG_MEDIA_SUPPORT is not set | 1071 | # CONFIG_MEDIA_SUPPORT is not set | 
| 1069 | 1072 | ||
| @@ -1113,6 +1116,7 @@ CONFIG_FB_FFB=y | |||
| 1113 | # CONFIG_FB_LEO is not set | 1116 | # CONFIG_FB_LEO is not set | 
| 1114 | CONFIG_FB_XVR500=y | 1117 | CONFIG_FB_XVR500=y | 
| 1115 | CONFIG_FB_XVR2500=y | 1118 | CONFIG_FB_XVR2500=y | 
| 1119 | CONFIG_FB_XVR1000=y | ||
| 1116 | # CONFIG_FB_S1D13XXX is not set | 1120 | # CONFIG_FB_S1D13XXX is not set | 
| 1117 | # CONFIG_FB_NVIDIA is not set | 1121 | # CONFIG_FB_NVIDIA is not set | 
| 1118 | # CONFIG_FB_RIVA is not set | 1122 | # CONFIG_FB_RIVA is not set | 
| @@ -1430,7 +1434,6 @@ CONFIG_USB_STORAGE=m | |||
| 1430 | # CONFIG_USB_RIO500 is not set | 1434 | # CONFIG_USB_RIO500 is not set | 
| 1431 | # CONFIG_USB_LEGOTOWER is not set | 1435 | # CONFIG_USB_LEGOTOWER is not set | 
| 1432 | # CONFIG_USB_LCD is not set | 1436 | # CONFIG_USB_LCD is not set | 
| 1433 | # CONFIG_USB_BERRY_CHARGE is not set | ||
| 1434 | # CONFIG_USB_LED is not set | 1437 | # CONFIG_USB_LED is not set | 
| 1435 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 1438 | # CONFIG_USB_CYPRESS_CY7C63 is not set | 
| 1436 | # CONFIG_USB_CYTHERM is not set | 1439 | # CONFIG_USB_CYTHERM is not set | 
| @@ -1443,7 +1446,6 @@ CONFIG_USB_STORAGE=m | |||
| 1443 | # CONFIG_USB_IOWARRIOR is not set | 1446 | # CONFIG_USB_IOWARRIOR is not set | 
| 1444 | # CONFIG_USB_TEST is not set | 1447 | # CONFIG_USB_TEST is not set | 
| 1445 | # CONFIG_USB_ISIGHTFW is not set | 1448 | # CONFIG_USB_ISIGHTFW is not set | 
| 1446 | # CONFIG_USB_VST is not set | ||
| 1447 | # CONFIG_USB_GADGET is not set | 1449 | # CONFIG_USB_GADGET is not set | 
| 1448 | 1450 | ||
| 1449 | # | 1451 | # | 
| @@ -1610,6 +1612,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
| 1610 | # CONFIG_BEFS_FS is not set | 1612 | # CONFIG_BEFS_FS is not set | 
| 1611 | # CONFIG_BFS_FS is not set | 1613 | # CONFIG_BFS_FS is not set | 
| 1612 | # CONFIG_EFS_FS is not set | 1614 | # CONFIG_EFS_FS is not set | 
| 1615 | # CONFIG_LOGFS is not set | ||
| 1613 | # CONFIG_CRAMFS is not set | 1616 | # CONFIG_CRAMFS is not set | 
| 1614 | # CONFIG_SQUASHFS is not set | 1617 | # CONFIG_SQUASHFS is not set | 
| 1615 | # CONFIG_VXFS_FS is not set | 1618 | # CONFIG_VXFS_FS is not set | 
| @@ -1624,6 +1627,7 @@ CONFIG_NETWORK_FILESYSTEMS=y | |||
| 1624 | # CONFIG_NFS_FS is not set | 1627 | # CONFIG_NFS_FS is not set | 
| 1625 | # CONFIG_NFSD is not set | 1628 | # CONFIG_NFSD is not set | 
| 1626 | # CONFIG_SMB_FS is not set | 1629 | # CONFIG_SMB_FS is not set | 
| 1630 | # CONFIG_CEPH_FS is not set | ||
| 1627 | # CONFIG_CIFS is not set | 1631 | # CONFIG_CIFS is not set | 
| 1628 | # CONFIG_NCP_FS is not set | 1632 | # CONFIG_NCP_FS is not set | 
| 1629 | # CONFIG_CODA_FS is not set | 1633 | # CONFIG_CODA_FS is not set | 
| diff --git a/arch/sparc/include/asm/stat.h b/arch/sparc/include/asm/stat.h index 39327d6a57eb..a232e9e1f4e5 100644 --- a/arch/sparc/include/asm/stat.h +++ b/arch/sparc/include/asm/stat.h | |||
| @@ -53,8 +53,8 @@ struct stat { | |||
| 53 | ino_t st_ino; | 53 | ino_t st_ino; | 
| 54 | mode_t st_mode; | 54 | mode_t st_mode; | 
| 55 | short st_nlink; | 55 | short st_nlink; | 
| 56 | uid16_t st_uid; | 56 | unsigned short st_uid; | 
| 57 | gid16_t st_gid; | 57 | unsigned short st_gid; | 
| 58 | unsigned short st_rdev; | 58 | unsigned short st_rdev; | 
| 59 | off_t st_size; | 59 | off_t st_size; | 
| 60 | time_t st_atime; | 60 | time_t st_atime; | 
| diff --git a/arch/sparc/kernel/central.c b/arch/sparc/kernel/central.c index 4589ca33220f..415c86d5a8da 100644 --- a/arch/sparc/kernel/central.c +++ b/arch/sparc/kernel/central.c | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | #include <linux/kernel.h> | 6 | #include <linux/kernel.h> | 
| 7 | #include <linux/types.h> | 7 | #include <linux/types.h> | 
| 8 | #include <linux/slab.h> | ||
| 8 | #include <linux/string.h> | 9 | #include <linux/string.h> | 
| 9 | #include <linux/init.h> | 10 | #include <linux/init.h> | 
| 10 | #include <linux/of_device.h> | 11 | #include <linux/of_device.h> | 
| diff --git a/arch/sparc/kernel/cpumap.c b/arch/sparc/kernel/cpumap.c index 7430ed080b23..8de64c8126bc 100644 --- a/arch/sparc/kernel/cpumap.c +++ b/arch/sparc/kernel/cpumap.c | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | */ | 4 | */ | 
| 5 | 5 | ||
| 6 | #include <linux/module.h> | 6 | #include <linux/module.h> | 
| 7 | #include <linux/slab.h> | ||
| 7 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> | 
| 8 | #include <linux/init.h> | 9 | #include <linux/init.h> | 
| 9 | #include <linux/cpumask.h> | 10 | #include <linux/cpumask.h> | 
| diff --git a/arch/sparc/kernel/helpers.S b/arch/sparc/kernel/helpers.S index 314dd0c9fc5b..92090cc9e829 100644 --- a/arch/sparc/kernel/helpers.S +++ b/arch/sparc/kernel/helpers.S | |||
| @@ -46,6 +46,81 @@ stack_trace_flush: | |||
| 46 | nop | 46 | nop | 
| 47 | .size stack_trace_flush,.-stack_trace_flush | 47 | .size stack_trace_flush,.-stack_trace_flush | 
| 48 | 48 | ||
| 49 | #ifdef CONFIG_PERF_EVENTS | ||
| 50 | .globl perf_arch_fetch_caller_regs | ||
| 51 | .type perf_arch_fetch_caller_regs,#function | ||
| 52 | perf_arch_fetch_caller_regs: | ||
| 53 | /* We always read the %pstate into %o5 since we will use | ||
| 54 | * that to construct a fake %tstate to store into the regs. | ||
| 55 | */ | ||
| 56 | rdpr %pstate, %o5 | ||
| 57 | brz,pn %o2, 50f | ||
| 58 | mov %o2, %g7 | ||
| 59 | |||
| 60 | /* Turn off interrupts while we walk around the register | ||
| 61 | * window by hand. | ||
| 62 | */ | ||
| 63 | wrpr %o5, PSTATE_IE, %pstate | ||
| 64 | |||
| 65 | /* The %canrestore tells us how many register windows are | ||
| 66 | * still live in the chip above us, past that we have to | ||
| 67 | * walk the frame as saved on the stack. We stash away | ||
| 68 | * the %cwp in %g1 so we can return back to the original | ||
| 69 | * register window. | ||
| 70 | */ | ||
| 71 | rdpr %cwp, %g1 | ||
| 72 | rdpr %canrestore, %g2 | ||
| 73 | sub %g1, 1, %g3 | ||
| 74 | |||
| 75 | /* We have the skip count in %g7, if it hits zero then | ||
| 76 | * %fp/%i7 are the registers we need. Otherwise if our | ||
| 77 | * %canrestore count maintained in %g2 hits zero we have | ||
| 78 | * to start traversing the stack. | ||
| 79 | */ | ||
| 80 | 10: brz,pn %g2, 4f | ||
| 81 | sub %g2, 1, %g2 | ||
| 82 | wrpr %g3, %cwp | ||
| 83 | subcc %g7, 1, %g7 | ||
| 84 | bne,pt %xcc, 10b | ||
| 85 | sub %g3, 1, %g3 | ||
| 86 | |||
| 87 | /* We found the values we need in the cpu's register | ||
| 88 | * windows. | ||
| 89 | */ | ||
| 90 | mov %fp, %g3 | ||
| 91 | ba,pt %xcc, 3f | ||
| 92 | mov %i7, %g2 | ||
| 93 | |||
| 94 | 50: mov %fp, %g3 | ||
| 95 | ba,pt %xcc, 2f | ||
| 96 | mov %i7, %g2 | ||
| 97 | |||
| 98 | /* We hit the end of the valid register windows in the | ||
| 99 | * cpu, start traversing the stack frame. | ||
| 100 | */ | ||
| 101 | 4: mov %fp, %g3 | ||
| 102 | |||
| 103 | 20: ldx [%g3 + STACK_BIAS + RW_V9_I7], %g2 | ||
| 104 | subcc %g7, 1, %g7 | ||
| 105 | bne,pn %xcc, 20b | ||
| 106 | ldx [%g3 + STACK_BIAS + RW_V9_I6], %g3 | ||
| 107 | |||
| 108 | /* Restore the current register window position and | ||
| 109 | * re-enable interrupts. | ||
| 110 | */ | ||
| 111 | 3: wrpr %g1, %cwp | ||
| 112 | wrpr %o5, %pstate | ||
| 113 | |||
| 114 | 2: stx %g3, [%o0 + PT_V9_FP] | ||
| 115 | sllx %o5, 8, %o5 | ||
| 116 | stx %o5, [%o0 + PT_V9_TSTATE] | ||
| 117 | stx %g2, [%o0 + PT_V9_TPC] | ||
| 118 | add %g2, 4, %g2 | ||
| 119 | retl | ||
| 120 | stx %g2, [%o0 + PT_V9_TNPC] | ||
| 121 | .size perf_arch_fetch_caller_regs,.-perf_arch_fetch_caller_regs | ||
| 122 | #endif /* CONFIG_PERF_EVENTS */ | ||
| 123 | |||
| 49 | #ifdef CONFIG_SMP | 124 | #ifdef CONFIG_SMP | 
| 50 | .globl hard_smp_processor_id | 125 | .globl hard_smp_processor_id | 
| 51 | .type hard_smp_processor_id,#function | 126 | .type hard_smp_processor_id,#function | 
| diff --git a/arch/sparc/kernel/hvapi.c b/arch/sparc/kernel/hvapi.c index 1d272c3b5740..7c60afb835b0 100644 --- a/arch/sparc/kernel/hvapi.c +++ b/arch/sparc/kernel/hvapi.c | |||
| @@ -5,7 +5,6 @@ | |||
| 5 | #include <linux/kernel.h> | 5 | #include <linux/kernel.h> | 
| 6 | #include <linux/module.h> | 6 | #include <linux/module.h> | 
| 7 | #include <linux/init.h> | 7 | #include <linux/init.h> | 
| 8 | #include <linux/slab.h> | ||
| 9 | 8 | ||
| 10 | #include <asm/hypervisor.h> | 9 | #include <asm/hypervisor.h> | 
| 11 | #include <asm/oplib.h> | 10 | #include <asm/oplib.h> | 
| diff --git a/arch/sparc/kernel/iommu.c b/arch/sparc/kernel/iommu.c index 8414549c1834..47977a77f6c6 100644 --- a/arch/sparc/kernel/iommu.c +++ b/arch/sparc/kernel/iommu.c | |||
| @@ -6,6 +6,7 @@ | |||
| 6 | 6 | ||
| 7 | #include <linux/kernel.h> | 7 | #include <linux/kernel.h> | 
| 8 | #include <linux/module.h> | 8 | #include <linux/module.h> | 
| 9 | #include <linux/slab.h> | ||
| 9 | #include <linux/delay.h> | 10 | #include <linux/delay.h> | 
| 10 | #include <linux/device.h> | 11 | #include <linux/device.h> | 
| 11 | #include <linux/dma-mapping.h> | 12 | #include <linux/dma-mapping.h> | 
| diff --git a/arch/sparc/kernel/kprobes.c b/arch/sparc/kernel/kprobes.c index 6716584e48ab..a39d1ba5a119 100644 --- a/arch/sparc/kernel/kprobes.c +++ b/arch/sparc/kernel/kprobes.c | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | #include <linux/kprobes.h> | 7 | #include <linux/kprobes.h> | 
| 8 | #include <linux/module.h> | 8 | #include <linux/module.h> | 
| 9 | #include <linux/kdebug.h> | 9 | #include <linux/kdebug.h> | 
| 10 | #include <linux/slab.h> | ||
| 10 | #include <asm/signal.h> | 11 | #include <asm/signal.h> | 
| 11 | #include <asm/cacheflush.h> | 12 | #include <asm/cacheflush.h> | 
| 12 | #include <asm/uaccess.h> | 13 | #include <asm/uaccess.h> | 
| diff --git a/arch/sparc/kernel/led.c b/arch/sparc/kernel/led.c index 00d034ea2164..3ae36f36e758 100644 --- a/arch/sparc/kernel/led.c +++ b/arch/sparc/kernel/led.c | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | #include <linux/init.h> | 3 | #include <linux/init.h> | 
| 4 | #include <linux/proc_fs.h> | 4 | #include <linux/proc_fs.h> | 
| 5 | #include <linux/seq_file.h> | 5 | #include <linux/seq_file.h> | 
| 6 | #include <linux/slab.h> | ||
| 6 | #include <linux/string.h> | 7 | #include <linux/string.h> | 
| 7 | #include <linux/jiffies.h> | 8 | #include <linux/jiffies.h> | 
| 8 | #include <linux/timer.h> | 9 | #include <linux/timer.h> | 
| diff --git a/arch/sparc/kernel/leon_kernel.c b/arch/sparc/kernel/leon_kernel.c index 0409d62d8ca2..6a7b4dbc8e09 100644 --- a/arch/sparc/kernel/leon_kernel.c +++ b/arch/sparc/kernel/leon_kernel.c | |||
| @@ -7,7 +7,6 @@ | |||
| 7 | #include <linux/module.h> | 7 | #include <linux/module.h> | 
| 8 | #include <linux/errno.h> | 8 | #include <linux/errno.h> | 
| 9 | #include <linux/mutex.h> | 9 | #include <linux/mutex.h> | 
| 10 | #include <linux/slab.h> | ||
| 11 | #include <linux/of.h> | 10 | #include <linux/of.h> | 
| 12 | #include <linux/of_platform.h> | 11 | #include <linux/of_platform.h> | 
| 13 | #include <linux/interrupt.h> | 12 | #include <linux/interrupt.h> | 
| diff --git a/arch/sparc/kernel/leon_smp.c b/arch/sparc/kernel/leon_smp.c index 85787577f683..e1656fc41ccb 100644 --- a/arch/sparc/kernel/leon_smp.c +++ b/arch/sparc/kernel/leon_smp.c | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #include <linux/profile.h> | 22 | #include <linux/profile.h> | 
| 23 | #include <linux/pm.h> | 23 | #include <linux/pm.h> | 
| 24 | #include <linux/delay.h> | 24 | #include <linux/delay.h> | 
| 25 | #include <linux/gfp.h> | ||
| 25 | 26 | ||
| 26 | #include <asm/cacheflush.h> | 27 | #include <asm/cacheflush.h> | 
| 27 | #include <asm/tlbflush.h> | 28 | #include <asm/tlbflush.h> | 
| diff --git a/arch/sparc/kernel/module.c b/arch/sparc/kernel/module.c index 0ee642f63234..f848aadf54dc 100644 --- a/arch/sparc/kernel/module.c +++ b/arch/sparc/kernel/module.c | |||
| @@ -9,9 +9,9 @@ | |||
| 9 | #include <linux/elf.h> | 9 | #include <linux/elf.h> | 
| 10 | #include <linux/vmalloc.h> | 10 | #include <linux/vmalloc.h> | 
| 11 | #include <linux/fs.h> | 11 | #include <linux/fs.h> | 
| 12 | #include <linux/gfp.h> | ||
| 12 | #include <linux/string.h> | 13 | #include <linux/string.h> | 
| 13 | #include <linux/ctype.h> | 14 | #include <linux/ctype.h> | 
| 14 | #include <linux/slab.h> | ||
| 15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> | 
| 16 | 16 | ||
| 17 | #include <asm/processor.h> | 17 | #include <asm/processor.h> | 
| diff --git a/arch/sparc/kernel/of_device_common.c b/arch/sparc/kernel/of_device_common.c index cb8eb799bb6c..0247e68210b3 100644 --- a/arch/sparc/kernel/of_device_common.c +++ b/arch/sparc/kernel/of_device_common.c | |||
| @@ -4,7 +4,6 @@ | |||
| 4 | #include <linux/init.h> | 4 | #include <linux/init.h> | 
| 5 | #include <linux/module.h> | 5 | #include <linux/module.h> | 
| 6 | #include <linux/mod_devicetable.h> | 6 | #include <linux/mod_devicetable.h> | 
| 7 | #include <linux/slab.h> | ||
| 8 | #include <linux/errno.h> | 7 | #include <linux/errno.h> | 
| 9 | #include <linux/irq.h> | 8 | #include <linux/irq.h> | 
| 10 | #include <linux/of_device.h> | 9 | #include <linux/of_device.h> | 
| diff --git a/arch/sparc/kernel/pci_msi.c b/arch/sparc/kernel/pci_msi.c index e1b0541feb19..e0ef847219c3 100644 --- a/arch/sparc/kernel/pci_msi.c +++ b/arch/sparc/kernel/pci_msi.c | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | */ | 4 | */ | 
| 5 | #include <linux/kernel.h> | 5 | #include <linux/kernel.h> | 
| 6 | #include <linux/interrupt.h> | 6 | #include <linux/interrupt.h> | 
| 7 | #include <linux/slab.h> | ||
| 7 | #include <linux/irq.h> | 8 | #include <linux/irq.h> | 
| 8 | 9 | ||
| 9 | #include "pci_impl.h" | 10 | #include "pci_impl.h" | 
| diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index 68cb9b42088f..e2771939341d 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c | |||
| @@ -1337,7 +1337,7 @@ static void perf_callchain_user_32(struct pt_regs *regs, | |||
| 1337 | callchain_store(entry, PERF_CONTEXT_USER); | 1337 | callchain_store(entry, PERF_CONTEXT_USER); | 
| 1338 | callchain_store(entry, regs->tpc); | 1338 | callchain_store(entry, regs->tpc); | 
| 1339 | 1339 | ||
| 1340 | ufp = regs->u_regs[UREG_I6]; | 1340 | ufp = regs->u_regs[UREG_I6] & 0xffffffffUL; | 
| 1341 | do { | 1341 | do { | 
| 1342 | struct sparc_stackf32 *usf, sf; | 1342 | struct sparc_stackf32 *usf, sf; | 
| 1343 | unsigned long pc; | 1343 | unsigned long pc; | 
| diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c index c49865b30719..40e29fc8a4d6 100644 --- a/arch/sparc/kernel/process_32.c +++ b/arch/sparc/kernel/process_32.c | |||
| @@ -17,13 +17,13 @@ | |||
| 17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> | 
| 18 | #include <linux/stddef.h> | 18 | #include <linux/stddef.h> | 
| 19 | #include <linux/ptrace.h> | 19 | #include <linux/ptrace.h> | 
| 20 | #include <linux/slab.h> | ||
| 21 | #include <linux/user.h> | 20 | #include <linux/user.h> | 
| 22 | #include <linux/smp.h> | 21 | #include <linux/smp.h> | 
| 23 | #include <linux/reboot.h> | 22 | #include <linux/reboot.h> | 
| 24 | #include <linux/delay.h> | 23 | #include <linux/delay.h> | 
| 25 | #include <linux/pm.h> | 24 | #include <linux/pm.h> | 
| 26 | #include <linux/init.h> | 25 | #include <linux/init.h> | 
| 26 | #include <linux/slab.h> | ||
| 27 | 27 | ||
| 28 | #include <asm/auxio.h> | 28 | #include <asm/auxio.h> | 
| 29 | #include <asm/oplib.h> | 29 | #include <asm/oplib.h> | 
| diff --git a/arch/sparc/kernel/ptrace_32.c b/arch/sparc/kernel/ptrace_32.c index 7e3dfd9bb97e..e608f397e11f 100644 --- a/arch/sparc/kernel/ptrace_32.c +++ b/arch/sparc/kernel/ptrace_32.c | |||
| @@ -65,6 +65,7 @@ static int genregs32_get(struct task_struct *target, | |||
| 65 | *k++ = regs->u_regs[pos++]; | 65 | *k++ = regs->u_regs[pos++]; | 
| 66 | 66 | ||
| 67 | reg_window = (unsigned long __user *) regs->u_regs[UREG_I6]; | 67 | reg_window = (unsigned long __user *) regs->u_regs[UREG_I6]; | 
| 68 | reg_window -= 16; | ||
| 68 | for (; count > 0 && pos < 32; count--) { | 69 | for (; count > 0 && pos < 32; count--) { | 
| 69 | if (get_user(*k++, ®_window[pos++])) | 70 | if (get_user(*k++, ®_window[pos++])) | 
| 70 | return -EFAULT; | 71 | return -EFAULT; | 
| @@ -76,6 +77,7 @@ static int genregs32_get(struct task_struct *target, | |||
| 76 | } | 77 | } | 
| 77 | 78 | ||
| 78 | reg_window = (unsigned long __user *) regs->u_regs[UREG_I6]; | 79 | reg_window = (unsigned long __user *) regs->u_regs[UREG_I6]; | 
| 80 | reg_window -= 16; | ||
| 79 | for (; count > 0 && pos < 32; count--) { | 81 | for (; count > 0 && pos < 32; count--) { | 
| 80 | if (get_user(reg, ®_window[pos++]) || | 82 | if (get_user(reg, ®_window[pos++]) || | 
| 81 | put_user(reg, u++)) | 83 | put_user(reg, u++)) | 
| @@ -141,6 +143,7 @@ static int genregs32_set(struct task_struct *target, | |||
| 141 | regs->u_regs[pos++] = *k++; | 143 | regs->u_regs[pos++] = *k++; | 
| 142 | 144 | ||
| 143 | reg_window = (unsigned long __user *) regs->u_regs[UREG_I6]; | 145 | reg_window = (unsigned long __user *) regs->u_regs[UREG_I6]; | 
| 146 | reg_window -= 16; | ||
| 144 | for (; count > 0 && pos < 32; count--) { | 147 | for (; count > 0 && pos < 32; count--) { | 
| 145 | if (put_user(*k++, ®_window[pos++])) | 148 | if (put_user(*k++, ®_window[pos++])) | 
| 146 | return -EFAULT; | 149 | return -EFAULT; | 
| @@ -153,6 +156,7 @@ static int genregs32_set(struct task_struct *target, | |||
| 153 | } | 156 | } | 
| 154 | 157 | ||
| 155 | reg_window = (unsigned long __user *) regs->u_regs[UREG_I6]; | 158 | reg_window = (unsigned long __user *) regs->u_regs[UREG_I6]; | 
| 159 | reg_window -= 16; | ||
| 156 | for (; count > 0 && pos < 32; count--) { | 160 | for (; count > 0 && pos < 32; count--) { | 
| 157 | if (get_user(reg, u++) || | 161 | if (get_user(reg, u++) || | 
| 158 | put_user(reg, ®_window[pos++])) | 162 | put_user(reg, ®_window[pos++])) | 
| diff --git a/arch/sparc/kernel/ptrace_64.c b/arch/sparc/kernel/ptrace_64.c index 2f6524d1a817..aa90da08bf61 100644 --- a/arch/sparc/kernel/ptrace_64.c +++ b/arch/sparc/kernel/ptrace_64.c | |||
| @@ -492,6 +492,7 @@ static int genregs32_get(struct task_struct *target, | |||
| 492 | *k++ = regs->u_regs[pos++]; | 492 | *k++ = regs->u_regs[pos++]; | 
| 493 | 493 | ||
| 494 | reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; | 494 | reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; | 
| 495 | reg_window -= 16; | ||
| 495 | if (target == current) { | 496 | if (target == current) { | 
| 496 | for (; count > 0 && pos < 32; count--) { | 497 | for (; count > 0 && pos < 32; count--) { | 
| 497 | if (get_user(*k++, ®_window[pos++])) | 498 | if (get_user(*k++, ®_window[pos++])) | 
| @@ -516,6 +517,7 @@ static int genregs32_get(struct task_struct *target, | |||
| 516 | } | 517 | } | 
| 517 | 518 | ||
| 518 | reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; | 519 | reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; | 
| 520 | reg_window -= 16; | ||
| 519 | if (target == current) { | 521 | if (target == current) { | 
| 520 | for (; count > 0 && pos < 32; count--) { | 522 | for (; count > 0 && pos < 32; count--) { | 
| 521 | if (get_user(reg, ®_window[pos++]) || | 523 | if (get_user(reg, ®_window[pos++]) || | 
| @@ -599,6 +601,7 @@ static int genregs32_set(struct task_struct *target, | |||
| 599 | regs->u_regs[pos++] = *k++; | 601 | regs->u_regs[pos++] = *k++; | 
| 600 | 602 | ||
| 601 | reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; | 603 | reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; | 
| 604 | reg_window -= 16; | ||
| 602 | if (target == current) { | 605 | if (target == current) { | 
| 603 | for (; count > 0 && pos < 32; count--) { | 606 | for (; count > 0 && pos < 32; count--) { | 
| 604 | if (put_user(*k++, ®_window[pos++])) | 607 | if (put_user(*k++, ®_window[pos++])) | 
| @@ -625,6 +628,7 @@ static int genregs32_set(struct task_struct *target, | |||
| 625 | } | 628 | } | 
| 626 | 629 | ||
| 627 | reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; | 630 | reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6]; | 
| 631 | reg_window -= 16; | ||
| 628 | if (target == current) { | 632 | if (target == current) { | 
| 629 | for (; count > 0 && pos < 32; count--) { | 633 | for (; count > 0 && pos < 32; count--) { | 
| 630 | if (get_user(reg, u++) || | 634 | if (get_user(reg, u++) || | 
| diff --git a/arch/sparc/kernel/setup_64.c b/arch/sparc/kernel/setup_64.c index a2a79e76344f..5f72de67588b 100644 --- a/arch/sparc/kernel/setup_64.c +++ b/arch/sparc/kernel/setup_64.c | |||
| @@ -12,7 +12,6 @@ | |||
| 12 | #include <linux/stddef.h> | 12 | #include <linux/stddef.h> | 
| 13 | #include <linux/unistd.h> | 13 | #include <linux/unistd.h> | 
| 14 | #include <linux/ptrace.h> | 14 | #include <linux/ptrace.h> | 
| 15 | #include <linux/slab.h> | ||
| 16 | #include <asm/smp.h> | 15 | #include <asm/smp.h> | 
| 17 | #include <linux/user.h> | 16 | #include <linux/user.h> | 
| 18 | #include <linux/screen_info.h> | 17 | #include <linux/screen_info.h> | 
| diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index eb14844a0021..4c5334528109 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
| @@ -23,6 +23,7 @@ | |||
| 23 | #include <linux/bootmem.h> | 23 | #include <linux/bootmem.h> | 
| 24 | #include <linux/vmalloc.h> | 24 | #include <linux/vmalloc.h> | 
| 25 | #include <linux/cpu.h> | 25 | #include <linux/cpu.h> | 
| 26 | #include <linux/slab.h> | ||
| 26 | 27 | ||
| 27 | #include <asm/head.h> | 28 | #include <asm/head.h> | 
| 28 | #include <asm/ptrace.h> | 29 | #include <asm/ptrace.h> | 
| diff --git a/arch/sparc/kernel/sun4c_irq.c b/arch/sparc/kernel/sun4c_irq.c index bc3adbf79c6a..892fb884910a 100644 --- a/arch/sparc/kernel/sun4c_irq.c +++ b/arch/sparc/kernel/sun4c_irq.c | |||
| @@ -16,7 +16,6 @@ | |||
| 16 | #include <linux/sched.h> | 16 | #include <linux/sched.h> | 
| 17 | #include <linux/ptrace.h> | 17 | #include <linux/ptrace.h> | 
| 18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> | 
| 19 | #include <linux/slab.h> | ||
| 20 | #include <linux/init.h> | 19 | #include <linux/init.h> | 
| 21 | #include <linux/of.h> | 20 | #include <linux/of.h> | 
| 22 | #include <linux/of_device.h> | 21 | #include <linux/of_device.h> | 
| diff --git a/arch/sparc/kernel/sun4m_irq.c b/arch/sparc/kernel/sun4m_irq.c index 301892e2d718..7f3b97ff62c1 100644 --- a/arch/sparc/kernel/sun4m_irq.c +++ b/arch/sparc/kernel/sun4m_irq.c | |||
| @@ -17,7 +17,6 @@ | |||
| 17 | #include <linux/ptrace.h> | 17 | #include <linux/ptrace.h> | 
| 18 | #include <linux/smp.h> | 18 | #include <linux/smp.h> | 
| 19 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> | 
| 20 | #include <linux/slab.h> | ||
| 21 | #include <linux/init.h> | 20 | #include <linux/init.h> | 
| 22 | #include <linux/ioport.h> | 21 | #include <linux/ioport.h> | 
| 23 | #include <linux/of.h> | 22 | #include <linux/of.h> | 
| diff --git a/arch/sparc/kernel/sys_sparc32.c b/arch/sparc/kernel/sys_sparc32.c index daded3b96398..c0ca87553e1c 100644 --- a/arch/sparc/kernel/sys_sparc32.c +++ b/arch/sparc/kernel/sys_sparc32.c | |||
| @@ -21,7 +21,6 @@ | |||
| 21 | #include <linux/sem.h> | 21 | #include <linux/sem.h> | 
| 22 | #include <linux/msg.h> | 22 | #include <linux/msg.h> | 
| 23 | #include <linux/shm.h> | 23 | #include <linux/shm.h> | 
| 24 | #include <linux/slab.h> | ||
| 25 | #include <linux/uio.h> | 24 | #include <linux/uio.h> | 
| 26 | #include <linux/nfs_fs.h> | 25 | #include <linux/nfs_fs.h> | 
| 27 | #include <linux/quota.h> | 26 | #include <linux/quota.h> | 
| @@ -44,6 +43,7 @@ | |||
| 44 | #include <linux/compat.h> | 43 | #include <linux/compat.h> | 
| 45 | #include <linux/vfs.h> | 44 | #include <linux/vfs.h> | 
| 46 | #include <linux/ptrace.h> | 45 | #include <linux/ptrace.h> | 
| 46 | #include <linux/slab.h> | ||
| 47 | 47 | ||
| 48 | #include <asm/types.h> | 48 | #include <asm/types.h> | 
| 49 | #include <asm/uaccess.h> | 49 | #include <asm/uaccess.h> | 
| diff --git a/arch/sparc/kernel/sysfs.c b/arch/sparc/kernel/sysfs.c index ca39c606fe8e..1eb8b00aed75 100644 --- a/arch/sparc/kernel/sysfs.c +++ b/arch/sparc/kernel/sysfs.c | |||
| @@ -107,12 +107,12 @@ static unsigned long run_on_cpu(unsigned long cpu, | |||
| 107 | unsigned long ret; | 107 | unsigned long ret; | 
| 108 | 108 | ||
| 109 | /* should return -EINVAL to userspace */ | 109 | /* should return -EINVAL to userspace */ | 
| 110 | if (set_cpus_allowed(current, cpumask_of_cpu(cpu))) | 110 | if (set_cpus_allowed_ptr(current, cpumask_of(cpu))) | 
| 111 | return 0; | 111 | return 0; | 
| 112 | 112 | ||
| 113 | ret = func(arg); | 113 | ret = func(arg); | 
| 114 | 114 | ||
| 115 | set_cpus_allowed(current, old_affinity); | 115 | set_cpus_allowed_ptr(current, &old_affinity); | 
| 116 | 116 | ||
| 117 | return ret; | 117 | return ret; | 
| 118 | } | 118 | } | 
| diff --git a/arch/sparc/kernel/traps_64.c b/arch/sparc/kernel/traps_64.c index bdc05a21908b..837dfc2390d6 100644 --- a/arch/sparc/kernel/traps_64.c +++ b/arch/sparc/kernel/traps_64.c | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> | 
| 18 | #include <linux/init.h> | 18 | #include <linux/init.h> | 
| 19 | #include <linux/kdebug.h> | 19 | #include <linux/kdebug.h> | 
| 20 | #include <linux/gfp.h> | ||
| 20 | 21 | ||
| 21 | #include <asm/smp.h> | 22 | #include <asm/smp.h> | 
| 22 | #include <asm/delay.h> | 23 | #include <asm/delay.h> | 
| diff --git a/arch/sparc/kernel/us2e_cpufreq.c b/arch/sparc/kernel/us2e_cpufreq.c index 791c15138f3a..8f982b76c712 100644 --- a/arch/sparc/kernel/us2e_cpufreq.c +++ b/arch/sparc/kernel/us2e_cpufreq.c | |||
| @@ -238,12 +238,12 @@ static unsigned int us2e_freq_get(unsigned int cpu) | |||
| 238 | return 0; | 238 | return 0; | 
| 239 | 239 | ||
| 240 | cpus_allowed = current->cpus_allowed; | 240 | cpus_allowed = current->cpus_allowed; | 
| 241 | set_cpus_allowed(current, cpumask_of_cpu(cpu)); | 241 | set_cpus_allowed_ptr(current, cpumask_of(cpu)); | 
| 242 | 242 | ||
| 243 | clock_tick = sparc64_get_clock_tick(cpu) / 1000; | 243 | clock_tick = sparc64_get_clock_tick(cpu) / 1000; | 
| 244 | estar = read_hbreg(HBIRD_ESTAR_MODE_ADDR); | 244 | estar = read_hbreg(HBIRD_ESTAR_MODE_ADDR); | 
| 245 | 245 | ||
| 246 | set_cpus_allowed(current, cpus_allowed); | 246 | set_cpus_allowed_ptr(current, &cpus_allowed); | 
| 247 | 247 | ||
| 248 | return clock_tick / estar_to_divisor(estar); | 248 | return clock_tick / estar_to_divisor(estar); | 
| 249 | } | 249 | } | 
| @@ -259,7 +259,7 @@ static void us2e_set_cpu_divider_index(unsigned int cpu, unsigned int index) | |||
| 259 | return; | 259 | return; | 
| 260 | 260 | ||
| 261 | cpus_allowed = current->cpus_allowed; | 261 | cpus_allowed = current->cpus_allowed; | 
| 262 | set_cpus_allowed(current, cpumask_of_cpu(cpu)); | 262 | set_cpus_allowed_ptr(current, cpumask_of(cpu)); | 
| 263 | 263 | ||
| 264 | new_freq = clock_tick = sparc64_get_clock_tick(cpu) / 1000; | 264 | new_freq = clock_tick = sparc64_get_clock_tick(cpu) / 1000; | 
| 265 | new_bits = index_to_estar_mode(index); | 265 | new_bits = index_to_estar_mode(index); | 
| @@ -281,7 +281,7 @@ static void us2e_set_cpu_divider_index(unsigned int cpu, unsigned int index) | |||
| 281 | 281 | ||
| 282 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | 282 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | 
| 283 | 283 | ||
| 284 | set_cpus_allowed(current, cpus_allowed); | 284 | set_cpus_allowed_ptr(current, &cpus_allowed); | 
| 285 | } | 285 | } | 
| 286 | 286 | ||
| 287 | static int us2e_freq_target(struct cpufreq_policy *policy, | 287 | static int us2e_freq_target(struct cpufreq_policy *policy, | 
| diff --git a/arch/sparc/kernel/us3_cpufreq.c b/arch/sparc/kernel/us3_cpufreq.c index 365b6464e2ce..f35d1e794548 100644 --- a/arch/sparc/kernel/us3_cpufreq.c +++ b/arch/sparc/kernel/us3_cpufreq.c | |||
| @@ -86,12 +86,12 @@ static unsigned int us3_freq_get(unsigned int cpu) | |||
| 86 | return 0; | 86 | return 0; | 
| 87 | 87 | ||
| 88 | cpus_allowed = current->cpus_allowed; | 88 | cpus_allowed = current->cpus_allowed; | 
| 89 | set_cpus_allowed(current, cpumask_of_cpu(cpu)); | 89 | set_cpus_allowed_ptr(current, cpumask_of(cpu)); | 
| 90 | 90 | ||
| 91 | reg = read_safari_cfg(); | 91 | reg = read_safari_cfg(); | 
| 92 | ret = get_current_freq(cpu, reg); | 92 | ret = get_current_freq(cpu, reg); | 
| 93 | 93 | ||
| 94 | set_cpus_allowed(current, cpus_allowed); | 94 | set_cpus_allowed_ptr(current, &cpus_allowed); | 
| 95 | 95 | ||
| 96 | return ret; | 96 | return ret; | 
| 97 | } | 97 | } | 
| @@ -106,7 +106,7 @@ static void us3_set_cpu_divider_index(unsigned int cpu, unsigned int index) | |||
| 106 | return; | 106 | return; | 
| 107 | 107 | ||
| 108 | cpus_allowed = current->cpus_allowed; | 108 | cpus_allowed = current->cpus_allowed; | 
| 109 | set_cpus_allowed(current, cpumask_of_cpu(cpu)); | 109 | set_cpus_allowed_ptr(current, cpumask_of(cpu)); | 
| 110 | 110 | ||
| 111 | new_freq = sparc64_get_clock_tick(cpu) / 1000; | 111 | new_freq = sparc64_get_clock_tick(cpu) / 1000; | 
| 112 | switch (index) { | 112 | switch (index) { | 
| @@ -140,7 +140,7 @@ static void us3_set_cpu_divider_index(unsigned int cpu, unsigned int index) | |||
| 140 | 140 | ||
| 141 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | 141 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | 
| 142 | 142 | ||
| 143 | set_cpus_allowed(current, cpus_allowed); | 143 | set_cpus_allowed_ptr(current, &cpus_allowed); | 
| 144 | } | 144 | } | 
| 145 | 145 | ||
| 146 | static int us3_freq_target(struct cpufreq_policy *policy, | 146 | static int us3_freq_target(struct cpufreq_policy *policy, | 
| diff --git a/arch/sparc/kernel/vio.c b/arch/sparc/kernel/vio.c index c28c71449a6c..3cb1def9806c 100644 --- a/arch/sparc/kernel/vio.c +++ b/arch/sparc/kernel/vio.c | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | */ | 10 | */ | 
| 11 | 11 | ||
| 12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> | 
| 13 | #include <linux/slab.h> | ||
| 13 | #include <linux/irq.h> | 14 | #include <linux/irq.h> | 
| 14 | #include <linux/init.h> | 15 | #include <linux/init.h> | 
| 15 | 16 | ||
| diff --git a/arch/sparc/mm/hugetlbpage.c b/arch/sparc/mm/hugetlbpage.c index f27d10369e0c..5fdddf134caa 100644 --- a/arch/sparc/mm/hugetlbpage.c +++ b/arch/sparc/mm/hugetlbpage.c | |||
| @@ -10,7 +10,6 @@ | |||
| 10 | #include <linux/mm.h> | 10 | #include <linux/mm.h> | 
| 11 | #include <linux/hugetlb.h> | 11 | #include <linux/hugetlb.h> | 
| 12 | #include <linux/pagemap.h> | 12 | #include <linux/pagemap.h> | 
| 13 | #include <linux/slab.h> | ||
| 14 | #include <linux/sysctl.h> | 13 | #include <linux/sysctl.h> | 
| 15 | 14 | ||
| 16 | #include <asm/mman.h> | 15 | #include <asm/mman.h> | 
| diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c index dc7c3b17a15f..6d0e02c4fe09 100644 --- a/arch/sparc/mm/init_32.c +++ b/arch/sparc/mm/init_32.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/bootmem.h> | 24 | #include <linux/bootmem.h> | 
| 25 | #include <linux/pagemap.h> | 25 | #include <linux/pagemap.h> | 
| 26 | #include <linux/poison.h> | 26 | #include <linux/poison.h> | 
| 27 | #include <linux/gfp.h> | ||
| 27 | 28 | ||
| 28 | #include <asm/sections.h> | 29 | #include <asm/sections.h> | 
| 29 | #include <asm/system.h> | 30 | #include <asm/system.h> | 
| diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index 9245a822a2f1..b2831dc3c121 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c | |||
| @@ -13,7 +13,6 @@ | |||
| 13 | #include <linux/bootmem.h> | 13 | #include <linux/bootmem.h> | 
| 14 | #include <linux/mm.h> | 14 | #include <linux/mm.h> | 
| 15 | #include <linux/hugetlb.h> | 15 | #include <linux/hugetlb.h> | 
| 16 | #include <linux/slab.h> | ||
| 17 | #include <linux/initrd.h> | 16 | #include <linux/initrd.h> | 
| 18 | #include <linux/swap.h> | 17 | #include <linux/swap.h> | 
| 19 | #include <linux/pagemap.h> | 18 | #include <linux/pagemap.h> | 
| @@ -26,6 +25,7 @@ | |||
| 26 | #include <linux/percpu.h> | 25 | #include <linux/percpu.h> | 
| 27 | #include <linux/lmb.h> | 26 | #include <linux/lmb.h> | 
| 28 | #include <linux/mmzone.h> | 27 | #include <linux/mmzone.h> | 
| 28 | #include <linux/gfp.h> | ||
| 29 | 29 | ||
| 30 | #include <asm/head.h> | 30 | #include <asm/head.h> | 
| 31 | #include <asm/system.h> | 31 | #include <asm/system.h> | 
| @@ -2117,7 +2117,7 @@ int __meminit vmemmap_populate(struct page *start, unsigned long nr, int node) | |||
| 2117 | "node=%d entry=%lu/%lu\n", start, block, nr, | 2117 | "node=%d entry=%lu/%lu\n", start, block, nr, | 
| 2118 | node, | 2118 | node, | 
| 2119 | addr >> VMEMMAP_CHUNK_SHIFT, | 2119 | addr >> VMEMMAP_CHUNK_SHIFT, | 
| 2120 | VMEMMAP_SIZE >> VMEMMAP_CHUNK_SHIFT); | 2120 | VMEMMAP_SIZE); | 
| 2121 | } | 2121 | } | 
| 2122 | } | 2122 | } | 
| 2123 | return 0; | 2123 | return 0; | 
| diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c index df49b200ca4c..f5f75a58e0b3 100644 --- a/arch/sparc/mm/srmmu.c +++ b/arch/sparc/mm/srmmu.c | |||
| @@ -10,7 +10,6 @@ | |||
| 10 | 10 | ||
| 11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> | 
| 12 | #include <linux/mm.h> | 12 | #include <linux/mm.h> | 
| 13 | #include <linux/slab.h> | ||
| 14 | #include <linux/vmalloc.h> | 13 | #include <linux/vmalloc.h> | 
| 15 | #include <linux/pagemap.h> | 14 | #include <linux/pagemap.h> | 
| 16 | #include <linux/init.h> | 15 | #include <linux/init.h> | 
| @@ -20,6 +19,7 @@ | |||
| 20 | #include <linux/seq_file.h> | 19 | #include <linux/seq_file.h> | 
| 21 | #include <linux/kdebug.h> | 20 | #include <linux/kdebug.h> | 
| 22 | #include <linux/log2.h> | 21 | #include <linux/log2.h> | 
| 22 | #include <linux/gfp.h> | ||
| 23 | 23 | ||
| 24 | #include <asm/bitext.h> | 24 | #include <asm/bitext.h> | 
| 25 | #include <asm/page.h> | 25 | #include <asm/page.h> | 
| diff --git a/arch/sparc/mm/sun4c.c b/arch/sparc/mm/sun4c.c index 18652534b91a..cf38846753dd 100644 --- a/arch/sparc/mm/sun4c.c +++ b/arch/sparc/mm/sun4c.c | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> | 
| 13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> | 
| 14 | #include <linux/init.h> | 14 | #include <linux/init.h> | 
| 15 | #include <linux/slab.h> | ||
| 15 | #include <linux/bootmem.h> | 16 | #include <linux/bootmem.h> | 
| 16 | #include <linux/highmem.h> | 17 | #include <linux/highmem.h> | 
| 17 | #include <linux/fs.h> | 18 | #include <linux/fs.h> | 
| diff --git a/arch/sparc/mm/tsb.c b/arch/sparc/mm/tsb.c index 36a0813f9517..101d7c82870b 100644 --- a/arch/sparc/mm/tsb.c +++ b/arch/sparc/mm/tsb.c | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | #include <linux/kernel.h> | 6 | #include <linux/kernel.h> | 
| 7 | #include <linux/preempt.h> | 7 | #include <linux/preempt.h> | 
| 8 | #include <linux/slab.h> | ||
| 8 | #include <asm/system.h> | 9 | #include <asm/system.h> | 
| 9 | #include <asm/page.h> | 10 | #include <asm/page.h> | 
| 10 | #include <asm/tlbflush.h> | 11 | #include <asm/tlbflush.h> | 
