From 2310c9dfdc272371747b8ab646d9cfb247ccf8a9 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Wed, 14 Sep 2011 11:31:36 -0500 Subject: [PATCH] --- yaml --- r: 264208 b: refs/heads/master c: 5bd078dda4d4fbdb4bd138a6bd5b6e274c019ed2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/Documentation/hwmon/coretemp | 14 +- trunk/Documentation/networking/scaling.txt | 2 +- trunk/Documentation/vm/transhuge.txt | 7 +- trunk/Makefile | 2 +- trunk/arch/arm/Kconfig | 14 -- trunk/arch/arm/boot/dts/tegra-harmony.dts | 12 +- trunk/arch/arm/boot/dts/tegra-seaboard.dts | 6 +- trunk/arch/arm/include/asm/futex.h | 34 +-- trunk/arch/arm/include/asm/unistd.h | 4 +- trunk/arch/arm/kernel/smp_scu.c | 10 - trunk/arch/arm/kernel/vmlinux.lds.S | 15 +- trunk/arch/arm/mach-dove/common.c | 2 +- trunk/arch/arm/mach-exynos4/clock.c | 8 +- trunk/arch/arm/mach-exynos4/mct.c | 10 +- trunk/arch/arm/mach-exynos4/platsmp.c | 2 - trunk/arch/arm/mach-exynos4/setup-keypad.c | 11 +- .../arch/arm/mach-integrator/integrator_ap.c | 2 - trunk/arch/arm/mach-integrator/pci_v3.c | 2 + trunk/arch/arm/mach-s3c2443/clock.c | 2 +- trunk/arch/arm/mach-s3c64xx/mach-smdk6410.c | 39 ++++ trunk/arch/arm/mach-s5pv210/clock.c | 6 +- trunk/arch/arm/mm/cache-v7.S | 20 -- trunk/arch/arm/mm/dma-mapping.c | 2 - trunk/arch/arm/plat-s5p/irq-gpioint.c | 9 +- trunk/arch/arm/plat-samsung/clock.c | 11 - .../arm/plat-samsung/include/plat/clock.h | 8 - .../include/plat/watchdog-reset.h | 10 +- trunk/arch/powerpc/platforms/powermac/pci.c | 14 -- trunk/arch/s390/include/asm/elf.h | 3 +- trunk/arch/s390/include/asm/pgtable.h | 2 - trunk/arch/s390/kernel/asm-offsets.c | 3 - trunk/arch/s390/kernel/entry64.S | 6 - trunk/arch/s390/kvm/kvm-s390.c | 5 +- trunk/arch/s390/mm/pgtable.c | 17 +- trunk/arch/sparc/include/asm/spitfire.h | 2 - trunk/arch/sparc/include/asm/xor_64.h | 4 +- trunk/arch/sparc/kernel/cpu.c | 12 -- trunk/arch/sparc/kernel/cpumap.c | 2 - trunk/arch/sparc/kernel/head_64.S | 25 +-- trunk/arch/sparc/kernel/process_32.c | 3 +- trunk/arch/sparc/kernel/process_64.c | 3 + trunk/arch/sparc/kernel/setup_32.c | 2 +- trunk/arch/sparc/kernel/setup_64.c | 18 +- trunk/arch/sparc/mm/init_64.c | 5 - trunk/arch/x86/kvm/emulate.c | 2 +- trunk/arch/x86/kvm/mmu.c | 3 +- trunk/block/blk-cgroup.c | 37 ++-- trunk/block/blk-core.c | 28 +-- trunk/block/blk-softirq.c | 2 +- trunk/block/blk-sysfs.c | 15 +- trunk/block/cfq-iosched.c | 20 +- trunk/drivers/base/power/clock_ops.c | 75 ++++--- trunk/drivers/block/floppy.c | 8 +- trunk/drivers/block/xen-blkback/common.h | 2 +- trunk/drivers/block/xen-blkback/xenbus.c | 6 +- trunk/drivers/bluetooth/btusb.c | 6 - trunk/drivers/bluetooth/btwilink.c | 16 +- trunk/drivers/char/tpm/Kconfig | 1 - trunk/drivers/char/tpm/tpm.c | 9 +- trunk/drivers/char/tpm/tpm_nsc.c | 2 + trunk/drivers/gpu/drm/i915/i915_drv.c | 4 +- trunk/drivers/gpu/drm/i915/intel_display.c | 22 +- trunk/drivers/gpu/drm/i915/intel_drv.h | 3 + trunk/drivers/gpu/drm/i915/intel_sdvo.c | 88 +++++--- trunk/drivers/gpu/drm/radeon/r100.c | 4 +- .../drivers/gpu/drm/radeon/radeon_encoders.c | 9 +- trunk/drivers/hwmon/coretemp.c | 193 ++++++++++++++---- trunk/drivers/hwmon/ds620.c | 2 +- trunk/drivers/hwmon/w83791d.c | 4 +- trunk/drivers/infiniband/hw/cxgb3/iwch_cm.c | 10 +- trunk/drivers/media/video/omap/omap_vout.c | 13 ++ trunk/drivers/media/video/omap3isp/ispccdc.c | 1 - trunk/drivers/media/video/uvc/uvc_driver.c | 2 +- trunk/drivers/media/video/uvc/uvc_entity.c | 2 +- trunk/drivers/media/video/uvc/uvc_video.c | 10 +- trunk/drivers/media/video/uvc/uvcvideo.h | 2 +- trunk/drivers/media/video/v4l2-dev.c | 11 - trunk/drivers/media/video/v4l2-device.c | 2 - trunk/drivers/mmc/card/block.c | 3 - trunk/drivers/net/bnx2x/bnx2x_dcb.c | 1 - trunk/drivers/net/bnx2x/bnx2x_main.c | 16 +- trunk/drivers/net/bnx2x/bnx2x_reg.h | 12 -- trunk/drivers/net/cxgb3/cxgb3_offload.c | 23 +-- trunk/drivers/net/cxgb3/l2t.c | 15 +- trunk/drivers/net/cxgb3/l2t.h | 16 +- trunk/drivers/net/gianfar_ethtool.c | 8 +- trunk/drivers/net/greth.c | 12 +- trunk/drivers/net/greth.h | 1 - trunk/drivers/net/ixgbe/ixgbe_main.c | 4 +- trunk/drivers/net/netconsole.c | 8 +- trunk/drivers/net/ppp_generic.c | 7 +- trunk/drivers/net/pxa168_eth.c | 1 - trunk/drivers/net/r8169.c | 32 +-- trunk/drivers/net/tg3.c | 2 + .../wireless/ath/ath9k/ar9003_2p2_initvals.h | 2 +- trunk/drivers/net/wireless/ath/ath9k/recv.c | 10 +- trunk/drivers/net/wireless/b43/main.c | 3 +- trunk/drivers/net/wireless/ipw2x00/ipw2100.c | 21 +- trunk/drivers/net/wireless/ipw2x00/ipw2200.c | 39 ++-- .../drivers/net/wireless/iwlegacy/iwl-core.c | 4 +- .../drivers/net/wireless/iwlegacy/iwl-hcmd.c | 2 +- trunk/drivers/net/wireless/iwlegacy/iwl-tx.c | 4 +- .../net/wireless/iwlegacy/iwl3945-base.c | 8 +- .../net/wireless/iwlegacy/iwl4965-base.c | 10 +- trunk/drivers/net/wireless/iwlwifi/iwl-agn.c | 5 - trunk/drivers/net/wireless/iwlwifi/iwl-scan.c | 30 ++- trunk/drivers/net/wireless/rt2x00/rt2800lib.c | 47 ++--- trunk/drivers/net/wireless/rtlwifi/usb.c | 1 - trunk/drivers/s390/cio/cio.c | 8 +- trunk/drivers/scsi/3w-9xxx.c | 2 - trunk/drivers/scsi/Kconfig | 1 - trunk/drivers/scsi/Makefile | 2 +- trunk/drivers/scsi/aacraid/commsup.c | 2 - trunk/drivers/scsi/cxgbi/cxgb3i/cxgb3i.c | 2 +- trunk/drivers/scsi/libsas/sas_expander.c | 2 +- trunk/drivers/scsi/qla2xxx/qla_isr.c | 4 +- trunk/drivers/spi/spi-fsl-spi.c | 3 - trunk/drivers/spi/spi-imx.c | 4 +- trunk/drivers/staging/zcache/zcache-main.c | 2 +- trunk/drivers/watchdog/hpwdt.c | 9 +- trunk/drivers/watchdog/lantiq_wdt.c | 8 +- trunk/drivers/watchdog/sbc_epx_c3.c | 2 +- trunk/drivers/watchdog/watchdog_dev.c | 14 +- trunk/drivers/zorro/zorro.c | 7 +- trunk/fs/btrfs/ioctl.c | 7 +- trunk/fs/cifs/cifsencrypt.c | 54 ++++- trunk/fs/cifs/cifsfs.c | 10 +- trunk/fs/cifs/cifssmb.c | 3 +- trunk/fs/cifs/connect.c | 4 +- trunk/fs/ext3/inode.c | 4 +- trunk/fs/ext3/namei.c | 3 +- trunk/fs/ext4/inode.c | 4 +- trunk/fs/ext4/namei.c | 3 +- trunk/fs/gfs2/log.c | 4 +- trunk/fs/gfs2/meta_io.c | 6 +- trunk/fs/gfs2/ops_fstype.c | 2 +- trunk/fs/gfs2/quota.c | 2 +- trunk/fs/namei.c | 8 +- trunk/fs/namespace.c | 2 +- trunk/fs/nfs/super.c | 2 +- trunk/fs/proc/task_mmu.c | 80 +++----- trunk/fs/quota/quota.c | 2 +- trunk/fs/stat.c | 2 + trunk/include/linux/blk_types.h | 6 +- trunk/include/linux/blkdev.h | 1 + trunk/include/linux/fs.h | 2 + trunk/include/linux/irqdomain.h | 1 + trunk/include/linux/kvm.h | 1 - trunk/include/linux/namei.h | 3 +- trunk/include/trace/events/writeback.h | 10 +- trunk/init/main.c | 19 +- trunk/kernel/ptrace.c | 23 ++- trunk/kernel/resource.c | 7 +- trunk/lib/xz/xz_dec_bcj.c | 27 +-- trunk/mm/backing-dev.c | 30 +-- trunk/net/batman-adv/soft-interface.c | 10 +- trunk/net/bluetooth/hci_event.c | 17 +- trunk/net/ceph/ceph_common.c | 1 - trunk/net/ceph/messenger.c | 1 - trunk/net/ceph/osd_client.c | 4 +- trunk/net/ceph/osdmap.c | 84 ++++---- trunk/net/core/fib_rules.c | 4 +- trunk/net/ipv6/addrconf.c | 4 +- trunk/net/ipv6/ip6mr.c | 8 +- trunk/net/ipv6/route.c | 4 +- trunk/net/wireless/nl80211.c | 5 +- trunk/net/wireless/reg.c | 1 - trunk/net/wireless/sme.c | 2 - trunk/net/xfrm/xfrm_input.c | 5 - trunk/net/xfrm/xfrm_policy.c | 10 +- trunk/sound/pci/fm801.c | 15 +- trunk/sound/pci/hda/patch_realtek.c | 17 +- trunk/sound/pci/hda/patch_sigmatel.c | 2 - trunk/sound/soc/blackfin/bf5xx-ad73311.c | 2 +- trunk/sound/soc/codecs/ssm2602.c | 3 +- trunk/sound/soc/codecs/wm8962.c | 26 +++ trunk/sound/soc/omap/omap-mcbsp.c | 6 - trunk/sound/soc/soc-core.c | 18 +- trunk/sound/usb/card.c | 7 +- trunk/tools/perf/Makefile | 9 +- trunk/tools/perf/builtin-record.c | 3 - trunk/tools/perf/builtin-test.c | 2 +- trunk/tools/perf/builtin-top.c | 9 +- trunk/tools/perf/util/event.c | 5 - trunk/tools/perf/util/event.h | 2 +- trunk/tools/perf/util/evlist.c | 13 -- trunk/tools/perf/util/evlist.h | 1 - trunk/tools/perf/util/evsel.c | 54 +---- trunk/tools/perf/util/probe-finder.c | 2 +- trunk/tools/perf/util/python.c | 2 +- trunk/tools/perf/util/session.h | 3 +- trunk/tools/perf/util/sort.c | 10 +- trunk/tools/perf/util/symbol.c | 153 ++++---------- 194 files changed, 950 insertions(+), 1331 deletions(-) diff --git a/[refs] b/[refs] index dfcac76d3238..3a918814e52d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 47ea91b4052d9e94b9dca5d7a3d947fbebd07ba9 +refs/heads/master: 5bd078dda4d4fbdb4bd138a6bd5b6e274c019ed2 diff --git a/trunk/Documentation/hwmon/coretemp b/trunk/Documentation/hwmon/coretemp index 84d46c0c71a3..fa8776ab9b18 100644 --- a/trunk/Documentation/hwmon/coretemp +++ b/trunk/Documentation/hwmon/coretemp @@ -35,6 +35,13 @@ the Out-Of-Spec bit. Following table summarizes the exported sysfs files: All Sysfs entries are named with their core_id (represented here by 'X'). tempX_input - Core temperature (in millidegrees Celsius). tempX_max - All cooling devices should be turned on (on Core2). + Initialized with IA32_THERM_INTERRUPT. When the CPU + temperature reaches this temperature, an interrupt is + generated and tempX_max_alarm is set. +tempX_max_hyst - If the CPU temperature falls below than temperature, + an interrupt is generated and tempX_max_alarm is reset. +tempX_max_alarm - Set if the temperature reaches or exceeds tempX_max. + Reset if the temperature drops to or below tempX_max_hyst. tempX_crit - Maximum junction temperature (in millidegrees Celsius). tempX_crit_alarm - Set when Out-of-spec bit is set, never clears. Correct CPU operation is no longer guaranteed. @@ -42,10 +49,9 @@ tempX_label - Contains string "Core X", where X is processor number. For Package temp, this will be "Physical id Y", where Y is the package number. -On CPU models which support it, TjMax is read from a model-specific register. -On other models, it is set to an arbitrary value based on weak heuristics. -If these heuristics don't work for you, you can pass the correct TjMax value -as a module parameter (tjmax). +The TjMax temperature is set to 85 degrees C if undocumented model specific +register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as +(sometimes) documented in processor datasheet. Appendix A. Known TjMax lists (TBD): Some information comes from ark.intel.com diff --git a/trunk/Documentation/networking/scaling.txt b/trunk/Documentation/networking/scaling.txt index 8ce7c30e7230..58fd7414e6c0 100644 --- a/trunk/Documentation/networking/scaling.txt +++ b/trunk/Documentation/networking/scaling.txt @@ -243,7 +243,7 @@ configured. The number of entries in the global flow table is set through: The number of entries in the per-queue flow table are set through: - /sys/class/net//queues/rx-/rps_flow_cnt + /sys/class/net//queues/tx-/rps_flow_cnt == Suggested Configuration diff --git a/trunk/Documentation/vm/transhuge.txt b/trunk/Documentation/vm/transhuge.txt index 29bdf62aac09..0924aaca3302 100644 --- a/trunk/Documentation/vm/transhuge.txt +++ b/trunk/Documentation/vm/transhuge.txt @@ -123,11 +123,10 @@ be automatically shutdown if it's set to "never". khugepaged runs usually at low frequency so while one may not want to invoke defrag algorithms synchronously during the page faults, it should be worth invoking defrag at least in khugepaged. However it's -also possible to disable defrag in khugepaged by writing 0 or enable -defrag in khugepaged by writing 1: +also possible to disable defrag in khugepaged: -echo 0 >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag -echo 1 >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag +echo yes >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag +echo no >/sys/kernel/mm/transparent_hugepage/khugepaged/defrag You can also control how many pages khugepaged should scan at each pass: diff --git a/trunk/Makefile b/trunk/Makefile index 73bb458ecfd3..522fa4784e69 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 1 SUBLEVEL = 0 -EXTRAVERSION = -rc8 +EXTRAVERSION = -rc6 NAME = "Divemaster Edition" # *DOCUMENTATION* diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 3146ed3f6eca..3269576dbfa8 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -1283,20 +1283,6 @@ config ARM_ERRATA_364296 processor into full low interrupt latency mode. ARM11MPCore is not affected. -config ARM_ERRATA_764369 - bool "ARM errata: Data cache line maintenance operation by MVA may not succeed" - depends on CPU_V7 && SMP - help - This option enables the workaround for erratum 764369 - affecting Cortex-A9 MPCore with two or more processors (all - current revisions). Under certain timing circumstances, a data - cache line maintenance operation by MVA targeting an Inner - Shareable memory region may fail to proceed up to either the - Point of Coherency or to the Point of Unification of the - system. This workaround adds a DSB instruction before the - relevant cache maintenance functions and sets a specific bit - in the diagnostic control register of the SCU. - endmenu source "arch/arm/common/Kconfig" diff --git a/trunk/arch/arm/boot/dts/tegra-harmony.dts b/trunk/arch/arm/boot/dts/tegra-harmony.dts index e5818668d091..4c053340ce33 100644 --- a/trunk/arch/arm/boot/dts/tegra-harmony.dts +++ b/trunk/arch/arm/boot/dts/tegra-harmony.dts @@ -57,14 +57,14 @@ }; sdhci@c8000200 { - cd-gpios = <&gpio 69 0>; /* gpio PI5 */ - wp-gpios = <&gpio 57 0>; /* gpio PH1 */ - power-gpios = <&gpio 155 0>; /* gpio PT3 */ + gpios = <&gpio 69 0>, /* cd, gpio PI5 */ + <&gpio 57 0>, /* wp, gpio PH1 */ + <&gpio 155 0>; /* power, gpio PT3 */ }; sdhci@c8000600 { - cd-gpios = <&gpio 58 0>; /* gpio PH2 */ - wp-gpios = <&gpio 59 0>; /* gpio PH3 */ - power-gpios = <&gpio 70 0>; /* gpio PI6 */ + gpios = <&gpio 58 0>, /* cd, gpio PH2 */ + <&gpio 59 0>, /* wp, gpio PH3 */ + <&gpio 70 0>; /* power, gpio PI6 */ }; }; diff --git a/trunk/arch/arm/boot/dts/tegra-seaboard.dts b/trunk/arch/arm/boot/dts/tegra-seaboard.dts index 64cedca6fc79..1940cae00748 100644 --- a/trunk/arch/arm/boot/dts/tegra-seaboard.dts +++ b/trunk/arch/arm/boot/dts/tegra-seaboard.dts @@ -21,8 +21,8 @@ }; sdhci@c8000400 { - cd-gpios = <&gpio 69 0>; /* gpio PI5 */ - wp-gpios = <&gpio 57 0>; /* gpio PH1 */ - power-gpios = <&gpio 70 0>; /* gpio PI6 */ + gpios = <&gpio 69 0>, /* cd, gpio PI5 */ + <&gpio 57 0>, /* wp, gpio PH1 */ + <&gpio 70 0>; /* power, gpio PI6 */ }; }; diff --git a/trunk/arch/arm/include/asm/futex.h b/trunk/arch/arm/include/asm/futex.h index 253cc86318bf..8c73900da9ed 100644 --- a/trunk/arch/arm/include/asm/futex.h +++ b/trunk/arch/arm/include/asm/futex.h @@ -25,17 +25,17 @@ #ifdef CONFIG_SMP -#define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ +#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ smp_mb(); \ __asm__ __volatile__( \ - "1: ldrex %1, [%3]\n" \ + "1: ldrex %1, [%2]\n" \ " " insn "\n" \ - "2: strex %2, %0, [%3]\n" \ - " teq %2, #0\n" \ + "2: strex %1, %0, [%2]\n" \ + " teq %1, #0\n" \ " bne 1b\n" \ " mov %0, #0\n" \ - __futex_atomic_ex_table("%5") \ - : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \ + __futex_atomic_ex_table("%4") \ + : "=&r" (ret), "=&r" (oldval) \ : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \ : "cc", "memory") @@ -73,14 +73,14 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, #include #include -#define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ +#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ __asm__ __volatile__( \ - "1: " T(ldr) " %1, [%3]\n" \ + "1: " T(ldr) " %1, [%2]\n" \ " " insn "\n" \ - "2: " T(str) " %0, [%3]\n" \ + "2: " T(str) " %0, [%2]\n" \ " mov %0, #0\n" \ - __futex_atomic_ex_table("%5") \ - : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \ + __futex_atomic_ex_table("%4") \ + : "=&r" (ret), "=&r" (oldval) \ : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \ : "cc", "memory") @@ -117,7 +117,7 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) int cmp = (encoded_op >> 24) & 15; int oparg = (encoded_op << 8) >> 20; int cmparg = (encoded_op << 20) >> 20; - int oldval = 0, ret, tmp; + int oldval = 0, ret; if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) oparg = 1 << oparg; @@ -129,19 +129,19 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) switch (op) { case FUTEX_OP_SET: - __futex_atomic_op("mov %0, %4", ret, oldval, tmp, uaddr, oparg); + __futex_atomic_op("mov %0, %3", ret, oldval, uaddr, oparg); break; case FUTEX_OP_ADD: - __futex_atomic_op("add %0, %1, %4", ret, oldval, tmp, uaddr, oparg); + __futex_atomic_op("add %0, %1, %3", ret, oldval, uaddr, oparg); break; case FUTEX_OP_OR: - __futex_atomic_op("orr %0, %1, %4", ret, oldval, tmp, uaddr, oparg); + __futex_atomic_op("orr %0, %1, %3", ret, oldval, uaddr, oparg); break; case FUTEX_OP_ANDN: - __futex_atomic_op("and %0, %1, %4", ret, oldval, tmp, uaddr, ~oparg); + __futex_atomic_op("and %0, %1, %3", ret, oldval, uaddr, ~oparg); break; case FUTEX_OP_XOR: - __futex_atomic_op("eor %0, %1, %4", ret, oldval, tmp, uaddr, oparg); + __futex_atomic_op("eor %0, %1, %3", ret, oldval, uaddr, oparg); break; default: ret = -ENOSYS; diff --git a/trunk/arch/arm/include/asm/unistd.h b/trunk/arch/arm/include/asm/unistd.h index c60a2944f95b..2c04ed5efeb5 100644 --- a/trunk/arch/arm/include/asm/unistd.h +++ b/trunk/arch/arm/include/asm/unistd.h @@ -478,8 +478,8 @@ /* * Unimplemented (or alternatively implemented) syscalls */ -#define __IGNORE_fadvise64_64 -#define __IGNORE_migrate_pages +#define __IGNORE_fadvise64_64 1 +#define __IGNORE_migrate_pages 1 #endif /* __KERNEL__ */ #endif /* __ASM_ARM_UNISTD_H */ diff --git a/trunk/arch/arm/kernel/smp_scu.c b/trunk/arch/arm/kernel/smp_scu.c index 7fcddb75c877..79ed5e7f204a 100644 --- a/trunk/arch/arm/kernel/smp_scu.c +++ b/trunk/arch/arm/kernel/smp_scu.c @@ -13,7 +13,6 @@ #include #include -#include #define SCU_CTRL 0x00 #define SCU_CONFIG 0x04 @@ -38,15 +37,6 @@ void __init scu_enable(void __iomem *scu_base) { u32 scu_ctrl; -#ifdef CONFIG_ARM_ERRATA_764369 - /* Cortex-A9 only */ - if ((read_cpuid(CPUID_ID) & 0xff0ffff0) == 0x410fc090) { - scu_ctrl = __raw_readl(scu_base + 0x30); - if (!(scu_ctrl & 1)) - __raw_writel(scu_ctrl | 0x1, scu_base + 0x30); - } -#endif - scu_ctrl = __raw_readl(scu_base + SCU_CTRL); /* already enabled? */ if (scu_ctrl & 1) diff --git a/trunk/arch/arm/kernel/vmlinux.lds.S b/trunk/arch/arm/kernel/vmlinux.lds.S index 4e66f62b8d41..bf977f8514f6 100644 --- a/trunk/arch/arm/kernel/vmlinux.lds.S +++ b/trunk/arch/arm/kernel/vmlinux.lds.S @@ -23,10 +23,8 @@ #if defined(CONFIG_SMP_ON_UP) && !defined(CONFIG_DEBUG_SPINLOCK) #define ARM_EXIT_KEEP(x) x -#define ARM_EXIT_DISCARD(x) #else #define ARM_EXIT_KEEP(x) -#define ARM_EXIT_DISCARD(x) x #endif OUTPUT_ARCH(arm) @@ -41,11 +39,6 @@ jiffies = jiffies_64 + 4; SECTIONS { /* - * XXX: The linker does not define how output sections are - * assigned to input sections when there are multiple statements - * matching the same input section name. There is no documented - * order of matching. - * * unwind exit sections must be discarded before the rest of the * unwind sections get included. */ @@ -54,9 +47,6 @@ SECTIONS *(.ARM.extab.exit.text) ARM_CPU_DISCARD(*(.ARM.exidx.cpuexit.text)) ARM_CPU_DISCARD(*(.ARM.extab.cpuexit.text)) - ARM_EXIT_DISCARD(EXIT_TEXT) - ARM_EXIT_DISCARD(EXIT_DATA) - EXIT_CALL #ifndef CONFIG_HOTPLUG *(.ARM.exidx.devexit.text) *(.ARM.extab.devexit.text) @@ -68,8 +58,6 @@ SECTIONS #ifndef CONFIG_SMP_ON_UP *(.alt.smp.init) #endif - *(.discard) - *(.discard.*) } #ifdef CONFIG_XIP_KERNEL @@ -291,6 +279,9 @@ SECTIONS STABS_DEBUG .comment 0 : { *(.comment) } + + /* Default discards */ + DISCARDS } /* diff --git a/trunk/arch/arm/mach-dove/common.c b/trunk/arch/arm/mach-dove/common.c index a9e0dae86a26..83dce859886d 100644 --- a/trunk/arch/arm/mach-dove/common.c +++ b/trunk/arch/arm/mach-dove/common.c @@ -158,7 +158,7 @@ void __init dove_spi0_init(void) void __init dove_spi1_init(void) { - orion_spi_1_init(DOVE_SPI1_PHYS_BASE, get_tclk()); + orion_spi_init(DOVE_SPI1_PHYS_BASE, get_tclk()); } /***************************************************************************** diff --git a/trunk/arch/arm/mach-exynos4/clock.c b/trunk/arch/arm/mach-exynos4/clock.c index 86964d2e9e1b..1561b036a9bf 100644 --- a/trunk/arch/arm/mach-exynos4/clock.c +++ b/trunk/arch/arm/mach-exynos4/clock.c @@ -899,7 +899,8 @@ static struct clksrc_clk clksrcs[] = { .reg_div = { .reg = S5P_CLKDIV_CAM, .shift = 28, .size = 4 }, }, { .clk = { - .name = "sclk_cam0", + .name = "sclk_cam", + .devname = "exynos4-fimc.0", .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 16), }, @@ -908,7 +909,8 @@ static struct clksrc_clk clksrcs[] = { .reg_div = { .reg = S5P_CLKDIV_CAM, .shift = 16, .size = 4 }, }, { .clk = { - .name = "sclk_cam1", + .name = "sclk_cam", + .devname = "exynos4-fimc.1", .enable = exynos4_clksrc_mask_cam_ctrl, .ctrlbit = (1 << 20), }, @@ -1158,7 +1160,7 @@ void __init_or_cpufreq exynos4_setup_clocks(void) vpllsrc = clk_get_rate(&clk_vpllsrc.clk); vpll = s5p_get_pll46xx(vpllsrc, __raw_readl(S5P_VPLL_CON0), - __raw_readl(S5P_VPLL_CON1), pll_4650c); + __raw_readl(S5P_VPLL_CON1), pll_4650); clk_fout_apll.ops = &exynos4_fout_apll_ops; clk_fout_mpll.rate = mpll; diff --git a/trunk/arch/arm/mach-exynos4/mct.c b/trunk/arch/arm/mach-exynos4/mct.c index ddd86864fb83..1ae059b7ad7b 100644 --- a/trunk/arch/arm/mach-exynos4/mct.c +++ b/trunk/arch/arm/mach-exynos4/mct.c @@ -132,18 +132,12 @@ static cycle_t exynos4_frc_read(struct clocksource *cs) return ((cycle_t)hi << 32) | lo; } -static void exynos4_frc_resume(struct clocksource *cs) -{ - exynos4_mct_frc_start(0, 0); -} - struct clocksource mct_frc = { .name = "mct-frc", .rating = 400, .read = exynos4_frc_read, .mask = CLOCKSOURCE_MASK(64), .flags = CLOCK_SOURCE_IS_CONTINUOUS, - .resume = exynos4_frc_resume, }; static void __init exynos4_clocksource_init(void) @@ -395,11 +389,9 @@ static void exynos4_mct_tick_init(struct clock_event_device *evt) } /* Setup the local clock events for a CPU */ -int __cpuinit local_timer_setup(struct clock_event_device *evt) +void __cpuinit local_timer_setup(struct clock_event_device *evt) { exynos4_mct_tick_init(evt); - - return 0; } int local_timer_ack(void) diff --git a/trunk/arch/arm/mach-exynos4/platsmp.c b/trunk/arch/arm/mach-exynos4/platsmp.c index df6ef1b2f98b..7c2282c6ba81 100644 --- a/trunk/arch/arm/mach-exynos4/platsmp.c +++ b/trunk/arch/arm/mach-exynos4/platsmp.c @@ -106,8 +106,6 @@ void __cpuinit platform_secondary_init(unsigned int cpu) */ spin_lock(&boot_lock); spin_unlock(&boot_lock); - - set_cpu_online(cpu, true); } int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) diff --git a/trunk/arch/arm/mach-exynos4/setup-keypad.c b/trunk/arch/arm/mach-exynos4/setup-keypad.c index 7862bfb5933d..1ee0ebff111f 100644 --- a/trunk/arch/arm/mach-exynos4/setup-keypad.c +++ b/trunk/arch/arm/mach-exynos4/setup-keypad.c @@ -19,16 +19,15 @@ void samsung_keypad_cfg_gpio(unsigned int rows, unsigned int cols) if (rows > 8) { /* Set all the necessary GPX2 pins: KP_ROW[0~7] */ - s3c_gpio_cfgall_range(EXYNOS4_GPX2(0), 8, S3C_GPIO_SFN(3), - S3C_GPIO_PULL_UP); + s3c_gpio_cfgrange_nopull(EXYNOS4_GPX2(0), 8, S3C_GPIO_SFN(3)); /* Set all the necessary GPX3 pins: KP_ROW[8~] */ - s3c_gpio_cfgall_range(EXYNOS4_GPX3(0), (rows - 8), - S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); + s3c_gpio_cfgrange_nopull(EXYNOS4_GPX3(0), (rows - 8), + S3C_GPIO_SFN(3)); } else { /* Set all the necessary GPX2 pins: KP_ROW[x] */ - s3c_gpio_cfgall_range(EXYNOS4_GPX2(0), rows, S3C_GPIO_SFN(3), - S3C_GPIO_PULL_UP); + s3c_gpio_cfgrange_nopull(EXYNOS4_GPX2(0), rows, + S3C_GPIO_SFN(3)); } /* Set all the necessary GPX1 pins to special-function 3: KP_COL[x] */ diff --git a/trunk/arch/arm/mach-integrator/integrator_ap.c b/trunk/arch/arm/mach-integrator/integrator_ap.c index 8cdc730dcb3a..fcf0ae95651f 100644 --- a/trunk/arch/arm/mach-integrator/integrator_ap.c +++ b/trunk/arch/arm/mach-integrator/integrator_ap.c @@ -32,7 +32,6 @@ #include #include #include -#include