platform/kernel/linux-exynos.git
8 years agoMerge tag 'qcom-drivers-for-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Thu, 14 Jul 2016 12:49:31 +0000 (14:49 +0200)]
Merge tag 'qcom-drivers-for-4.8-2' of git://git./linux/kernel/git/agross/linux into next/drivers

Merge "Qualcomm ARM Based Driver Updates for v4.8 Part 2" from Andy Gross:

* Fix probe order issue in SCM
* Add missing qcom_scm_is_available() API

* tag 'qcom-drivers-for-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  firmware: qcom: scm: Change initcall to subsys
  firmware: qcom_scm: Add missing is_available API

8 years agoMerge tag 'arm-soc/for-4.8/maintainers-part2' of http://github.com/Broadcom/stblinux...
Arnd Bergmann [Thu, 7 Jul 2016 14:10:38 +0000 (16:10 +0200)]
Merge tag 'arm-soc/for-4.8/maintainers-part2' of github.com/Broadcom/stblinux into next/drivers

This avoids a merge conflict between the soc branch containing the maintainer
updates, and the update for the kona reset driver.

* tag 'arm-soc/for-4.8/maintainers-part2' of http://github.com/Broadcom/stblinux:
  MAINTAINERS: Update BCM281XX/BCM11XXX/BCM216XX entry
  MAINTAINERS: Update BCM63XX entry
  MAINTAINERS: Add NS2 entry
  MAINTAINERS: Fix nsp false-positives
  MAINTAINERS: Change L to M for Broadcom ARM/ARM64 SoC entries
  MAINTAINERS: Update entry for BCM5301X ARM

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 years agosoc: raspberrypi-power: add CONFIG_OF dependency
Arnd Bergmann [Wed, 6 Jul 2016 12:49:45 +0000 (14:49 +0200)]
soc: raspberrypi-power: add CONFIG_OF dependency

We get a harmless warning if the RASPBERRYPI_POWER driver is enabled without
CONFIG_OF during compile testing:

warning: RASPBERRYPI_POWER selects PM_GENERIC_DOMAINS_OF which has unmet direct dependencies (PM_GENERIC_DOMAINS && OF)

There is no need to select PM_GENERIC_DOMAINS_OF if OF is set, so we can
replace the 'select' with a dependency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Eric Anholt <eric@anholt.net>
8 years agofirmware: scpi: add CONFIG_OF dependency
Arnd Bergmann [Wed, 6 Jul 2016 12:49:46 +0000 (14:49 +0200)]
firmware: scpi: add CONFIG_OF dependency

We get a harmless warning if the ARM_SCPI_POWER_DOMAIN driver is enabled
without CONFIG_OF during compile testing:

warning: (ARM_SCPI_POWER_DOMAIN) selects PM_GENERIC_DOMAINS_OF which has unmet direct dependencies (PM_GENERIC_DOMAINS && OF)

There is no need to select PM_GENERIC_DOMAINS_OF if OF is set, so we can
replace the 'select' with a dependency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 8bec4337ad40 ("firmware: scpi: add device power domain support using genpd")
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
8 years agoMerge tag 'omap-for-v4.8/ir-rx51-signed' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 7 Jul 2016 12:32:08 +0000 (14:32 +0200)]
Merge tag 'omap-for-v4.8/ir-rx51-signed' of git://git./linux/kernel/git/tmlind/linux-omap into next/drivers

Merge "omap ir-rx51 driver fixes for multiarch for v4.8 merge window"
from Tony Lindgren:

Fix a long time regression for ir-rx51 driver for n900 device tree
booting.

This driver has been unusable with multiarch because of the hardware
timer access. With the recent PWM changes, we can finally fix the
driver for multiarch and device tree support. And naturally there
is no rush for these for the -rc cycle, these can wait for the
merge window.

The PWM changes have been acked by Thierry. For the media changes
I did not get an ack from Mauro but he was Cc'd in the discussion
and these changes do not conflict with other media changes.

After this series we can drop the remaining omap3 legacy booting
board files finally.

* tag 'omap-for-v4.8/ir-rx51-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ir-rx51: use hrtimer instead of dmtimer
  ir-rx51: add DT support to driver
  ir-rx51: use PWM framework instead of OMAP dmtimer
  pwm: omap-dmtimer: Allow for setting dmtimer clock source
  ir-rx51: Fix build after multiarch changes broke it

8 years agoMerge tag 'reset-for-4.8-3' of git://git.pengutronix.de/git/pza/linux into next/drivers
Arnd Bergmann [Thu, 7 Jul 2016 12:09:00 +0000 (14:09 +0200)]
Merge tag 'reset-for-4.8-3' of git://git.pengutronix.de/git/pza/linux into next/drivers

Merge "Reset controller changes for v4.8, part 3" from Philipp Zabel:

- change request API to be more explicit about the difference between
  exclusive and shared resets (the former guarantee the reset line is
  asserted immediately when reset_control_assert is called, the latter
  are refcounted and do not guarantee this).
- add Hisilicon hi6220 media subsystem reset controller support
- add TI SYSCON based reset controller support

* tag 'reset-for-4.8-3' of git://git.pengutronix.de/git/pza/linux:
  reset: add TI SYSCON based reset driver
  Documentation: dt: reset: Add TI syscon reset binding
  reset: hisilicon: Add hi6220 media subsystem reset support
  reset: hisilicon: Change to syscon register access
  arm64: dts: hi6220: Add media subsystem reset dts
  reset: hisilicon: Add media reset controller binding
  reset: TRIVIAL: Add line break at same place for similar APIs
  reset: Supply *_shared variant calls when using *_optional APIs
  reset: Supply *_shared variant calls when using of_* API
  reset: Ensure drivers are explicit when requesting reset lines
  reset: Reorder inline reset_control_get*() wrappers

8 years agoMerge tag 'tegra-for-4.8-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
Olof Johansson [Thu, 7 Jul 2016 05:34:19 +0000 (22:34 -0700)]
Merge tag 'tegra-for-4.8-soc' of git://git./linux/kernel/git/tegra/linux into next/drivers

soc/tegra: Changes for v4.8-rc1

Contains fixes and cleanups to the PMC driver, as well as some fixes for
the generic PM domain support and some prep work to support PCIe on 64-
bit ARM.

* tag 'tegra-for-4.8-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: Stub out PCIe IRQ workaround on 64-bit ARM
  soc/tegra: pmc: Enable XUSB partitions on boot
  soc/tegra: pmc: Initialise power partitions early
  soc/tegra: pmc: Add specific error messages
  soc/tegra: pmc: Use whitespace more consistently
  soc/tegra: pmc: Don't probe PMC if early initialisation fails
  soc/tegra: pmc: Add missing of_node_put()
  soc/tegra: pmc: Ensure mutex is always initialised
  soc/tegra: pmc: Don't populate SoC data until register space is mapped
  soc/tegra: pmc: Fix early initialisation of PMC
  soc/tegra: pmc: Ensure powergate is available when powering on
  soc/tegra: pmc: Initialise resets associated with a power partition
  soc/tegra: pmc: Use register definitions instead of magic values

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMerge tag 'tegra-for-4.8-memory' of git://git.kernel.org/pub/scm/linux/kernel/git...
Olof Johansson [Thu, 7 Jul 2016 05:33:47 +0000 (22:33 -0700)]
Merge tag 'tegra-for-4.8-memory' of git://git./linux/kernel/git/tegra/linux into next/drivers

memory: tegra: Changes for v4.8-rc1

Contains three reference count fixes from coccinelle.

