Merge tag 'pxa-for-3.19' of https://github.com/rjarzmik/linux into next/soc

Pull "arm: pxa: pxa for v3.19" from Robert Jarzmik:

This is a very quiet release, featuring a small cleanup, a tosa change
on its charger driver, and support for pxa device-tree based pxa27x
boards.

The device-tree part will only be fully activated once clocks support
is fully operation in the common clock framework.

* tag 'pxa-for-3.19' of https://github.com/rjarzmik/linux:
  arm: pxa: add pxa27x device-tree support
  arm: pxa: remove unnecessary includes from pxa-dt
  arm: pxa: move init functions into generic.h
  arm: pxa: add device-tree irq init for pxa27x
  ARM: pxa: tosa: switch to gpio-charger
  arm: mach-pxa: Convert pr_warning to pr_warn

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge tag 'omap-for-v3.19/fixes-not-urgent-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical

Pull "omap non-urgent fixes for v3.19" from Tony Lindgren:

Fixes for omap3 that are not urgent. Mostly to remove unnecessary
noise during the boot with pointless errors and warnings.

* tag 'omap-for-v3.19/fixes-not-urgent-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP: serial: remove last vestige of DTR_gpio support.
  ARM: OMAP2+: gpmc: Get rid of "ti,elm-id not found" warning
  ARM: OMAP2: Remove unnecessary KERN_* in omap_phy_internal.c
  ARM: OMAP4+: Remove unused omap_l3_noc platform init
  ARM: dts: Add twl keypad map for omap3 EVM
  ARM: dts: Add twl keypad map for LDP
  ARM: dts: Fix NAND last partition size on LDP
  ARM: OMAP3: Fix errors for omap_l3_smx when booted with device tree

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge tag 'omap-for-v3.19/clocks-and-pm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Pull "omap soc changes for v3.19" from Tony Lindgren:

SoC related changes for omaps. Mostly to make PM easier to use for
omap4 and later, and to fix clock DPLL fixes by adding determine_rate
and set_rate_and_parent.

* tag 'omap-for-v3.19/clocks-and-pm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: hwmod: drop unnecessary list initialization
  ARM: OMAP3+: DPLL: use determine_rate() and set_rate_and_parent()
  ARM: OMAP3: clock: add support for dpll4_set_rate_and_parent
  ARM: OMAP4: clock: add support for determine_rate for omap4 regm4xen DPLL
  ARM: OMAP3: clock: add new rate changing logic support for noncore DPLLs
  ARM: OMAP3: clock: use clk_features flags for omap3 DPLL4 checks
  ARM: OMAP4+: PM: Program CPU logic power state
  ARM: OMAP4+: PM: Centralize static dependency mapping table
  ARM: OMAP4: PM: Only do static dependency configuration in omap4_init_static_deps

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge tag 'omap-for-v3.19/dt-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Pull "Device tree related changes for omaps" from Tony Lindgren:

- Fix currently harmless but wrong sizes for various GPMC connected
  devices

- Set up timings for several GPMC connected devices to get rid of
  bootloader dependencies in later patches

- Enable various drivers for dra7xx

- Prepare Igep boards to support new variants

- Add intial support for BeagleBoard-X15

* tag 'omap-for-v3.19/dt-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (37 commits)
  ARM: dts: DRA7: Add aliases for all serial ports
  ARM: dts: Add am57xx-beagle-x15
  ARM: OMAP2+: igep00x0: Add pdata-quirks for the btwilink device.
  ARM: dts: omap3-igep00x0: Remove i2c2 node.
  ARM: dts: omap3-igep0020-rev-f: Support IGEPv2 Rev. F
  ARM: dts: omap3-igep0020-common: Introduce igep0020 common dtsi file.
  ARM: dts: omap3-igep0030-rev-g: Support IGEP COM MODULE Rev. G
  ARM: dts: omap3-igep0030-common: Introduce igep0030 common dtsi file.
  ARM: dts: omap3-igep00x0: Move outside common file the on board Wifi module.
  ARM: dts: omap3-igep0020: Specify IGEPv2 revision in device tree.
  ARM: dts: omap3-igep0030: Specify IGEP COM revision in device tree.
  ARM: dts: omap3-igep00x0: Move NAND configuration to a common place.
  ARM: dts: omap3-igep00x0: Fix UART2 pins that aren't common.
  ARM: dts: dra7: add labels to DWC3 nodes
  ARM: dts: dra72x-evm: Enable CPSW and MDIO
  ARM: dts: dra7-evm: Keep all VDD rails always-on
  ARM: dts: dra72-evm: Add MMC nodes
  ARM: dts: dra72-evm: Add power button node
  ARM: dts: dra72-evm: Provide explicit pinmux for TPS PMIC
  ARM: dts: dra72-evm: Add regulator information to USB2 PHYs
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge tag 'omap-for-v3.19/w1-and-l3-noc' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers

Pull "omap driver changes for v3.19" from Tony Lindgren:

Few omap driver changes to add minimal device tree support
for the omap 1w driver, and to fix resume and interrupt issues
on the l3-noc driver.

* tag 'omap-for-v3.19/w1-and-l3-noc' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  bus: omap_l3_noc: Correct returning IRQ_HANDLED unconditionally in the irq handler
  bus: omap_l3_noc: Add resume hook to restore context
  w1: omap-hdq: support device probing with device-tree

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge tag 'omap-for-v3.19/prcm-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Pull "omap prcm clean-up for v3.19" from Tony Lindgren:

Clean-up series for omap PRCM (Power Reset Clock Module) from
Tero Kristo to move things a bit closer to becoming a proper
device driver.

* tag 'omap-for-v3.19/prcm-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (26 commits)
  ARM: OMAP2+: PRM: provide generic API for system reset
  ARM: OMAP3+: PRM: add generic API for reconfiguring I/O chain
  ARM: OMAP4: PRM: make PRCM interrupt handler related functions static
  ARM: OMAP3: PRM: make PRCM interrupt handler related functions static
  ARM: OMAP4: PRM: make omap4_prm_read/write_inst_reg calls static
  ARM: AM33xx: PRM: make direct register access functions static
  ARM: AM33xx: PRM: move global warm reset implementation to driver
  ARM: OMAP4+: CM: remove omap4_cm1/cm2_* functions
  ARM: OMAP4: CM: make cminst direct register access functions static
  ARM: OMAP4: CM: move public definitions from cminst44xx.h to cm44xx.h
  ARM: OMAP2+: PRM: add generic API for checking hardreset status
  ARM: OMAP2+: PRM: add generic API for deasserting hardware reset
  ARM: OMAP2+: PRM: add generic API for asserting hardware reset
  ARM: AM33xx: PRM: add support for prm_init
  ARM: AM43xx: hwmod: use OMAP4 hardreset ops instead of the AM33xx version
  ARM: AM33xx: hwmod: remove am33xx specific module SoC opts
  ARM: OMAP2/3: CM: make cm_split_idlest_reg SoC calls static
  ARM: OMAP2+: CM: add common APIs for cm_module_enable/disable
  ARM: OMAP2+: CM: make clkdm_hwsup operations static
  ARM: OMAP4+/AM33xx: CM: add common API for cm_wait_module_idle
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
ARM: bcm2835: Add device tree for Raspberry Pi model B+

The model B and B+ differ in the GPIO lines for ACT and PWR leds, and the
I2S interface.

Signed-off-by: Matthias Klein <matthias.klein@linux.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
dt-bindings: Document correct and deprecated vendor-prefix with device isl29028

This patch documents the device isl29028 with its vendor-prefix. Undocumented deprecated vendor-prefix
found by checkpatch also documented for compatibility reasons.

Signed-off-by: Darshana Padmadas <darshanapadmadas@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
dt-bindings: Document deprecated device vendor name to fix related warning

This patch documents deprecated vendor name "isil" to fix warning of
undocumented string for device isl29028 as reported while running checkpatch.pl
on drivers/staging/iio/light/isl29028.c. This is done to maintain compatibility
with older kernels.

Signed-off-by: Darshana Padmadas <darshanapadmadas@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Staging: iio: light: Added correct vendor-prefix for device isl29028

This patch adds the correct vendor-prefix for device isl29028 and
maintains deprecated vendor-prefix found by checkpatch warning
for older kernel releases.

Signed-off-by: Darshana Padmadas <darshanapadmadas@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch: arm: boot: dts: Correct vendor-prefix for iio device isl29028 in compatible property

This patch corrects the vendor-prefix for isl29028 in the compatible property from
"isil,isl29028" to "isl,isl29028" according to listed vendor-prefixes in
Documentation/devicetree/bindings/vendor-prefixes.txt. Incorrect vendor-prefix "isl"
was reported by checkpatch.pl warning for drivers/staging/iio/light/isl29028.c.
Thus incorrect vendor-prefix "isil" was corrected for every mention of device isl29028.

Signed-off-by: Darshana Padmadas <darshanapadmadas@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
ARM: debug: move StrongARM debug include to arch/arm/include/debug

StrongARM debug-macro.S is quite standalone thing, depending only on
register mappings. Move it to proper place and add Kconfig entry.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
ARM: multi_v7_defconfig: remove one level of menu from Kconfig

remove menu "Broadcom Mobile SoC Selection"
This requires:
- selecting ARCH_BCM_MOBILE based on SoC selections
- fixup multi_v7_defconfig to work with new menu levels of mach-bcm.

Signed-off-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
ARM: multi_v7_defconfig: Enable Broadcom Cygnus

