1. 09 4月, 2014 13 次提交
    • M
      power, sched: stop updating inside arch_update_cpu_topology() when nothing to be update · 9a013361
      Michael Wang 提交于
      Since v1:
      	Edited the comment according to Srivatsa's suggestion.
      
      During the testing, we encounter below WARN followed by Oops:
      
      	WARNING: at kernel/sched/core.c:6218
      	...
      	NIP [c000000000101660] .build_sched_domains+0x11d0/0x1200
      	LR [c000000000101358] .build_sched_domains+0xec8/0x1200
      	PACATMSCRATCH [800000000000f032]
      	Call Trace:
      	[c00000001b103850] [c000000000101358] .build_sched_domains+0xec8/0x1200
      	[c00000001b1039a0] [c00000000010aad4] .partition_sched_domains+0x484/0x510
      	[c00000001b103aa0] [c00000000016d0a8] .rebuild_sched_domains+0x68/0xa0
      	[c00000001b103b30] [c00000000005cbf0] .topology_work_fn+0x10/0x30
      	...
      	Oops: Kernel access of bad area, sig: 11 [#1]
      	...
      	NIP [c00000000045c000] .__bitmap_weight+0x60/0xf0
      	LR [c00000000010132c] .build_sched_domains+0xe9c/0x1200
      	PACATMSCRATCH [8000000000029032]
      	Call Trace:
      	[c00000001b1037a0] [c000000000288ff4] .kmem_cache_alloc_node_trace+0x184/0x3a0
      	[c00000001b103850] [c00000000010132c] .build_sched_domains+0xe9c/0x1200
      	[c00000001b1039a0] [c00000000010aad4] .partition_sched_domains+0x484/0x510
      	[c00000001b103aa0] [c00000000016d0a8] .rebuild_sched_domains+0x68/0xa0
      	[c00000001b103b30] [c00000000005cbf0] .topology_work_fn+0x10/0x30
      	...
      
      This was caused by that 'sd->groups == NULL' after building groups, which
      was caused by the empty 'sd->span'.
      
      The cpu's domain contained nothing because the cpu was assigned to a wrong
      node, due to the following unfortunate sequence of events:
      
      1. The hypervisor sent a topology update to the guest OS, to notify changes
         to the cpu-node mapping. However, the update was actually redundant - i.e.,
         the "new" mapping was exactly the same as the old one.
      
      2. Due to this, the 'updated_cpus' mask turned out to be empty after exiting
         the 'for-loop' in arch_update_cpu_topology().
      
      3. So we ended up calling stop-machine() with an empty cpumask list, which made
         stop-machine internally elect cpumask_first(cpu_online_mask), i.e., CPU0 as
         the cpu to run the payload (the update_cpu_topology() function).
      
      4. This causes update_cpu_topology() to be run by CPU0. And since 'updates'
         is kzalloc()'ed inside arch_update_cpu_topology(), update_cpu_topology()
         finds update->cpu as well as update->new_nid to be 0. In other words, we
         end up assigning CPU0 (and eventually its siblings) to node 0, incorrectly.
      
      Along with the following wrong updating, it causes the sched-domain rebuild
      code to break and crash the system.
      
      Fix this by skipping the topology update in cases where we find that
      the topology has not actually changed in reality (ie., spurious updates).
      
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Paul Mackerras <paulus@samba.org>
      CC: Nathan Fontenot <nfont@linux.vnet.ibm.com>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      CC: Andrew Morton <akpm@linux-foundation.org>
      CC: Robert Jennings <rcj@linux.vnet.ibm.com>
      CC: Jesse Larrew <jlarrew@linux.vnet.ibm.com>
      CC: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
      CC: Alistair Popple <alistair@popple.id.au>
      Suggested-by: N"Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: NMichael Wang <wangyun@linux.vnet.ibm.com>
      Reviewed-by: NSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      9a013361
    • T
      powerpc/le: Avoid creatng R_PPC64_TOCSAVE relocations for modules. · d3d35d95
      Tony Breeds 提交于
      When building modules with a native le toolchain the linker will
      generate R_PPC64_TOCSAVE relocations when it's safe to omit saving r2 on
      a plt call.  This isn't helpful in the conext of a kernel module and the
      kernel will fail to load those modules with an error like:
      	nf_conntrack: Unknown ADD relocation: 109
      
      This patch tells the linker to avoid createing R_PPC64_TOCSAVE
      relocations allowing modules to load.
      Signed-off-by: NTony Breeds <tony@bakeyournoodle.com>
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      d3d35d95
    • M
      arch/powerpc: Use RCU_INIT_POINTER(x, NULL) in platforms/cell/spu_syscalls.c · 282efb70
      Monam Agarwal 提交于
      Here rcu_assign_pointer() is ensuring that the
      initialization of a structure is carried out before storing a pointer
      to that structure.
      So, rcu_assign_pointer(p, NULL) can always safely be converted to
      RCU_INIT_POINTER(p, NULL).
      Signed-off-by: NMonam Agarwal <monamagarwal123@gmail.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      282efb70
    • M
      powerpc/opal: Add missing include · bfd25d72
      Michael Neuling 提交于
      next-20140324 currently fails compiling celleb_defconfig with:
      
      arch/powerpc/include/asm/opal.h:894:42: error: 'struct notifier_block' declared inside parameter list [-Werror]
      arch/powerpc/include/asm/opal.h:894:42: error: its scope is only this definition or declaration, which is probably not what you want [-Werror]
      arch/powerpc/include/asm/opal.h:896:14: error: 'struct notifier_block' declared inside parameter list [-Werror]
      
      This is due to a missing include which is added here.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      bfd25d72
    • J
      powerpc: Convert last uses of __FUNCTION__ to __func__ · aba6f4f2
      Joe Perches 提交于
      Just about all of these have been converted to __func__,
      so convert the last uses.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      aba6f4f2
    • A
      powerpc: Add lq/stq emulation · f83319d7
      Anton Blanchard 提交于
      Recent CPUs support quad word load and store instructions. Add
      support to the alignment handler for them.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      f83319d7
    • J
      powerpc/powernv: Add invalid OPAL call · e28b05e7
      Joel Stanley 提交于
      This call will not be understood by OPAL, and cause it to add an error
      to it's log. Among other things, this is useful for testing the
      behaviour of the log as it fills up.
      Signed-off-by: NJoel Stanley <joel@jms.id.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e28b05e7
    • J
      powerpc/powernv: Add OPAL message log interface · bfc36894
      Joel Stanley 提交于
      OPAL provides an in-memory circular buffer containing a message log
      populated with various runtime messages produced by the firmware.
      
      Provide a sysfs interface /sys/firmware/opal/msglog for userspace to
      view the messages.
      Signed-off-by: NJoel Stanley <joel@jms.id.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      bfc36894
    • M
      powerpc/book3s: Fix mc_recoverable_range buffer overrun issue. · 6e556b47
      Mahesh Salgaonkar 提交于
      Currently we wrongly allocate mc_recoverable_range buffer (to hold
      recoverable ranges) based on size of the property "mcheck-recoverable-ranges".
      This results in allocating less memory to hold available recoverable range
      entries from /proc/device-tree/ibm,opal/mcheck-recoverable-ranges.
      
      This patch fixes this issue by allocating mc_recoverable_range buffer based
      on number of entries of recoverable ranges instead of device property size.
      Without this change we end up allocating less memory and run into memory
      corruption issue.
      Signed-off-by: NMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      6e556b47
    • M
      powerpc: Remove dead code in sycall entry · fa5c11b7
      Michael Neuling 提交于
      In:
        commit 742415d6
        Author: Michael Neuling <mikey@neuling.org>
        powerpc: Turn syscall handler into macros
      
      We converted the syscall entry code onto macros, but in doing this we
      introduced some cruft that's never run and should never have been added.
      
      This removes that code.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      fa5c11b7
    • L
      powerpc: Use of_node_init() for the fakenode in msi_bitmap.c · e47ff70a
      Li Zhong 提交于
      This patch uses of_node_init() to initialize the kobject in the fake
      node used in test_of_node(), to avoid following kobject warning.
      
      [    0.897654] kobject: '(null)' (c0000007ca183a08): is not initialized, yet kobject_put() is being called.
      [    0.897682] ------------[ cut here ]------------
      [    0.897688] WARNING: at lib/kobject.c:670
      [    0.897692] Modules linked in:
      [    0.897701] CPU: 4 PID: 1 Comm: swapper/0 Not tainted 3.14.0+ #1
      [    0.897708] task: c0000007ca100000 ti: c0000007ca180000 task.ti: c0000007ca180000
      [    0.897715] NIP: c00000000046a1f0 LR: c00000000046a1ec CTR: 0000000001704660
      [    0.897721] REGS: c0000007ca1835c0 TRAP: 0700   Not tainted  (3.14.0+)
      [    0.897727] MSR: 8000000000029032 <SF,EE,ME,IR,DR,RI>  CR: 28000024  XER: 0000000d
      [    0.897749] CFAR: c0000000008ef4ec SOFTE: 1
      GPR00: c00000000046a1ec c0000007ca183840 c0000000014c59b8 000000000000005c
      GPR04: 0000000000000001 c000000000129770 0000000000000000 0000000000000001
      GPR08: 0000000000000000 0000000000000000 0000000000000000 0000000000003fef
      GPR12: 0000000000000000 c00000000f221200 c00000000000c350 0000000000000000
      GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
      GPR24: 0000000000000000 c00000000144e808 c000000000c56f20 00000000000000d8
      GPR28: c000000000cd5058 0000000000000000 c000000001454ca8 c0000007ca183a08
      [    0.897856] NIP [c00000000046a1f0] .kobject_put+0xa0/0xb0
      [    0.897863] LR [c00000000046a1ec] .kobject_put+0x9c/0xb0
      [    0.897868] Call Trace:
      [    0.897874] [c0000007ca183840] [c00000000046a1ec] .kobject_put+0x9c/0xb0 (unreliable)
      [    0.897885] [c0000007ca1838c0] [c000000000743f9c] .of_node_put+0x2c/0x50
      [    0.897894] [c0000007ca183940] [c000000000c83954] .test_of_node+0x1dc/0x208
      [    0.897902] [c0000007ca183b80] [c000000000c839a4] .msi_bitmap_selftest+0x24/0x38
      [    0.897913] [c0000007ca183bf0] [c00000000000bb34] .do_one_initcall+0x144/0x200
      [    0.897922] [c0000007ca183ce0] [c000000000c748e4] .kernel_init_freeable+0x2b4/0x394
      [    0.897931] [c0000007ca183db0] [c00000000000c374] .kernel_init+0x24/0x130
      [    0.897940] [c0000007ca183e30] [c00000000000a2f4] .ret_from_kernel_thread+0x5c/0x68
      [    0.897947] Instruction dump:
      [    0.897952] 7fe3fb78 38210080 e8010010 ebe1fff8 7c0803a6 4800014c e89f0000 3c62ff6e
      [    0.897971] 7fe5fb78 3863a950 48485279 60000000 <0fe00000> 39000000 393f0038 4bffff80
      [    0.897992] ---[ end trace 1eeffdb9f825a556 ]---
      Signed-off-by: NLi Zhong <zhong@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e47ff70a
    • A
      powerpc/mm: NUMA pte should be handled via slow path in get_user_pages_fast() · 1dc954bd
      Aneesh Kumar K.V 提交于
      We need to handle numa pte via the slow path
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      1dc954bd
    • A
      powerpc/powernv: Fix endian issues with sensor code · 9000c17d
      Anton Blanchard 提交于
      One OPAL call and one device tree property needed byte swapping.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      9000c17d
  2. 07 4月, 2014 11 次提交
  3. 06 4月, 2014 16 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 18a1a7a1
      Linus Torvalds 提交于
      Pull arch/tile updates from Chris Metcalf:
       "These fix a few stray build issues seen in linux-next, and also add
        the minimal required support for perf to tilegx"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        arch/tile: remove unused variable 'devcap'
        tile: Fix vDSO compilation issue with allyesconfig
        perf tools: Allow building for tile
        tile/perf: Support perf_events on tilegx and tilepro
        tile: Enable NMIs on return from handle_nmi() without errors
        tile: Add support for handling PMC hardware
        tile: don't use __get_cpu_var() with structure-typed arguments
        tile: avoid overflow in ns2cycles
      18a1a7a1
    • L
      Merge tag 'dm-3.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 04535d27
      Linus Torvalds 提交于
      Pull device mapper changes from Mike Snitzer:
      
       - Fix dm-cache corruption caused by discard_block_size > cache_block_size
      
       - Fix a lock-inversion detected by LOCKDEP in dm-cache
      
       - Fix a dangling bio bug in the dm-thinp target's process_deferred_bios
         error path
      
       - Fix corruption due to non-atomic transaction commit which allowed a
         metadata superblock to be written before all other metadata was
         successfully written -- this is common to all targets that use the
         persistent-data library's transaction manager (dm-thinp, dm-cache and
         dm-era).
      
       - Various small cleanups in the DM core
      
       - Add the dm-era target which is useful for keeping track of which
         blocks were written within a user defined period of time called an
         'era'.  Use cases include tracking changed blocks for backup
         software, and partially invalidating the contents of a cache to
         restore cache coherency after rolling back a vendor snapshot.
      
       - Improve the on-disk layout of multithreaded writes to the
         dm-thin-pool by splitting the pool's deferred bio list to be a
         per-thin device list and then sorting that list using an rb_tree.
         The subsequent read throughput of the data written via multiple
         threads improved by ~70%.
      
       - Simplify the multipath target's handling of queuing IO by pushing
         requests back to the request queue rather than queueing the IO
         internally.
      
      * tag 'dm-3.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (24 commits)
        dm cache: fix a lock-inversion
        dm thin: sort the per thin deferred bios using an rb_tree
        dm thin: use per thin device deferred bio lists
        dm thin: simplify pool_is_congested
        dm thin: fix dangling bio in process_deferred_bios error path
        dm mpath: print more useful warnings in multipath_message()
        dm-mpath: do not activate failed paths
        dm mpath: remove extra nesting in map function
        dm mpath: remove map_io()
        dm mpath: reduce memory pressure when requeuing
        dm mpath: remove process_queued_ios()
        dm mpath: push back requests instead of queueing
        dm table: add dm_table_run_md_queue_async
        dm mpath: do not call pg_init when it is already running
        dm: use RCU_INIT_POINTER instead of rcu_assign_pointer in __unbind
        dm: stop using bi_private
        dm: remove dm_get_mapinfo
        dm: make dm_table_alloc_md_mempools static
        dm: take care to copy the space map roots before locking the superblock
        dm transaction manager: fix corruption due to non-atomic transaction commit
        ...
      04535d27
    • L
      Merge tag 'iommu-updates-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 3f583bc2
      Linus Torvalds 提交于
      Pull IOMMU upates from Joerg Roedel:
       "This time a few more updates queued up.
      
         - Rework VT-d code to support ACPI devices
      
         - Improvements for memory and PCI hotplug support in the VT-d driver
      
         - Device-tree support for OMAP IOMMU
      
         - Convert OMAP IOMMU to use devm_* interfaces
      
         - Fixed PASID support for AMD IOMMU
      
         - Other random cleanups and fixes for OMAP, ARM-SMMU and SHMOBILE
           IOMMU
      
        Most of the changes are in the VT-d driver because some rework was
        necessary for better hotplug and ACPI device support"
      
      * tag 'iommu-updates-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (75 commits)
        iommu/vt-d: Fix error handling in ANDD processing
        iommu/vt-d: returning free pointer in get_domain_for_dev()
        iommu/vt-d: Only call dmar_acpi_dev_scope_init() if DRHD units present
        iommu/vt-d: Check for NULL pointer in dmar_acpi_dev_scope_init()
        iommu/amd: Fix logic to determine and checking max PASID
        iommu/vt-d: Include ACPI devices in iommu=pt
        iommu/vt-d: Finally enable translation for non-PCI devices
        iommu/vt-d: Remove to_pci_dev() in intel_map_page()
        iommu/vt-d: Remove pdev from intel_iommu_attach_device()
        iommu/vt-d: Remove pdev from iommu_no_mapping()
        iommu/vt-d: Make domain_add_dev_info() take struct device
        iommu/vt-d: Make domain_remove_one_dev_info() take struct device
        iommu/vt-d: Rename 'hwdev' variables to 'dev' now that that's the norm
        iommu/vt-d: Remove some pointless to_pci_dev() calls
        iommu/vt-d: Make get_valid_domain_for_dev() take struct device
        iommu/vt-d: Make iommu_should_identity_map() take struct device
        iommu/vt-d: Handle RMRRs for non-PCI devices
        iommu/vt-d: Make get_domain_for_dev() take struct device
        iommu/vt-d: Make domain_context_mapp{ed,ing}() take struct device
        iommu/vt-d: Make device_to_iommu() cope with non-PCI devices
        ...
      3f583bc2
    • L
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 3e76b749
      Linus Torvalds 提交于
      Pull hwmon updates from Jean Delvare:
       "This includes a number of driver conversions to
        devm_hwmon_device_register_with_groups, a few cleanups, and
        support for the ITE IT8623E"
      
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        hwmon: (it87) Add support for IT8623E
        hwmon: (it87) Fix IT8603E define name
        hwmon: (lm90) Convert to use hwmon_device_register_with_groups
        hwmon: (lm90) Create all sysfs groups in one call
        hwmon: (lm90) Always use the dev variable in the probe function
        hwmon: (lm90) Create most optional attributes with sysfs_create_group
        hwmon: Avoid initializing the same field twice
        hwmon: (pc87360) Avoid initializing the same field twice
        hwmon: (lm80) Convert to use devm_hwmon_device_register_with_groups
        hwmon: (adm1021) Convert to use devm_hwmon_device_register_with_groups
        hwmon: (lm63) Avoid initializing the same field twice
        hwmon: (lm63) Convert to use devm_hwmon_device_register_with_groups
        hwmon: (lm63) Create all sysfs groups in one call
        hwmon: (lm63) Introduce 'dev' variable to point to client->dev
        hwmon: (lm63) Add additional sysfs group for temp2_type attribute
        hwmon: (f71805f) Fix author's address
      3e76b749
    • L
      Merge tag 'clk-for-linus-3.15' of git://git.linaro.org/people/mike.turquette/linux · 19bc2eec
      Linus Torvalds 提交于
      Pull clock framework changes from Mike Turquette:
       "The clock framework changes for 3.15 look similar to past pull
        requests.  Mostly clock driver updates, more Device Tree support in
        the form of common functions useful across platforms and a handful of
        features and fixes to the framework core"
      
      * tag 'clk-for-linus-3.15' of git://git.linaro.org/people/mike.turquette/linux: (86 commits)
        clk: shmobile: fix setting paretn clock rate
        clk: shmobile: rcar-gen2: fix lb/sd0/sd1/sdh clock parent to pll1
        clk: Fix minor errors in of_clk_init() function comments
        clk: reverse default clk provider initialization order in of_clk_init()
        clk: sirf: update copyright years to 2014
        clk: mmp: try to use closer one when do round rate
        clk: mmp: fix the wrong calculation formula
        clk: mmp: fix wrong mask when calculate denominator
        clk: st: Adds quadfs clock binding
        clk: st: Adds clockgen-vcc and clockgen-mux clock binding
        clk: st: Adds clockgen clock binding
        clk: st: Adds divmux and prediv clock binding
        clk: st: Support for A9 MUX clocks
        clk: st: Support for ClockGenA9/DDR/GPU
        clk: st: Support for QUADFS inside ClockGenB/C/D/E/F
        clk: st: Support for VCC-mux and MUX clocks
        clk: st: Support for PLLs inside ClockGenA(s)
        clk: st: Support for DIVMUX and PreDiv Clocks
        clk: support hardware-specific debugfs entries
        clk: s2mps11: Use of_get_child_by_name
        ...
      19bc2eec
    • L
      Merge tag 'pwm/for-3.15-rc1' of... · 9712d3c3
      Linus Torvalds 提交于
      Merge tag 'pwm/for-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm changes from Thierry Reding:
       "The legacy HAVE_PWM Kconfig symbol is finally being retired.  Thanks a
        lot to Sascha Hauer for doing that.
      
        Three new drivers are added: Freescale FTM, Cirrus Logic CLPS711X and
        Intel Low Power Subsystem.
      
        An assortment of fixes and cleanups rounds things off for this release
        cycle"
      
      * tag 'pwm/for-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: pxa: Constify OF match table
        pwm: pxa: Fix typo "pwm" -> "PWM"
        Revert "pwm: pxa: Use of_match_ptr()"
        pwm: add support for Intel Low Power Subsystem PWM
        pwm: Add CLPS711X PWM support
        pwm: atmel: correct CDTY calculation
        pwm: atmel: Fix polarity handling
        Documentation: Add device tree bindings for Freescale FTM PWM.
        pwm: Add Freescale FTM PWM driver support
        pwm: pxa: Use of_match_ptr()
        pwm: samsung: Use SIMPLE_DEV_PM_OPS macro
        pwm: renesas-tpu: Add dependency on HAS_IOMEM
        pwm: Remove obsolete HAVE_PWM Kconfig symbol
      9712d3c3
    • L
      Merge tag 'tags/cleanup2-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2bf73dd6
      Linus Torvalds 提交于
      Pull ARM SoC late cleanups from Arnd Bergmann:
       "These could not be part of the first cleanup branch, because they
        either came too late in the cycle, or they have dependencies on other
        branches.  Important changes are:
      
         - The integrator platform is almost multiplatform capable after some
           reorganization (Linus Walleij)
         - Minor cleanups on Zynq (Michal Simek)
         - Lots of changes for Exynos and other Samsung platforms, including
           further preparations for multiplatform support and the clocks
           bindings are rearranged"
      
      * tag 'tags/cleanup2-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
        devicetree: fix newly added exynos sata bindings
        ARM: EXYNOS: Fix compilation error in cpuidle.c
        ARM: S5P64X0: Explicitly include linux/serial_s3c.h in mach/pm-core.h
        ARM: EXYNOS: Remove hardware.h file
        ARM: SAMSUNG: Remove hardware.h inclusion
        ARM: S3C24XX: Remove invalid code from hardware.h
        dt-bindings: clock: Move exynos-audss-clk.h to dt-bindings/clock
        ARM: dts: Keep some essential LDOs enabled for arndale-octa board
        ARM: dts: Disable MDMA1 node for arndale-octa board
        ARM: S3C64XX: Fix build for implicit serial_s3c.h inclusion
        serial: s3c: Fix build of header without serial_core.h preinclusion
        ARM: EXYNOS: Allow wake-up using GIC interrupts
        ARM: EXYNOS: Stop using legacy Samsung PM code
        ARM: EXYNOS: Remove PM initcalls and useless indirection
        ARM: EXYNOS: Fix abuse of CONFIG_PM
        ARM: SAMSUNG: Move s3c_pm_check_* prototypes to plat/pm-common.h
        ARM: SAMSUNG: Move common save/restore helpers to separate file
        ARM: SAMSUNG: Move Samsung PM debug code into separate file
        ARM: SAMSUNG: Consolidate PM debug functions
        ARM: SAMSUNG: Use debug_ll_addr() to get UART base address
        ...
      2bf73dd6
    • L
      Merge tag 'sh-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d2b150d0
      Linus Torvalds 提交于
      Pull ARM SoC sh driver change from Arnd Bergmann:
       "The drivers/sh subdirectory used to get merged through the SH
        architecture tree, but things are in flux there and some of the
        drivers are shared with ARM shmobile, we have picked it up for the
        time being.
      
        There is only one trivial patch from Laurent Pinchart this time"
      
      * tag 'sh-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        sh: intc: Enable driver compilation with COMPILE_TEST
      d2b150d0
    • L
      Merge tag 'drivers-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · cbda94e0
      Linus Torvalds 提交于
      Pull ARM SoC driver changes from Arnd Bergmann:
       "These changes are mostly for ARM specific device drivers that either
        don't have an upstream maintainer, or that had the maintainer ask us
        to pick up the changes to avoid conflicts.
      
        A large chunk of this are clock drivers (bcm281xx, exynos, versatile,
        shmobile), aside from that, reset controllers for STi as well as a
        large rework of the Marvell Orion/EBU watchdog driver are notable"
      
      * tag 'drivers-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (99 commits)
        Revert "dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac."
        Revert "net: stmmac: Add SOCFPGA glue driver"
        ARM: shmobile: r8a7791: Fix SCIFA3-5 clocks
        ARM: STi: Add reset controller support to mach-sti Kconfig
        drivers: reset: stih416: add softreset controller
        drivers: reset: stih415: add softreset controller
        drivers: reset: Reset controller driver for STiH416
        drivers: reset: Reset controller driver for STiH415
        drivers: reset: STi SoC system configuration reset controller support
        dts: socfpga: Add sysmgr node so the gmac can use to reference
        dts: socfpga: Add support for SD/MMC on the SOCFPGA platform
        reset: Add optional resets and stubs
        ARM: shmobile: r7s72100: fix bus clock calculation
        Power: Reset: Generalize qnap-poweroff to work on Synology devices.
        dts: socfpga: Update clock entry to support multiple parents
        ARM: socfpga: Update socfpga_defconfig
        dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac.
        net: stmmac: Add SOCFPGA glue driver
        watchdog: orion_wdt: Use %pa to print 'phys_addr_t'
        drivers: cci: Export CCI PMU revision
        ...
      cbda94e0
    • L
      Merge tag 'dt-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f83ccb93
      Linus Torvalds 提交于
      Pull ARM SoC device tree changes from Arnd Bergmann:
       "A large part of the arm-soc patches are nowadays DT changes, adding
        support for new SoCs, boards and devices without changing kernel
        source.  The plan is still to move the devicetree files out of the
        kernel tree and reduce the amount of churn going on here, but we keep
        finding reasons to delay doing that.
      
        Changes are really all over the place, with little sticking out
        particularly.  We have contributions from a total of 116 people in
        this branch.
      
        Unfortunately, the size of this branch also causes a significant
        number of conflicts at the moment, typically when subsystem
        maintainers merge patches that change the driver at the same time as
        the dts files.  In most cases this could be avoided because the dts
        changes are supposed to be compatible in both ways, and we are asking
        everyone to send ARM dts changes through our tree only"
      
      * tag 'dt-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (541 commits)
        dts: stmmac: Document the clocks property in the stmmac base document
        dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac.
        ARM: STi: stih41x: Add support for the FSM Serial Flash Controller
        ARM: STi: stih416: Add support for the FSM Serial Flash Controller
        ARM: tegra: fix Dalmore pinctrl configuration
        ARM: dts: keystone: use common "ti,keystone" compatible instead of -evm
        ARM: dts: k2hk-evm: set ubifs partition size for 512M NAND
        ARM: dts: Build all keystone dt blobs
        ARM: dts: keystone: Fix control register range for clktsip
        ARM: dts: keystone: Fix domain register range for clkfftc1
        ARM: dts: bcm28155-ap: leave camldo1 on to fix reboot
        ARM: dts: add bcm590xx pmu support and enable for bcm28155-ap
        ARM: dts: bcm21664: Add device tree files.
        ARM: DT: bcm21664: Device tree bindings
        ARM: efm32: properly namespace i2c location property
        ARM: efm32: fix unit address part in USART2 device nodes' names
        ARM: mvebu: Enable NAND controller in Armada 385-DB
        ARM: mvebu: Add support for NAND controller in Armada 38x SoC
        ARM: mvebu: Add the Core Divider clock to Armada 38x SoCs
        ARM: mvebu: Add a 2 GHz fixed-clock on Armada 38x SoCs
        ...
      f83ccb93
    • L
      Merge tag 'boards-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 930b440c
      Linus Torvalds 提交于
      Pull ARM SoC board changes from Arnd Bergmann:
       "As we continue to replace board files with device tree descriptions,
        this part of the ARM support is getting smaller.  We have basically
        just defconfig changes here this time, and a significant number of
        Renesas shmobile changes, as Renesas is still in the process of
        deprecating board file support"
      
      * tag 'boards-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits)
        ARM: enable fhandle in multi_v7_defconfig
        ARM: tegra: enable fhandle in tegra_defconfig
        ARM: update multi_v7_defconfig for Tegra
        ARM: add Marvell Dove and some drivers to multi_v7 defconfig
        ARM: fix duplicate symbols in multi_v5_defconfig
        ARM: pxa: add gpio keys information
        ARM: tegra: defconfig updates
        ARM: config: keystone: enable AEMIF/NAND support
        ARM: qcom: Enable basic support for Qualcomm platforms in multi_v7_defconfig
        ARM: kirkwood: Add HP T5325 devices to {multi|mvebu}_v5_defconfig
        ARM: config: Add mvebu_v5_defconfig
        ARM: config: Add a multi_v5_defconfig
        ARM: shmobile: r7s72100: update defconfig for I2C usage
        ARM: shmobile: Remove Lager DT reference legacy clock bits
        ARM: shmobile: Remove Koelsch DT reference legacy clock bits
        ARM: shmobile: Remove KZM9D board code
        ARM: mvebu: update defconfigs for Armada 375 and 38x
        ARM: dove: Enable watchdog support in the defconfig
        ARM: mvebu: Enable watchdog support in defconfig
        ARM: config: keystone: enable led support
        ...
      930b440c
    • L
      Merge tag 'soc-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · ff050ad1
      Linus Torvalds 提交于
      Pull ARM SoC specific changes from Arnd Bergmann:
       "Lots of changes specific to one of the SoC families.  Some that stick
        out are:
      
         - mach-qcom gains new features, most importantly SMP support for the
           newer chips (Stephen Boyd, Rohit Vaswani)
         - mvebu gains support for three new SoCs: Armada 375, 380 and 385
           (Thomas Petazzoni and Free-electrons team)
         - SMP support for Rockchips (Heiko Stübner)
         - Lots of i.MX changes (Shawn Guo)
         - Added support for BCM5301x SoC (Hauke Mehrtens)
         - Multiplatform support for Marvell Kirkwood and Dove (Andrew Lunn
           and Sebastian Hesselbarth doing the final part of a long journey)
         - Unify davinci platforms and remove obsolete ones (Sekhar Nori, Arnd
           Bergmann)"
      
      * tag 'soc-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (126 commits)
        ARM: sunxi: Select HAVE_ARM_ARCH_TIMER
        ARM: cache-tauros2: remove ARMv6 code
        ARM: mvebu: don't select CONFIG_NEON
        ARM: davinci: fix DT booting with default defconfig
        ARM: configs: bcm_defconfig: enable bcm590xx regulator support
        ARM: davinci: remove tnetv107x support
        MAINTAINERS: Update ARM STi maintainers
        ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE
        ARM: bcm21664: Add board support.
        ARM: sunxi: Add the new watchog compatibles to the reboot code
        ARM: enable ARM_HAS_SG_CHAIN for multiplatform
        ARM: davinci: remove da8xx_omapl_defconfig
        ARM: davinci: da8xx: fix multiple watchdog device registration
        ARM: davinci: add da8xx specific configs to davinci_all_defconfig
        ARM: davinci: enable da8xx build concurrently with older devices
        ARM: BCM5301X: workaround suppress fault
        ARM: BCM5301X: add early debugging support
        ARM: BCM5301X: initial support for the BCM5301X/BCM470X SoCs with ARM CPU
        ARM: mach-bcm: Remove GENERIC_TIME
        ARM: shmobile: APMU: Fix warnings due to improper printk formats
        ...
      ff050ad1
    • L
      Merge tag 'cleanup-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · dfc25e45
      Linus Torvalds 提交于
      Pull ARM SoC cleanups from Arnd Bergmann:
       "These cleanup patches are mainly move stuff around and should all be
        harmless.  They are mainly split out so that other branches can be
        based on top to avoid conflicts.
      
        Notable changes are:
      
         - We finally remove all mach/timex.h, after CLOCK_TICK_RATE is no
           longer used (Uwe Kleine-König)
         - The Qualcomm MSM platform is split out into legacy mach-msm and
           new-style mach-qcom, to allow easier maintainance of the new
           hardware support without regressions (Kumar Gala)
         - A rework of some of the Kconfig logic to simplify multiplatform
           support (Rob Herring)
         - Samsung Exynos gets closer to supporting multiplatform (Sachin
           Kamat and others)
         - mach-bcm3528 gets merged into mach-bcm (Stephen Warren)
         - at91 gains some common clock framework support (Alexandre Belloni,
           Jean-Jacques Hiblot and other French people)"
      
      * tag 'cleanup-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (89 commits)
        ARM: hisi: select HAVE_ARM_SCU only for SMP
        ARM: efm32: allow uncompress debug output
        ARM: prima2: build reset code standalone
        ARM: at91: add PWM clock
        ARM: at91: move sam9261 SoC to common clk
        ARM: at91: prepare common clk transition for sam9261 SoC
        ARM: at91: updated the at91_dt_defconfig with support for the ADS7846
        ARM: at91: dt: sam9261: Device Tree support for the at91sam9261ek
        ARM: at91: dt: defconfig: Added the sam9261 to the list of DT-enabled SOCs
        ARM: at91: dt: Add at91sam9261 dt SoC support
        ARM: at91: switch sam9rl to common clock framework
        ARM: at91/dt: define main clk frequency of at91sam9rlek
        ARM: at91/dt: define at91sam9rl clocks
        ARM: at91: prepare common clk transition for sam9rl SoCs
        ARM: at91: prepare sam9 dt boards transition to common clk
        ARM: at91: dt: sam9rl: Device Tree for the at91sam9rlek
        ARM: at91/defconfig: Add the sam9rl to the list of DT-enabled SOCs
        ARM: at91: Add at91sam9rl DT SoC support
        ARM: at91: prepare at91sam9rl DT transition
        ARM: at91/defconfig: refresh at91sam9260_9g20_defconfig
        ...
      dfc25e45
    • L
      Merge tag 'fixes-non-critical-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9f800363
      Linus Torvalds 提交于
      Pull ARM SoC non-critical bug fixes from Arnd Bergmann:
       "Lots of isolated bug fixes that were not found to be important enough
        to be submitted before the merge window or backported into stable
        kernels.
      
        The vast majority of these came out of Arnd's randconfig testing and
        just prevents running into build-time bugs in configurations that we
        do not care about in practice"
      
      * tag 'fixes-non-critical-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (75 commits)
        ARM: at91: fix a typo
        ARM: moxart: fix CPU selection
        ARM: tegra: fix board DT pinmux setup
        ARM: nspire: Fix compiler warning
        IXP4xx: Fix DMA masks.
        Revert "ARM: ixp4xx: Make dma_set_coherent_mask common, correct implementation"
        IXP4xx: Fix Goramo Multilink GPIO conversion.
        Revert "ARM: ixp4xx: fix gpio rework"
        ARM: tegra: make debug_ll code build for ARMv6
        ARM: sunxi: fix build for THUMB2_KERNEL
        ARM: exynos: add missing include of linux/module.h
        ARM: exynos: fix l2x0 saved regs handling
        ARM: samsung: select CRC32 for SAMSUNG_PM_CHECK
        ARM: samsung: select ATAGS where necessary
        ARM: samsung: fix SAMSUNG_PM_DEBUG Kconfig logic
        ARM: samsung: allow serial driver to be disabled
        ARM: s5pv210: enable IDE support in MACH_TORBRECK
        ARM: s5p64x0: fix building with only one soc type
        ARM: s3c64xx: select power domains only when used
        ARM: s3c64xx: MACH_SMDK6400 needs HSMMC1
        ...
      9f800363
    • L
      Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 2d1eb87a
      Linus Torvalds 提交于
      Pull ARM changes from Russell King:
      
       - Perf updates from Will Deacon:
         - Support for Qualcomm Krait processors (run perf on your phone!)
         - Support for Cortex-A12 (run perf stat on your FPGA!)
         - Support for perf_sample_event_took, allowing us to automatically decrease
           the sample rate if we can't handle the PMU interrupts quickly enough
           (run perf record on your FPGA!).
      
       - Basic uprobes support from David Long:
           This patch series adds basic uprobes support to ARM. It is based on
           patches developed earlier by Rabin Vincent. That approach of adding
           hooks into the kprobes instruction parsing code was not well received.
           This approach separates the ARM instruction parsing code in kprobes out
           into a separate set of functions which can be used by both kprobes and
           uprobes. Both kprobes and uprobes then provide their own semantic action
           tables to process the results of the parsing.
      
       - ARMv7M (microcontroller) updates from Uwe Kleine-König
      
       - OMAP DMA updates (recently added Vinod's Ack even though they've been
         sitting in linux-next for a few months) to reduce the reliance of
         omap-dma on the code in arch/arm.
      
       - SA11x0 changes from Dmitry Eremin-Solenikov and Alexander Shiyan
      
       - Support for Cortex-A12 CPU
      
       - Align support for ARMv6 with ARMv7 so they can cooperate better in a
         single zImage.
      
       - Addition of first AT_HWCAP2 feature bits for ARMv8 crypto support.
      
       - Removal of IRQ_DISABLED from various ARM files
      
       - Improved efficiency of virt_to_page() for single zImage
      
       - Patch from Ulf Hansson to permit runtime PM callbacks to be available for
         AMBA devices for suspend/resume as well.
      
       - Finally kill asm/system.h on ARM.
      
      * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (89 commits)
        dmaengine: omap-dma: more consolidation of CCR register setup
        dmaengine: omap-dma: move IRQ handling to omap-dma
        dmaengine: omap-dma: move register read/writes into omap-dma.c
        ARM: omap: dma: get rid of 'p' allocation and clean up
        ARM: omap: move dma channel allocation into plat-omap code
        ARM: omap: dma: get rid of errata global
        ARM: omap: clean up DMA register accesses
        ARM: omap: remove almost-const variables
        ARM: omap: remove references to disable_irq_lch
        dmaengine: omap-dma: cleanup errata 3.3 handling
        dmaengine: omap-dma: provide register read/write functions
        dmaengine: omap-dma: use cached CCR value when enabling DMA
        dmaengine: omap-dma: move barrier to omap_dma_start_desc()
        dmaengine: omap-dma: move clnk_ctrl setting to preparation functions
        dmaengine: omap-dma: improve efficiency loading C.SA/C.EI/C.FI registers
        dmaengine: omap-dma: consolidate clearing channel status register
        dmaengine: omap-dma: move CCR buffering disable errata out of the fast path
        dmaengine: omap-dma: provide register definitions
        dmaengine: omap-dma: consolidate setup of CCR
        dmaengine: omap-dma: consolidate setup of CSDP
        ...
      2d1eb87a
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel · 2f997759
      Linus Torvalds 提交于
      Pull Hexagon updates from Richard Kuo:
       "Mostly cleanups for compilation with allmodconfig and some other
        miscellaneous fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel:
        Hexagon: update CR year for elf.h
        Hexagon: remove SP macro
        Hexagon:  set ELF_EXEC_PAGESIZE to PAGE_SIZE
        Hexagon: set the e_flags in user regset view for core dumps
        Hexagon: fix atomic_set
        Hexagon: add screen_info for VGA_CONSOLE
        hexagon: correct type on pgd copy
        smp, hexagon: kill SMP single function call interrupt
        arch: hexagon: include: asm: add generic macro 'mmiowb' in "io.h"
        arch: hexagon: kernel: hexagon_ksyms.c: export related symbols which various modules need
        arch: hexagon: kernel: reset.c: use function pointer instead of function for pm_power_off and export it
        arch: hexagon: include: asm: add "vga.h" in Kbuild
        arch: hexagon: include: asm: Kbuild: add generic "serial.h" in Kbuild
        arch: hexagon: include: uapi: asm: setup.h add swith macro __KERNEL__
        arch: hexagon: include: asm: add prefix "hvm[ci]_" for all enum members in "hexagon_vm.h"
        arch: hexagon: Kconfig: add HAVE_DMA_ATTR in Kconfig and remove "linux/dma-mapping.h" from "asm/dma-mapping.h"
        arch: hexagon: kernel: add export symbol function __delay()
        hexagon: include: asm: kgdb: extend DBG_MAX_REG_NUM for "cs0/1"
        hexagon: kernel: kgdb: include related header for pass compiling.
        hexagon: kernel: remove useless variables 'dn', 'r' and 'err' in time_init_deferred() in "time.c"
      2f997759