* tag 'tegra-for-4.8-memory' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  memory: tegra: mc: Add missing of_node_put()
  memory: tegra: Delete unneeded of_node_put()
  memory: tegra: tegra124-emc: Add missing of_node_put()

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMerge tag 'tegra-for-4.8-bus' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
Olof Johansson [Thu, 7 Jul 2016 05:32:11 +0000 (22:32 -0700)]
Merge tag 'tegra-for-4.8-bus' of git://git./linux/kernel/git/tegra/linux into next/drivers

bus: NVIDIA Tegra ACONNECT support

Adds support for the Tegra ACONNECT bus that's used to access the APE
(audio processing engine) on Tegra X1.

* tag 'tegra-for-4.8-bus' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  bus: Add support for Tegra ACONNECT
  dt-bindings: bus: Add documentation for Tegra210 ACONNECT

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMerge tag 'renesas-rcar-sysc2-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel...
Olof Johansson [Thu, 7 Jul 2016 05:12:04 +0000 (22:12 -0700)]
Merge tag 'renesas-rcar-sysc2-for-v4.8' of git://git./linux/kernel/git/horms/renesas into next/drivers

Second Round of Renesas ARM Based SoC R-Car SYSC Updates for v4.8

* Prepare for handling SYSC interrupt configuration purely
  from DT in the rcar-sysc driver for new SoCs, while preserving
  backward compatibility with old DTBs for R-Car H1, H2, and M2-W
* Add R8A7792 support

* tag 'renesas-rcar-sysc2-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  soc: renesas: rcar-sysc: Improve SYSC interrupt config in legacy wrapper
  soc: renesas: rcar-sysc: Move SYSC interrupt config to rcar-sysc driver
  soc: renesas: rcar-sysc: Make rcar_sysc_init() init the PM domains
  soc: renesas: rcar-sysc: Fix uninitialized error code in rcar_sysc_pd_init()
  soc: renesas: rcar-sysc: add R8A7792 support

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMAINTAINERS: Update BCM281XX/BCM11XXX/BCM216XX entry
Jon Mason [Mon, 20 Jun 2016 21:07:37 +0000 (17:07 -0400)]
MAINTAINERS: Update BCM281XX/BCM11XXX/BCM216XX entry

There are many clock, pinctl, and misc others that should be covered
under the BCM281XX/BCM11XXX/BCM216XX ARM listing.  Change the entry to
use regex's that should cover all the files.

Also, remove the bcm_defconfig entry (as the file is being removed), and
arch/arm64/boot/dts/broadcom reference (as that is not accurate for this
group of maintainers and all the device trees under it should now be
covered by other maintainer entries).

Signed-off-by: Jon Mason <jon.mason@broadcom.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
8 years agoMAINTAINERS: Update BCM63XX entry
Jon Mason [Mon, 20 Jun 2016 21:07:36 +0000 (17:07 -0400)]
MAINTAINERS: Update BCM63XX entry

There are more files being supported by the BCM63XX than simply
"arch/arm/mach-bcm/bcm63xx.c" and "arch/arm/include/debug/bcm63xx.S".
Add a regex of "bcm63xx" to catch all the other files that are out
there.

Signed-off-by: Jon Mason <jon.mason@broadcom.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
8 years agoMAINTAINERS: Add NS2 entry
Jon Mason [Mon, 20 Jun 2016 21:07:35 +0000 (17:07 -0400)]
MAINTAINERS: Add NS2 entry

Add NS2 to the Broadcom iProc Subsystem maintainers entry.  Since most
of the NS2 entries are already covered via the ns* already present
there, all that is currently needed is to reference the device tree
files.

Signed-off-by: Jon Mason <jon.mason@broadcom.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
8 years agoMAINTAINERS: Fix nsp false-positives
Jon Mason [Mon, 20 Jun 2016 21:07:34 +0000 (17:07 -0400)]
MAINTAINERS: Fix nsp false-positives

The 'nsp' regex pattern in the "BROADCOM IPROC ARM ARCHITECTURE" section
is getting unintended hits due to the common frequence of these letters
appearing in sequence.  To change the regex expression to be more
specific to the files we care about, add a "bcm" prefix to the regex and
add file entries for those that do not naturally match this new regex.

Signed-off-by: Jon Mason <jon.mason@broadcom.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
8 years agoMAINTAINERS: Change L to M for Broadcom ARM/ARM64 SoC entries
Florian Fainelli [Tue, 5 Jul 2016 23:16:19 +0000 (16:16 -0700)]
MAINTAINERS: Change L to M for Broadcom ARM/ARM64 SoC entries

bcm-kernel-feedback-list@broadcom.com is a Broadcom internal
mailing-list for which no external subscribers are allowed for now, so
update the different entries from L to M to reflect that and order
entries from M to L in order of preference.

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Suggested-by: Olof Johansson <olof@lixom.net>
Suggested-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
8 years agovideo: clps711x-fb: Changing the compatibility string to match with the smallest...
Alexander Shiyan [Sat, 4 Jun 2016 07:10:02 +0000 (10:10 +0300)]
video: clps711x-fb: Changing the compatibility string to match with the smallest supported chip

This patch changes the compatibility string to match with the smallest
supported chip (EP7209). Since the DT-support for this CPU is not yet
announced, this change is safe.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 years agoinput: clps711x-keypad: Changing the compatibility string to match with the smallest...
Alexander Shiyan [Sat, 4 Jun 2016 07:10:01 +0000 (10:10 +0300)]
input: clps711x-keypad: Changing the compatibility string to match with the smallest supported chip

This patch changes the compatibility string to match with the smallest
supported chip (EP7209). Since the DT-support for this CPU is not yet
announced, this change is safe.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 years agopwm: clps711x: Changing the compatibility string to match with the smallest supported...
Alexander Shiyan [Sat, 4 Jun 2016 07:09:58 +0000 (10:09 +0300)]
pwm: clps711x: Changing the compatibility string to match with the smallest supported chip

This patch changes the compatibility string to match with the smallest
supported chip (EP7209). Since the DT-support for this CPU is not yet
announced, this change is safe.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 years agoserial: clps711x: Changing the compatibility string to match with the smallest suppor...
Alexander Shiyan [Sat, 4 Jun 2016 07:09:57 +0000 (10:09 +0300)]
serial: clps711x: Changing the compatibility string to match with the smallest supported chip

This patch changes the compatibility string to match with the smallest
supported chip (EP7209). Since the DT-support for this CPU is not yet
announced, this change is safe.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 years agoirqchip: clps711x: Changing the compatibility string to match with the smallest suppo...
Alexander Shiyan [Sat, 4 Jun 2016 07:09:56 +0000 (10:09 +0300)]
irqchip: clps711x: Changing the compatibility string to match with the smallest supported chip

This patch changes the compatibility string to match with the smallest
supported chip (EP7209). Since the DT-support for this CPU is not yet
announced, this change is safe.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 years agoclocksource: clps711x: Changing the compatibility string to match with the smallest...
Alexander Shiyan [Sat, 4 Jun 2016 07:09:55 +0000 (10:09 +0300)]
clocksource: clps711x: Changing the compatibility string to match with the smallest supported chip

This patch changes the compatibility string to match with the smallest
supported chip (EP7209). Since the DT-support for this CPU is not yet
announced, this change is safe.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 years agoclk: clps711x: Changing the compatibility string to match with the smallest supported...
Alexander Shiyan [Sat, 4 Jun 2016 07:09:54 +0000 (10:09 +0300)]
clk: clps711x: Changing the compatibility string to match with the smallest supported chip

This patch changes the compatibility string to match with the smallest
supported chip (EP7209). Since the DT-support for this CPU is not yet
announced, this change is safe.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 years agoMerge tag 'samsung-drivers-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Olof Johansson [Wed, 6 Jul 2016 05:43:41 +0000 (22:43 -0700)]
Merge tag 'samsung-drivers-4.8-2' of git://git./linux/kernel/git/krzk/linux into next/drivers