Enable Broadcom Cygnus platform support in multi_v7_defconfig

Signed-off-by: Ray Jui <rjui@broadcom.com>
Signed-off-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge tag 'arm-soc/for-3.19/cygnus-dts-v2' of http://github.com/brcm/linux into next/dt

Pull "Broadcom Cygnus SoC Device Tree changes" from  Florian Fainelli:

This pull request contains the Broadcom Cygnus Device Tree changes:

- binding documentation for the SoC and clock
- cygnus SoC and clock dtsi files
- DTS for Cygnus Entreprise phone, BCM911360K and BCM958300K

* tag 'arm-soc/for-3.19/cygnus-dts-v2' of http://github.com/brcm/linux:
  ARM: dts: Enable Broadcom Cygnus SoC
  dt-bindings: Document Broadcom Cygnus SoC and clocks

[arnd: something went wrong here, we already had pulled an earlier
 version of the same patches, which had the wrong license statement.
 I've pulled this one over the old pull request and fixed up the
 conflicts now]

Conflicts:
	arch/arm/boot/dts/bcm-cygnus-clock.dtsi
	arch/arm/boot/dts/bcm-cygnus.dtsi
	arch/arm/boot/dts/bcm911360_entphn.dts
	arch/arm/boot/dts/bcm911360k.dts
	arch/arm/boot/dts/bcm958300k.dts

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge tag 'arm-soc/for-3.19/cygnus-maintainers-v2' of http://github.com/brcm/linux into next/fixes-non-critical

Pull "Broadcom Cygnus SoC MAINTAINERS updates" from Florian Fainelli:

This pull request contains the MAINTAINERS update to add the Broadcom Cygnus
SoC platform files, Device Tree sources and clock drivers.

* tag 'arm-soc/for-3.19/cygnus-maintainers-v2' of http://github.com/brcm/linux:
  MAINTAINERS: Entry for Cygnus/iproc arm architecture

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arm64: pgalloc: consistently use PGALLOC_GFP

We currently allocate different levels of page tables with a variety of
differing flags, and the PGALLOC_GFP flags, intended for use when
allocating any level of page table, are only used for ptes in
pte_alloc_one. On x86, PGALLOC_GFP is used for all page table
allocations.

Currently the major differences are:

* __GFP_NOTRACK -- Needed to ensure page tables are always accessible in
  the presence of kmemcheck to prevent recursive faults. Currently
  kmemcheck cannot be selected for arm64.

* __GFP_REPEAT -- Causes the allocator to try to reclaim pages and retry
  upon a failure to allocate.

* __GFP_ZERO -- Sometimes passed explicitly, sometimes zalloc variants
  are used.

While we've no encountered issues so far, it would be preferable to be
consistent. This patch ensures all levels of table are allocated in the
same manner, with PGALLOC_GFP.

Cc: Steve Capper <steve.capper@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arm64: percpu: Implement this_cpu operations

The generic this_cpu operations disable interrupts to ensure that the
requested operation is protected from pre-emption. For arm64, this is
overkill and can hurt throughput and latency.

This patch provides arm64 specific implementations for the this_cpu
operations. Rather than disable interrupts, we use the exclusive
monitor or atomic operations as appropriate.

The following operations are implemented: add, add_return, and, or,
read, write, xchg. We also wire up a cmpxchg implementation from
cmpxchg.h.

Testing was performed using the percpu_test module and hackbench on a
Juno board running 3.18-rc4.

Signed-off-by: Steve Capper <steve.capper@linaro.org>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Merge tag 'arm-soc/for-3.19/cygnus-platform-v2' of http://github.com/brcm/linux into next/soc

Pull "Broadcom Cygnus SoC platform support" from Florian Fainelli:

This pull request contains the platform code to support the Broadcom Cygnus SoC
using the iProc architecture:

- add support for the Broadcom Cygnus SoC
- consolidate the BCM5301X Kconfig options under the iProc menuconfig entry
- remove one level of menu in menuconfig

* tag 'arm-soc/for-3.19/cygnus-platform-v2' of http://github.com/brcm/linux:
  ARM: mach-bcm: ARCH_BCM_MOBILE: remove one level of menu from Kconfig
  ARM: mach-bcm: Consolidate currently supported IPROC SoCs
  ARM: cygnus: Initial support for Broadcom Cygnus SoC

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge tag 'arm-soc/for-3.19/cygnus-defconfig-v2' of http://github.com/brcm/linux into next/soc

Pull "Broadcom Cygnus SoC defconfig" from Florian Fainelli:

This pull requests removes one level in menuconfig for the BCM SoCs for the
bcm_defconfig file.

* tag 'arm-soc/for-3.19/cygnus-defconfig-v2' of http://github.com/brcm/linux:
  ARM: bcm_defconfig: remove one level of menu from Kconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>