Samsung drivers/soc update for v4.8, part 2:
1. Endian-friendly fixes.
2. Make SROMC driver explicitly non-module.

* tag 'samsung-drivers-4.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  cpufreq: s5pv210: use relaxed IO accesors
  memory: samsung: exynos-srom: make it explicitly non-modular
  memory: samsung: endian fixes for IO

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMAINTAINERS: Update entry for BCM5301X ARM
Rafał Miłecki [Wed, 1 Jun 2016 20:00:54 +0000 (22:00 +0200)]
MAINTAINERS: Update entry for BCM5301X ARM

Add myself as I contribute to it. Include Broadcom's feedback ML as
suggested by Florian. Finally modify file rule to match
bcm5301x-nand-cs0-bch8.dtsi.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
[florian: change L to M as suggested]
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
8 years agofirmware: qcom: scm: Change initcall to subsys
Andy Gross [Sat, 2 Jul 2016 04:04:03 +0000 (23:04 -0500)]
firmware: qcom: scm: Change initcall to subsys

The patch changes the initcall for SCM to use subsys_initcall
instead of arch_initcall.  This corrects the order so that we don't
probe defer when trying to get clks which causes issues later when
the spm driver makes calls to qcom_set_warm_boot_addr().

The order became an issue due to the changes to use arch_initcall_sync
for of_platform_default_populate_init().

Signed-off-by: Andy Gross <andy.gross@linaro.org>
8 years agofirmware: qcom_scm: Add missing is_available API
Andy Gross [Wed, 29 Jun 2016 20:28:29 +0000 (15:28 -0500)]
firmware: qcom_scm: Add missing is_available API

Add back function that was dropped when reworking the SCM code.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
8 years agoMerge tag 'qcom-drivers-for-4.8' into HEAD
Andy Gross [Tue, 5 Jul 2016 21:29:02 +0000 (16:29 -0500)]
Merge tag 'qcom-drivers-for-4.8' into HEAD

Qualcomm ARM Based Driver Updates for v4.8

* Rework of SCM driver
* Add file patterns for Qualcomm Maintainers entry
* Add worker for wcnss_ctrl signaling
* Fixes for smp2p
* Update smem_state properties to match documentation
* Add SCM Peripheral Authentication service
* Expose SCM PAS command 10 as a reset controller

8 years agoMerge tag 'qcom-drivers-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git...
Olof Johansson [Tue, 5 Jul 2016 05:30:11 +0000 (22:30 -0700)]
Merge tag 'qcom-drivers-for-4.8' of git://git./linux/kernel/git/agross/linux into next/drivers

Qualcomm ARM Based Driver Updates for v4.8

* Rework of SCM driver
* Add file patterns for Qualcomm Maintainers entry
* Add worker for wcnss_ctrl signaling
* Fixes for smp2p
* Update smem_state properties to match documentation
* Add SCM Peripheral Authentication service
* Expose SCM PAS command 10 as a reset controller

* tag 'qcom-drivers-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  firmware: qcom: scm: Expose PAS command 10 as reset-controller
  firmware: qcom: scm: Peripheral Authentication Service
  soc: qcom: Update properties for smem state referencing
  soc: qcom: smp2p: Drop io-accessors
  soc: qcom: smp2p: Correct addressing of outgoing value
  soc: qcom: wcnss_ctrl: Make wcnss_ctrl parent the other components
  firmware: qcom: scm: Add support for ARM64 SoCs
  firmware: qcom: scm: Convert to streaming DMA APIS
  firmware: qcom: scm: Generalize shared error map
  firmware: qcom: scm: Use atomic SCM for cold boot
  firmware: qcom: scm: Convert SCM to platform driver
  MAINTAINERS: Add file patterns for qcom device tree bindings

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMerge tag 'gpmc-omap-for-v4.8' of https://github.com/rogerq/linux into next/drivers
Olof Johansson [Tue, 5 Jul 2016 05:20:25 +0000 (22:20 -0700)]
Merge tag 'gpmc-omap-for-v4.8' of https://github.com/rogerq/linux into next/drivers

OMAP-GPMC: driver updates for v4.8

* Make GPMC driver non modular as it is going to
be built-in only till arch/arm/mach-omap2 users
are removed.

* Fix build if CONFIG_OF is not defined.

* tag 'gpmc-omap-for-v4.8' of https://github.com/rogerq/linux:
  memory: omap-gpmc: Move gpio functions out of #ifdef CONFIG_OF
  memory: omap-gpmc: make it explicitly non-modular

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMerge tag 'scpi-updates-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep...
Olof Johansson [Tue, 5 Jul 2016 04:32:07 +0000 (21:32 -0700)]
Merge tag 'scpi-updates-4.8' of git://git./linux/kernel/git/sudeep.holla/linux into next/drivers

SCPI updates and fixes for v4.8

1. Adds support for device power state management using generic power
   domains and runtime PM

2. Other minor/miscellaneous fixes to the driver

* tag 'scpi-updates-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: scpi: add device power domain support using genpd
  Documentation: add DT bindings for ARM SCPI power domains
  firmware: arm_scpi: add support for device power state management
  firmware: arm_scpi: make it depend on MAILBOX instead of ARM_MHU
  firmware: arm_scpi: mark scpi_get_sensor_value as static
  firmware: arm_scpi: remove dvfs_get packed structure

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMerge tag 'at91-ab-4.8-drivers2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Olof Johansson [Tue, 5 Jul 2016 03:59:31 +0000 (20:59 -0700)]
Merge tag 'at91-ab-4.8-drivers2' of git://git./linux/kernel/git/abelloni/linux into next/drivers

Drivers for 4.8 #2:
 - Make memory drivers explicitly non-modular

* tag 'at91-ab-4.8-drivers2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  memory: atmel-ebi: make it explicitly non-modular
  memory: atmel-sdramc: make it explicitly non-modular

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agobus: Add support for Tegra ACONNECT
Jon Hunter [Fri, 17 Jun 2016 12:40:32 +0000 (13:40 +0100)]
bus: Add support for Tegra ACONNECT

Add a bus driver for the Tegra ACONNECT which is used to interface to
various devices within the Audio Processing Engine (APE). The purpose
of the bus driver is to register child devices that are accessed via
the ACONNECT bus and through the device parent child relationship,
ensure that the appropriate power domain and clocks are enabled for
the ACONNECT when any of the child devices are active. Hence, the
ACONNECT driver simply enables runtime-pm for the ACONNECT device
so that when a child device is resumed, it will enable the power-domain
and clocks associated with the ACONNECT.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agodt-bindings: bus: Add documentation for Tegra210 ACONNECT
Jon Hunter [Fri, 17 Jun 2016 12:40:31 +0000 (13:40 +0100)]
dt-bindings: bus: Add documentation for Tegra210 ACONNECT

Add binding documentation for the Tegra ACONNECT bus that is part of the
Audio Processing Engine (APE) on Tegra210. The ACONNECT bus is used to
access devices within the APE subsystem. The APE is located in a
separate power domain and so accesses made to the ACONNECT require the
power domain to be enabled as well as some platform specific clocks.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: Stub out PCIe IRQ workaround on 64-bit ARM
Thierry Reding [Wed, 29 Jun 2016 14:11:32 +0000 (16:11 +0200)]
soc/tegra: Stub out PCIe IRQ workaround on 64-bit ARM

The PCIe host controller found on Tegra20 has a hardware bug that causes
PCIe interrupts to get lost when LP2 is enabled. Stub out the workaround
on 64-bit ARM because none of the more recent Tegra SoC generations seem
to have this bug anymore.

Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Enable XUSB partitions on boot
Jon Hunter [Thu, 30 Jun 2016 10:56:26 +0000 (11:56 +0100)]
soc/tegra: pmc: Enable XUSB partitions on boot

The Tegra XHCI driver does not currently manage the Tegra XUSB power
partitions and so it these partitions have not been enabled by the
bootloader then the system will crash when probing the XHCI device.

While proper support for managing the power partitions is being
developed to the XHCI driver for Tegra, for now power on all the XUSB
partitions for USB host and super-speed on boot if the XHCI driver is
enabled.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Initialise power partitions early
Jon Hunter [Thu, 30 Jun 2016 10:56:25 +0000 (11:56 +0100)]
soc/tegra: pmc: Initialise power partitions early

If CONFIG_PM_GENERIC_DOMAINS is not enabled, then power partitions
associated with a device will not be enabled automatically by the PM
core when the device is in use. To avoid situations where a device in
a power partition is to be used but the partition is not enabled,
initialise the power partitions for Tegra early in the boot process and
if CONFIG_PM_GENERIC_DOMAINS is not enabled, then power on all
partitions defined in the device-tree blob.

Note that if CONFIG_PM_GENERIC_DOMAINS is not enabled, after the
partitions are turned on, the clocks and resets used as part of the
sequence for turning on the partition are released again as they are no
longer needed by the PMC driver. Another benefit of this is that this
avoids any issues of sharing resets between the PMC driver and other
device drivers that may wish to independently control a particular
reset.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Add specific error messages
Jon Hunter [Thu, 30 Jun 2016 10:56:24 +0000 (11:56 +0100)]
soc/tegra: pmc: Add specific error messages

When initialising a powergate, only a single error message is shown if
the initialisation fails. Add more error messages to give specific
details of what failed if the initialisation failed and remove the
generic failure message.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Use whitespace more consistently
Thierry Reding [Thu, 30 Jun 2016 10:12:55 +0000 (12:12 +0200)]
soc/tegra: pmc: Use whitespace more consistently

Use blank lines after blocks and before labels for consistency with the
existing code in the file.

Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Don't probe PMC if early initialisation fails
Jon Hunter [Tue, 28 Jun 2016 10:38:28 +0000 (11:38 +0100)]
soc/tegra: pmc: Don't probe PMC if early initialisation fails

Commit 0259f522e04f ('soc/tegra: pmc: Restore base address on probe
failure') fixes an issue where the PMC base address pointer is not
restored on probe failure. However, this fix creates another problem
where if early initialisation of the PMC driver fails and an initial
mapping for the PMC address space is not created, then when the PMC
device is probed, the PMC base address pointer will not be valid and
this will cause a crash when tegra_pmc_init() is called and attempts
to access a register.

Although the PMC address space is mapped a 2nd time during the probe
and so this could be fixed by populating the base address pointer
earlier during the probe, this adds more complexity to the code.
Moreover, the PMC probe also assumes the the soc data pointer is also
initialised when the device is probed and if not will also lead to a
crash when calling tegra_pmc_init_tsense_reset(). Given that if the
early initialisation does fail then something bad has happen, it seems
acceptable to allow the PMC device probe to fail as well. Therefore, if
the PMC base address pointer or soc data pointer are not valid when
probing the PMC device, WARN and return an error.

Fixes: 0259f522e04f ('soc/tegra: pmc: Restore base address on probe failure')
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Add missing of_node_put()
Jon Hunter [Tue, 28 Jun 2016 10:38:27 +0000 (11:38 +0100)]
soc/tegra: pmc: Add missing of_node_put()

Add missing of_node_put() in PMC early initialisation function to avoid
leaking the device nodes.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
[treding@nvidia.com: squash in a couple more of_node_put() calls]
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Ensure mutex is always initialised
Jon Hunter [Tue, 28 Jun 2016 10:38:26 +0000 (11:38 +0100)]
soc/tegra: pmc: Ensure mutex is always initialised

The mutex used by the PMC driver may not be initialised if early
initialisation of the driver fails. If this does happen, then it could
be possible for callers of the public PMC functions to still attempt to
acquire the mutex. Fix this by initialising the mutex as soon as
possible to ensure it will always be initialised.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Don't populate SoC data until register space is mapped
Jon Hunter [Tue, 28 Jun 2016 10:38:25 +0000 (11:38 +0100)]
soc/tegra: pmc: Don't populate SoC data until register space is mapped

The public functions exported by the PMC driver use the presence of the
SoC data pointer to determine if the PMC device is configured and the
registers can be accessed. However, the SoC data is populated before the
PMC register space is mapped and this opens a window where the SoC data
pointer is valid but the register space has not yet been mapped which
could lead to a crash. Furthermore, if the mapping of the PMC register
space fails, then the SoC data pointer is not cleared and so would
expose a larger window where a crash could occur.

Fix this by initialising the SoC data pointer after the PMC register
space has been mapped.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Fix early initialisation of PMC
Jon Hunter [Tue, 28 Jun 2016 10:38:24 +0000 (11:38 +0100)]
soc/tegra: pmc: Fix early initialisation of PMC

During early initialisation, the available power partitions for a given
device is configured as well as the polarity of the PMC interrupt. Both
of which should only be configured if there is a valid device node for
the PMC device. This is because the soc data used for configuring the
power partitions is only available if a device node for the PMC is found
and the code to configure the interrupt polarity uses the device node
pointer directly.

Some early device-tree images may not have this device node and so fix
this by ensuring the device node pointer is valid when configuring these
items.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Ensure powergate is available when powering on
Jon Hunter [Tue, 28 Jun 2016 10:38:23 +0000 (11:38 +0100)]
soc/tegra: pmc: Ensure powergate is available when powering on

The function tegra_power_sequence_power_up() is a public function used
to power on a partition. When this function is called, we do not check
to see if the partition being powered up is valid/available. Fix this
by checking to see that the partition is valid/available.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agosoc/tegra: pmc: Initialise resets associated with a power partition
Jon Hunter [Wed, 29 Jun 2016 09:17:47 +0000 (10:17 +0100)]
soc/tegra: pmc: Initialise resets associated with a power partition

When registering the Tegra power partitions with the generic PM domain
framework, the current state of the each partition is checked and used
as the default state for the partition. However, the state of each reset
associated with the partition is not initialised and so it is possible
that the state of the resets are not in the expected state. For example,
if a partition is on, then the resets should be de-asserted and if the
partition is off, the resets should be asserted.

There have been cases where the bootloader has powered on a partition
and only de-asserted some of the resets to some of the devices in the
partition. This can cause accesses to these devices to hang the system
when the kernel boots and attempts to probe these devices.

Ideally, the driver for the device should ensure the reset has been
de-asserted when probing, but the resets cannot be shared between the
PMC driver (that needs to de-assert/assert the reset when turning the
partition on or off) and another driver because we cannot ensure the
reset is in the correct state.

To ensure the resets are in the correct state, when using the generic
PM domain framework, put each reset associated with the partition in
the correct state (based upon the partition's current state) when
obtaining the resets for a partition.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agoir-rx51: use hrtimer instead of dmtimer
Ivaylo Dimitrov [Wed, 22 Jun 2016 19:22:21 +0000 (22:22 +0300)]
ir-rx51: use hrtimer instead of dmtimer

Drop dmtimer usage for pulse timer in favor of hrtimer. That allows
removing PWM dmitimer platform data usage.

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Acked-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
8 years agoir-rx51: add DT support to driver
Ivaylo Dimitrov [Wed, 22 Jun 2016 19:22:20 +0000 (22:22 +0300)]
ir-rx51: add DT support to driver

With the upcoming removal of legacy boot, lets add support to one of the
last N900 drivers remaining without it. As the driver still uses omap
dmtimer, add auxdata as well.

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
8 years agoir-rx51: use PWM framework instead of OMAP dmtimer
Ivaylo Dimitrov [Wed, 22 Jun 2016 19:22:19 +0000 (22:22 +0300)]
ir-rx51: use PWM framework instead of OMAP dmtimer

Convert driver to use PWM framework instead of calling dmtimer functions
directly for PWM timer. Remove paragraph about writing to the Free Software
Foundation's mailing address while at it.

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Acked-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
8 years agopwm: omap-dmtimer: Allow for setting dmtimer clock source
Ivaylo Dimitrov [Wed, 22 Jun 2016 19:22:18 +0000 (22:22 +0300)]
pwm: omap-dmtimer: Allow for setting dmtimer clock source

OMAP GP timers can have different input clocks that allow different PWM
frequencies. However, there is no other way of setting the clock source but
through clocks or clock-names properties of the timer itself. This limits
PWM functionality to only the frequencies allowed by the particular clock
source. Allowing setting the clock source by PWM rather than by timer
allows different PWMs to have different ranges by not hard-wiring the clock
source to the timer.

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Thierry Reding <treding@nvidia.com>
Acked-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
8 years agoir-rx51: Fix build after multiarch changes broke it
Ivaylo Dimitrov [Wed, 22 Jun 2016 19:22:17 +0000 (22:22 +0300)]
ir-rx51: Fix build after multiarch changes broke it

The ir-rx51 driver for n900 has been disabled since the multiarch
changes as plat include directory no longer is SoC specific.

Let's fix it with minimal changes to pass the dmtimer calls in
pdata. Then the following changes can be done while things can
be tested to be working for each change:

1. Change the non-pwm dmtimer to use just hrtimer if possible

2. Change the pwm dmtimer to use Linux PWM API with the new
   drivers/pwm/pwm-omap-dmtimer.c and remove the direct calls
   to dmtimer functions

3. Parse configuration from device tree and drop the pdata

Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: linux-media@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Acked-by: Pali Rohár <pali.rohar@gmail.com>
8 years agoMerge branch 'reset/explicit-api' into reset/next
Philipp Zabel [Wed, 29 Jun 2016 21:39:52 +0000 (23:39 +0200)]
Merge branch 'reset/explicit-api' into reset/next

8 years agoreset: add TI SYSCON based reset driver
Andrew F. Davis [Mon, 27 Jun 2016 17:12:17 +0000 (12:12 -0500)]
reset: add TI SYSCON based reset driver

Add a reset-controller driver for performing reset management of
various devices present on the SoC, with the reset registers shared
between devices in a common register memory space. This driver uses
the syscon/regmap frameworks to actually implement the various reset
functionalities needed by the reset consumer devices.

Signed-off-by: Andrew F. Davis <afd@ti.com>
[s-anna@ti.com: add documentation, syscon name change]
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agoDocumentation: dt: reset: Add TI syscon reset binding
Andrew F. Davis [Mon, 27 Jun 2016 17:12:16 +0000 (12:12 -0500)]
Documentation: dt: reset: Add TI syscon reset binding

Add TI syscon reset controller binding. This will hook to the reset
framework and use syscon/regmap to set reset bits. This allows reset
control of individual SoC subsytems and devices with memory-mapped
reset registers in a common register memory space.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agoreset: hisilicon: Add hi6220 media subsystem reset support
Xinliang Liu [Mon, 20 Jun 2016 03:50:07 +0000 (11:50 +0800)]
reset: hisilicon: Add hi6220 media subsystem reset support

Add hi6220 media subsystem reset controller.

Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
Signed-off-by: Xia Qing <saberlily.xia@hisilicon.com>
Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agoreset: hisilicon: Change to syscon register access
Chen Feng [Mon, 20 Jun 2016 03:50:06 +0000 (11:50 +0800)]
reset: hisilicon: Change to syscon register access

There are two reset controllers in hi6220 SoC:
The peripheral reset controller bits are part of sysctrl registers.
The media reset controller bits are part of mediactrl registers.

So change register access to syscon way.
And rename current reset controller to peripheral one.

Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
Signed-off-by: Xia Qing <saberlily.xia@hisilicon.com>
Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agoarm64: dts: hi6220: Add media subsystem reset dts
Xinliang Liu [Mon, 20 Jun 2016 03:50:05 +0000 (11:50 +0800)]
arm64: dts: hi6220: Add media subsystem reset dts

Add media subsystem reset dts support.

Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agoreset: hisilicon: Add media reset controller binding
Xinliang Liu [Mon, 20 Jun 2016 03:50:04 +0000 (11:50 +0800)]
reset: hisilicon: Add media reset controller binding

Add compatible for media reset controller.

Actually, there are two reset controllers in hi6220 SoC:
The peripheral reset controller bits are part of sysctrl registers.
The media reset controller bits are part of mediactrl registers.
So for the compatible part, it should contain "syscon" for both peripheral
and media reset controller.

Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agoreset: TRIVIAL: Add line break at same place for similar APIs
Lee Jones [Mon, 6 Jun 2016 15:56:53 +0000 (16:56 +0100)]
reset: TRIVIAL: Add line break at same place for similar APIs

Standardise the way inline functions:

  devm_reset_control_get_shared_by_index
  devm_reset_control_get_exclusive_by_index

... are formatted.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agoreset: Supply *_shared variant calls when using *_optional APIs
Lee Jones [Mon, 6 Jun 2016 15:56:52 +0000 (16:56 +0100)]
reset: Supply *_shared variant calls when using *_optional APIs

Consumers need to be able to specify whether they are requesting an
'exclusive' or 'shared' reset line no matter which API (of_*, devm_*,
etc) they are using.  This change allows users of the optional_* API
in particular to specify that their request is for a 'shared' line.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agoreset: Supply *_shared variant calls when using of_* API
Lee Jones [Mon, 6 Jun 2016 15:56:51 +0000 (16:56 +0100)]
reset: Supply *_shared variant calls when using of_* API

Consumers need to be able to specify whether they are requesting an
'exclusive' or 'shared' reset line no matter which API (of_*, devm_*,
etc) they are using.  This change allows users of the of_* API in
particular to specify that their request is for a 'shared' line.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agoreset: Ensure drivers are explicit when requesting reset lines
Lee Jones [Mon, 6 Jun 2016 15:56:50 +0000 (16:56 +0100)]
reset: Ensure drivers are explicit when requesting reset lines

Phasing out generic reset line requests enables us to make some better
decisions on when and how to (de)assert said lines.  If an 'exclusive'
line is requested, we know a device *requires* a reset and that it's
preferable to act upon a request right away.  However, if a 'shared'
reset line is requested, we can reasonably assume sure that placing a
device into reset isn't a hard requirement, but probably a measure to
save power and is thus able to cope with not being asserted if another
device is still in use.

In order allow gentle adoption and not to forcing all consumers to
move to the API immediately, causing administration headache between
subsystems, this patch adds some temporary stand-in shim-calls.  This
will ease the burden at merge time and allow subsystems to migrate over
to the new API in a more realistic time-frame.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agoreset: Reorder inline reset_control_get*() wrappers
Lee Jones [Mon, 6 Jun 2016 15:56:49 +0000 (16:56 +0100)]
reset: Reorder inline reset_control_get*() wrappers

We're about to split the current API into two, where consumers will
be forced to be explicit when requesting reset lines.  The choice
will be to either the call the *_exclusive or *_shared variant
depending on whether they can actually tolorate not being asserted
when that request is made.

The new API will look like this once reorded and complete:

  reset_control_get_exclusive()
  reset_control_get_shared()
  reset_control_get_optional_exclusive()
  reset_control_get_optional_shared()
  of_reset_control_get_exclusive()
  of_reset_control_get_shared()
  of_reset_control_get_exclusive_by_index()
  of_reset_control_get_shared_by_index()
  devm_reset_control_get_exclusive()
  devm_reset_control_get_shared()
  devm_reset_control_get_optional_exclusive()
  devm_reset_control_get_optional_shared()
  devm_reset_control_get_exclusive_by_index()
  devm_reset_control_get_shared_by_index()

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
8 years agosoc: renesas: rcar-sysc: Improve SYSC interrupt config in legacy wrapper
Geert Uytterhoeven [Tue, 28 Jun 2016 14:10:34 +0000 (16:10 +0200)]
soc: renesas: rcar-sysc: Improve SYSC interrupt config in legacy wrapper

Align SYSC interrupt configuration in the legacy wrapper with the DT
version:
  - Mask SYSC interrupt sources before enabling them (doesn't matter
    much as they're disabled at the GIC level anyway),
  - Make sure not to clear reserved SYSCIMR bits that were set before.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agosoc: renesas: rcar-sysc: Move SYSC interrupt config to rcar-sysc driver
Geert Uytterhoeven [Tue, 28 Jun 2016 14:10:33 +0000 (16:10 +0200)]
soc: renesas: rcar-sysc: Move SYSC interrupt config to rcar-sysc driver

On R-Car H1 and Gen2, the SYSC interrupt registers are always configured
using hardcoded values in platform code. For R-Car Gen2, values are
provided for H2 and M2-W only, other SoCs are not yet supported, and
never will be.

Move this configuration from SoC-specific platform code to the
rcar_sysc_init() wrapper, so it can be skipped if the SYSC is configured
from DT. This would be the case not only for H1, H2, and M2-W using a
modern DTS, but also for other R-Car Gen2 SoCs not supported by the
platform code, relying purely on DT.

There is no longer a need to return the mapped register block, hence
make the function return void.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agosoc: renesas: rcar-sysc: Make rcar_sysc_init() init the PM domains
Geert Uytterhoeven [Tue, 28 Jun 2016 14:10:32 +0000 (16:10 +0200)]
soc: renesas: rcar-sysc: Make rcar_sysc_init() init the PM domains

Let rcar_sysc_init() trigger initialization of the SYSC PM domains from
DT if called before the early_initcall.
On failure, it falls back to mapping the passed register block, as
before.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agosoc: renesas: rcar-sysc: Fix uninitialized error code in rcar_sysc_pd_init()
Geert Uytterhoeven [Tue, 28 Jun 2016 14:10:31 +0000 (16:10 +0200)]
soc: renesas: rcar-sysc: Fix uninitialized error code in rcar_sysc_pd_init()

On success, rcar_sysc_pd_init() returns an uninitialized error code.
Use the return value of of_genpd_add_provider_onecell() to fix this.

This went unnoticed, as early_initcall() doesn't care about the return
value.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agofirmware: qcom: scm: Expose PAS command 10 as reset-controller
Bjorn Andersson [Fri, 17 Jun 2016 17:40:43 +0000 (10:40 -0700)]
firmware: qcom: scm: Expose PAS command 10 as reset-controller

PAS command 10 is used to assert and deassert the MSS reset via
TrustZone, expose this as a reset-controller to mimic the direct
access case.

Cc: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
8 years agofirmware: qcom: scm: Peripheral Authentication Service
Bjorn Andersson [Wed, 23 Sep 2015 19:56:12 +0000 (12:56 -0700)]
firmware: qcom: scm: Peripheral Authentication Service

This adds the Peripheral Authentication Service (PAS) interface to the
Qualcomm SCM interface. The API is used to authenticate and boot a range
of external processors in various Qualcomm platforms.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
8 years agosoc: qcom: Update properties for smem state referencing
Bjorn Andersson [Fri, 10 Jun 2016 04:11:22 +0000 (21:11 -0700)]
soc: qcom: Update properties for smem state referencing

Update the property names to match device tree bindings, the correct
values should be qcom,smem-states and qcom,smem-state-names.

Also update the #qcom,smem-state-cells for consistency, before we merge
any users of these properties.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
8 years agosoc: qcom: smp2p: Drop io-accessors
Bjorn Andersson [Fri, 10 Jun 2016 00:22:57 +0000 (17:22 -0700)]
soc: qcom: smp2p: Drop io-accessors

SMEM is now mapped write-combine and we can use memcpy to access the
name of the entires.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
8 years agosoc: qcom: smp2p: Correct addressing of outgoing value
Bjorn Andersson [Fri, 10 Jun 2016 00:22:56 +0000 (17:22 -0700)]
soc: qcom: smp2p: Correct addressing of outgoing value

The valid_entries index should not be incremented until after we have
acquired the pointer to the value, or we will read and write data one
item off.

Fixes: 50e99641413e ("soc: qcom: smp2p: Qualcomm Shared Memory Point to Point")
Cc: stable@vger.kernel.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
8 years agosoc: qcom: wcnss_ctrl: Make wcnss_ctrl parent the other components
Bjorn Andersson [Mon, 6 Jun 2016 23:58:20 +0000 (16:58 -0700)]
soc: qcom: wcnss_ctrl: Make wcnss_ctrl parent the other components

We need the signal from wcnss_ctrl indicating that the firmware is up
and running before we can communicate with the other components of the
chip. So make these other components children of the wcnss_ctrl device,
so they can be probed in order.

The process seems to take between 1/2-5 seconds, so this is done in a
worker, instead of holding up the probe.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
8 years agofirmware: qcom: scm: Add support for ARM64 SoCs
Kumar Gala [Fri, 3 Jun 2016 23:25:26 +0000 (18:25 -0500)]
firmware: qcom: scm: Add support for ARM64 SoCs

Add an implementation of the SCM interface that works on ARM64 SoCs.  This
is used by things like determine if we have HDCP support or not on the
system.

Signed-off-by: Kumar Gala <galak@codeaurora.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
8 years agofirmware: qcom: scm: Convert to streaming DMA APIS
Andy Gross [Fri, 3 Jun 2016 23:25:25 +0000 (18:25 -0500)]
firmware: qcom: scm: Convert to streaming DMA APIS

This patch converts the Qualcomm SCM driver to use the streaming DMA APIs
for communication buffers.  This is being done so that the
secure_flush_area call can be removed.  Using the DMA APIs will also make
the SCM32 symmetric to the coming SCM64 code.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
8 years agofirmware: qcom: scm: Generalize shared error map
Andy Gross [Fri, 3 Jun 2016 23:25:24 +0000 (18:25 -0500)]
firmware: qcom: scm: Generalize shared error map

This patch moves the qcom_scm_remap_error function to the include file
where can be used by both the 32 and 64 bit versions of the code.

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <agross@codeaurora.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
8 years agofirmware: qcom: scm: Use atomic SCM for cold boot
Andy Gross [Fri, 3 Jun 2016 23:25:23 +0000 (18:25 -0500)]
firmware: qcom: scm: Use atomic SCM for cold boot

This patch changes the cold_set_boot_addr function to use atomic SCM
calls.  cold_set_boot_addr required adding qcom_scm_call_atomic2 to
support the two arguments going to the smc call.  Using atomic removes
the need for memory allocation and instead places all arguments in
registers.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
8 years agofirmware: qcom: scm: Convert SCM to platform driver
Andy Gross [Fri, 3 Jun 2016 23:25:22 +0000 (18:25 -0500)]
firmware: qcom: scm: Convert SCM to platform driver

This patch converts the Qualcomm SCM firmware driver into a platform
driver.  It also adds clock management for firmware calls which require
clocks to be enabled during the duration of their execution.  Rate
setting of the core clock is also in place for higher performance.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
8 years agoMAINTAINERS: Add file patterns for qcom device tree bindings
Geert Uytterhoeven [Sun, 22 May 2016 09:05:41 +0000 (11:05 +0200)]
MAINTAINERS: Add file patterns for qcom device tree bindings

Submitters of device tree binding documentation may forget to CC
the subsystem maintainer if this is missing.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Andy Gross <andy.gross@linaro.org>
Cc: David Brown <david.brown@linaro.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: linux-soc@vger.kernel.org
Signed-off-by: Andy Gross <andy.gross@linaro.org>
8 years agocpufreq: s5pv210: use relaxed IO accesors
Ben Dooks [Wed, 22 Jun 2016 09:36:37 +0000 (10:36 +0100)]
cpufreq: s5pv210: use relaxed IO accesors

The use of __raw IO accesors is not endian safe and should be used
sparingly. The relaxed variants should be as lightweight and also
are endian safe.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
8 years agomemory: atmel-ebi: make it explicitly non-modular
Paul Gortmaker [Fri, 17 Jun 2016 00:37:48 +0000 (20:37 -0400)]
memory: atmel-ebi: make it explicitly non-modular

The Kconfig currently controlling compilation of this code is:

drivers/memory/Kconfig:config ATMEL_EBI
drivers/memory/Kconfig: bool "Atmel EBI driver"

...meaning that it currently is not being built as a module by anyone.

Lets remove the few remaining modular references, so that when reading
the driver there is no doubt it is builtin-only.

Since module_platform_driver() uses the same init level priority as
builtin_platform_driver() the init ordering remains unchanged with
this commit.

Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

We also delete the MODULE_LICENSE tag etc. since all that information
is already contained at the top of the file in the comments.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
8 years agomemory: atmel-sdramc: make it explicitly non-modular
Paul Gortmaker [Fri, 17 Jun 2016 00:37:43 +0000 (20:37 -0400)]
memory: atmel-sdramc: make it explicitly non-modular

The Kconfig for this option is currently:

config ATMEL_SDRAMC
        bool "Atmel (Multi-port DDR-)SDRAM Controller"

...meaning that it currently is not being built as a module by anyone.
Lets remove the couple traces of modularity, so that when reading the
driver there is no doubt it is builtin-only.

Since module_init translates to device_initcall in the non-modular
case, the init ordering remains unchanged with this commit.  An
alternate init level might be worth considering at a later date.

Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

We also delete the MODULE_LICENSE tag etc. since all that information
was (or is now) contained at the top of the file in the comments.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
8 years agofirmware: scpi: add device power domain support using genpd
Sudeep Holla [Thu, 2 Jun 2016 15:34:03 +0000 (16:34 +0100)]
firmware: scpi: add device power domain support using genpd

This patch hooks up the support for device power domain provided by
SCPI using the Linux generic power domain infrastructure.

Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Tested-by: Jon Medhurst <tixy@linaro.org>
Reviewed-by: Jon Medhurst <tixy@linaro.org>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
8 years agoDocumentation: add DT bindings for ARM SCPI power domains
Sudeep Holla [Sun, 5 Jun 2016 17:50:50 +0000 (18:50 +0100)]
Documentation: add DT bindings for ARM SCPI power domains

The System Control Processor (SCP) provides peripheral devices with
power domains that can be enabled and disabled viathe System Control
and Power Interface (SCPI) Message Protocol. Add bindings to allow
probing of these device power domians.

Cc: Rob Herring <robh+dt@kernel.org>
Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Tested-by: Jon Medhurst <tixy@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Jon Medhurst <tixy@linaro.org>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
8 years agofirmware: arm_scpi: add support for device power state management
Sudeep Holla [Wed, 20 Apr 2016 13:05:14 +0000 (14:05 +0100)]
firmware: arm_scpi: add support for device power state management

SCPI protocol supports device power state management. This deals with
power states of various peripheral devices in the system other than the
core compute subsystem.

This patch adds support for the power state management of those
peripheral devices.

Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Tested-by: Jon Medhurst <tixy@linaro.org>
Reviewed-by: Jon Medhurst <tixy@linaro.org>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
8 years agomemory: samsung: exynos-srom: make it explicitly non-modular
Paul Gortmaker [Fri, 17 Jun 2016 00:37:47 +0000 (20:37 -0400)]
memory: samsung: exynos-srom: make it explicitly non-modular

The Kconfig currently controlling compilation of this code is:

memory/samsung/Kconfig:config EXYNOS_SROM
memory/samsung/Kconfig: bool "Exynos SROM controller driver" if COMPILE_TEST

...meaning that it currently is not being built as a module by anyone.

Lets remove the modular code that is essentially orphaned, so that
when reading the driver there is no doubt it is builtin-only.

We explicitly disallow a driver unbind, since that doesn't have a
sensible use case anyway, and it allows us to drop the ".remove"
code for non-modular drivers.

Since module_platform_driver() uses the same init level priority as
builtin_platform_driver() the init ordering remains unchanged with
this commit.

Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

We also delete the MODULE_LICENSE tag etc. since all that information
is already contained at the top of the file in the comments.

Cc: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
8 years agomemory: samsung: endian fixes for IO
Ben Dooks [Fri, 17 Jun 2016 17:08:10 +0000 (18:08 +0100)]
memory: samsung: endian fixes for IO

Use the relaxed versions of the IO accessors to avoid any issues
if running in big endian.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
8 years agoMerge tag 'arm-soc/for-4.8/drivers' of http://github.com/Broadcom/stblinux into next...
Olof Johansson [Mon, 20 Jun 2016 05:55:16 +0000 (22:55 -0700)]
Merge tag 'arm-soc/for-4.8/drivers' of github.com/Broadcom/stblinux into next/drivers

This pull request contains drivers related changes for Broadcom SoCs:

- Florian moves drivers/soc/brcmstb to drivers/soc/bcm/brcmstb to be consistent with
  how other SoCs are doing it

- Chris provides a reset driver which is common to the BCM21664 and BCM23550 SoCs

- Ben fixes a warning by providing the appropriate include file

* tag 'arm-soc/for-4.8/drivers' of http://github.com/Broadcom/stblinux:
  soc: brcmstb: fix warning from missing include
  power: Introduce Broadcom kona reset driver
  soc: Move brcmstb to bcm/brcmstb

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMerge tag 'samsung-drivers-exynos-mfc-4.8' of git://git.kernel.org/pub/scm/linux...
Olof Johansson [Mon, 20 Jun 2016 05:39:15 +0000 (22:39 -0700)]
Merge tag 'samsung-drivers-exynos-mfc-4.8' of git://git./linux/kernel/git/krzk/linux into next/drivers

Topic branch for Exynos MFC changes for v4.8:
Pull s5p-mfc changes from media tree so the arm/mach-exynos code
could be removed. The bindings are converted to generic reserved memory
bindings.

* tag 'samsung-drivers-exynos-mfc-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: Enable MFC device on Exynos4412 Odroid boards
  ARM: dts: exynos: Convert MFC device to generic reserved memory bindings
  ARM: EXYNOS: Remove code for MFC custom reserved memory handling
  media: s5p-mfc: add iommu support
  media: s5p-mfc: replace custom reserved memory handling code with generic one
  media: s5p-mfc: use generic reserved memory bindings
  of: reserved_mem: add support for using more than one region for given device
  media: set proper max seg size for devices on Exynos SoCs
  media: vb2-dma-contig: add helper for setting dma max seg size
  s5p-mfc: Fix race between s5p_mfc_probe() and s5p_mfc_open()
  s5p-mfc: Add release callback for memory region devs
  s5p-mfc: Set device name for reserved memory region devs

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agomemory: omap-gpmc: Move gpio functions out of #ifdef CONFIG_OF
Roger Quadros [Fri, 17 Jun 2016 07:16:50 +0000 (10:16 +0300)]
memory: omap-gpmc: Move gpio functions out of #ifdef CONFIG_OF

The gpio related functions were mistakenly built only if CONFIG_OF
is defined. They are needed even otherwise and will cause build
failures if CONFIG_OF is not defined. Move the gpio functions
outside #ifdef CONFIG_OF.

Fixes: d2d00862dfbb ("memory: omap-gpmc: Support general purpose input for WAITPINs")

Signed-off-by: Roger Quadros <rogerq@ti.com>
8 years agomemory: omap-gpmc: make it explicitly non-modular
Paul Gortmaker [Fri, 17 Jun 2016 00:37:45 +0000 (20:37 -0400)]
memory: omap-gpmc: make it explicitly non-modular

The Kconfig currently controlling compilation of this code is:

drivers/memory/Kconfig:config OMAP_GPMC
drivers/memory/Kconfig:  bool

...meaning that it currently is not being built as a module by anyone.

Lets remove the modular code that is essentially orphaned, so that
when reading the driver there is no doubt it is builtin-only.

Since module_init was not in use by this code, the init ordering
remains unchanged with this commit.

Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

We don't replace module.h with init.h since the file already has that.

Cc: Roger Quadros <rogerq@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: linux-omap@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
8 years agosoc: renesas: rcar-sysc: add R8A7792 support
Sergei Shtylyov [Sun, 12 Jun 2016 20:56:50 +0000 (23:56 +0300)]
soc: renesas: rcar-sysc: add R8A7792 support

Add support for R-Car V2H (R8A7792) SoC power areas to the SYSC driver.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
8 years agoMerge tag 'reset-for-4.8-2' of git://git.pengutronix.de/git/pza/linux into next/drivers
Olof Johansson [Tue, 14 Jun 2016 17:30:46 +0000 (10:30 -0700)]
Merge tag 'reset-for-4.8-2' of git://git.pengutronix.de/git/pza/linux into next/drivers

Reset controller changes for v4.8, part 2

- add Amlogic Meson SoC Reset Controller driver

* tag 'reset-for-4.8-2' of git://git.pengutronix.de/git/pza/linux:
  dt-bindings: reset: Add bindings for the Meson SoC Reset Controller
  reset: Add support for the Amlogic Meson SoC Reset Controller

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMerge tag 'at91-ab-4.8-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git...
Olof Johansson [Tue, 14 Jun 2016 17:18:54 +0000 (10:18 -0700)]
Merge tag 'at91-ab-4.8-drivers' of git://git./linux/kernel/git/abelloni/linux into next/drivers

Drivers for 4.8:
 - Add a driver for the EBI

* tag 'at91-ab-4.8-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  memory: atmel-ebi: add DT bindings documentation
  memory: add Atmel EBI (External Bus Interface) driver

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agomemory: tegra: mc: Add missing of_node_put()
Amitoj Kaur Chawla [Mon, 25 Jan 2016 17:23:07 +0000 (22:53 +0530)]
memory: tegra: mc: Add missing of_node_put()

for_each_child_of_node() performs an of_node_get() on each iteration, so
to break out of the loop an of_node_put() is required.

Found using Coccinelle. The semantic patch used for this is as follows:

// <smpl>
@@
expression e;
local idexpression n;
@@

 for_each_child_of_node(..., n) {
   ... when != of_node_put(n)
       when != e = n
(
   return n;
|
+  of_node_put(n);
?  return ...;
)
   ...
 }
// </smpl>

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agomemory: tegra: Delete unneeded of_node_put()
Julia Lawall [Fri, 9 Oct 2015 17:47:40 +0000 (19:47 +0200)]
memory: tegra: Delete unneeded of_node_put()

for_each_child_of_node() performs an of_node_put() on each iteration, so
putting an of_node_put() before a continue results in a double put.

The semantic match that finds this problem is as follows
(http://coccinelle.lip6.fr):

// <smpl>
@@
expression root,e;
local idexpression child;
iterator name for_each_child_of_node;
@@

 for_each_child_of_node(root, child) {
   ... when != of_node_get(child)
*  of_node_put(child);
   ...
*  continue;
}
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agomemory: tegra: tegra124-emc: Add missing of_node_put()
Amitoj Kaur Chawla [Mon, 25 Jan 2016 17:27:48 +0000 (22:57 +0530)]
memory: tegra: tegra124-emc: Add missing of_node_put()

for_each_child_of_node() performs an of_node_get() on each iteration, so
to break out of the loop an of_node_put() is required.

Found using Coccinelle. The semantic patch used for this is as follows:

// <smpl>
@@
expression e;
local idexpression n;
@@

 for_each_child_of_node(..., n) {
   ... when != of_node_put(n)
       when != e = n
(
   return n;
|
+  of_node_put(n);
?  return ...;
)
   ...
 }
// </smpl>

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 years agoMerge tag 'renesas-rcar-sysc-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel...
Olof Johansson [Mon, 13 Jun 2016 22:39:46 +0000 (15:39 -0700)]
Merge tag 'renesas-rcar-sysc-for-v4.8' of git://git./linux/kernel/git/horms/renesas into next/drivers

Renesas ARM Based SoC R-Car SYSC Updates for v4.8

e0c98b9171ee soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas
74699228b99d soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions
2ff1bf77e4d4 soc: renesas: rcar-sysc: Document r8a7796 support

* tag 'renesas-rcar-sysc-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  soc: renesas: rcar-sysc: Add support for R-Car M3-W power areas
  soc: renesas: Add r8a7796 SYSC PM Domain Binding Definitions
  soc: renesas: rcar-sysc: Document r8a7796 support

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agoMerge tag 'samsung-drivers-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git...
Olof Johansson [Mon, 13 Jun 2016 21:28:37 +0000 (14:28 -0700)]
Merge tag 'samsung-drivers-4.8' of git://git./linux/kernel/git/krzk/linux into next/drivers

Samsung drivers/soc update for v4.8:
1. Move the power domain driver from arm/mach-exynos and prepare
   for supporting ARMv8.
2. Add COMPILE_TEST.

* tag 'samsung-drivers-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  soc: samsung: pm_domains: Enable COMPILE_TEST for build coverage
  soc: samsung: pm_domains: Prepare for supporting ARMv8 Exynos
  ARM: EXYNOS: Move pm_domains driver to drivers/soc/samsung

Signed-off-by: Olof Johansson <olof@lixom.net>
8 years agofirmware: arm_scpi: make it depend on MAILBOX instead of ARM_MHU
Sudeep Holla [Sun, 5 Jun 2016 17:23:21 +0000 (18:23 +0100)]
firmware: arm_scpi: make it depend on MAILBOX instead of ARM_MHU

ARM_SCPI_PROTOCOL can be used with any mailbox and not just ARM MHU
mailbox controller. This patch drops it's dependency on ARM_MHU and
make it depend on just mailbox framework.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
8 years agofirmware: arm_scpi: mark scpi_get_sensor_value as static
Sudeep Holla [Tue, 23 Feb 2016 16:21:16 +0000 (16:21 +0000)]
firmware: arm_scpi: mark scpi_get_sensor_value as static

scpi_get_sensor_value like other scpi operations needs to be static.
This patch marks it as static to be consistent with others.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>