Commit graph

560,538 commits

Author SHA1 Message Date
Peng Tao
36022770de nfs42: add CLONE xdr functions
xdr definitions per draft-ietf-nfsv4-minorversion2-38.txt

Signed-off-by: Peng Tao <tao.peng@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2015-10-15 16:07:21 -04:00
Arnd Bergmann
aebd774de9 Marvell SoC for 4.4 take 1
- register cpufreq-dt device
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWDZQ0AAoJEN2kpao7fSL4z68P/1WZp+th6WUYchqeHn77cNUq
 MPolc6fnYfot0AwfwXio/o5/sj2bxPaLJPUWEbc6mAEeK3AHtBAXtOZZwy4G26g2
 GmEu3aP8ivFx2wMbTDS78Y7FNKltUX940s6eiW4wDsHxlKTKMEJUlh2Z7qcRzvTu
 Spdwi1Vuq7KfnQOOMeZPquVU3xBJ0Q2yJi0sIv+aKLMHLklEUrKMTTzMkVdyI0Bp
 5wG9mld1sdFRa55tBlbzjRBSBG8w3pyYeF1p+Z65WIbdaGs1p0TK14WIM1TCwmqm
 wS7h/eLa84PJPwLcyom64jXOO9vXo+W7mBekPwSsdPwo75De8k8QVvuHxDaSup+M
 jfyH9f0O60kko72GDMdo0V7FtPYIHRyYQHJA5W9UcarCPzDUnBBVIkReU8NHOxpY
 KrgTt3s739KXKcqK7/DG82JTmaF+H2k7f1pPj/QlVTBECfv9C8c8VxJL8PL2pC8A
 nDc6HIwb5ZZR8dee/6kov4Y2t2Fj/NDUgfAN8o0OjwoDzzFcUi5yCBoQHSN4AHf0
 xfnHnP8RcHuWuVG4AE/B9xiWcPsux2h6K/Q2FRtkAT57m0RKY042C9zQb9A6xCx+
 Zy2SV7AO6BdR0na0s3EGo+GyOBp/WKImzBDcRYBJj3meSWvRDsOi2DvCnhXqqCdH
 evzM2Iux0pKbHXZseXm1
 =Cg/T
 -----END PGP SIGNATURE-----

Merge tag 'berlin-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc

Merge "Marvell SoC for 4.4 take 1" from Sebastian Hesselbarth:
- register cpufreq-dt device

* tag 'berlin-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin:
  ARM: berlin: register cpufreq-dt
2015-10-15 22:06:45 +02:00
Arnd Bergmann
dc7a499674 Marvell Berlin ARM64 SoC for 4.4 take 1
- enable ARCH_REQUIRE_GPIOLIB for DW GPIO driver
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWDZT+AAoJEN2kpao7fSL4lIoP/34vCze+/wvNzJWzh1nJ4/TJ
 +X5rNaAlqpqrGU/0SeukjFKwbUuV0V3XZ/lNbEPepiNMjANvDaiD/722mIS9yg1N
 5/nLQCHJBtTglDy2/kyrFBxilZJEUYykYvfV8lmgfsLEDNjTtEKNtGk01afEb7R9
 /4s6V5rvXZDvDQIrzuUg06B38BBswghWUOlWOArw+BBY01byoqek51Jd85Mb6h3P
 CthsGHQRANcCLpO66n9sXJMOPY8WP15aUnsk1A1DcrPHdFiIXIz7N7HFpctAm7Dr
 YKGdTTEHoKsz4Pb8xzkCOd/j4A0uJmdZH8GiYjqeutWedojD1iqesx7p3GT95sGp
 jrXSKu9VmqhRpzyap9vIxKkzuBIwAjKVlmNW+GYW+IIHqcREpS12fQHnLE3lvcNp
 7SF5VHCtxgT1MF4X+nJXhvQHefls7cM75Bv1noZ5urEC3y28m72B7Yc3DWd4dazX
 2ybi51xSlWsU2roERizT6KeQsOsqg6uaw4h2knhKLy1ugpzaCx8tlZ0WaNyx1rvj
 xxCxr8lpqy5fC0heu4doE222JBIYEUnzVog2e5i0h4I4B/yr3cBLtGnVPJSbirr8
 dMHcDXtX9pxzwMixfqC55CzA5rqPSBqJLS9tDwCDso9rISCb7UEaBUmc9EacZBh+
 O0oPG9tXCoWAUahDt3dm
 =sFLX
 -----END PGP SIGNATURE-----

Merge tag 'berlin64-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc

Merge "Marvell Berlin ARM64 SoC for 4.4 take 1" from Sebastian Hesselbarth:
- enable ARCH_REQUIRE_GPIOLIB for DW GPIO driver

* tag 'berlin64-soc-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin:
  arm64: berlin: enable ARCH_REQUIRE_GPIOLIB
2015-10-15 22:04:18 +02:00
Arnd Bergmann
19f47051e5 mvebu soc for 4.4 (part 1)
L2 caches optimization for Armada XP
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlYX5kYACgkQCwYYjhRyO9XRAACgh9ZuCj/Bxgsql5tHL2fLPhMw
 OzwAn3RJqjzRRMLcZ/TmgTPNbNwz3hEB
 =bO2O
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-soc-4.4-1' of git://git.infradead.org/linux-mvebu into next/soc

Merge "mvebu soc for 4.4 (part 1)" from Gregory CLEMENT:

L2 caches optimization for Armada XP

* tag 'mvebu-soc-4.4-1' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu: add support to clear shared L2 bit on Armada XP
2015-10-15 22:03:35 +02:00
Linus Torvalds
176bed1de5 vmstat: explicitly schedule per-cpu work on the CPU we need it to run on
The vmstat code uses "schedule_delayed_work_on()" to do the initial
startup of the delayed work on the right CPU, but then once it was
started it would use the non-cpu-specific "schedule_delayed_work()" to
re-schedule it on that CPU.

That just happened to schedule it on the same CPU historically (well, in
almost all situations), but the code _requires_ this work to be per-cpu,
and should say so explicitly rather than depend on the non-cpu-specific
scheduling to schedule on the current CPU.

The timer code is being changed to not be as single-minded in always
running things on the calling CPU.

See also commit 874bbfe600 ("workqueue: make sure delayed work run in
local cpu") that for now maintains the local CPU guarantees just in case
there are other broken users that depended on the accidental behavior.

Cc: Christoph Lameter <cl@linux.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-10-15 13:01:50 -07:00
Arnd Bergmann
5f1e3c9100 Clean-up for omaps for v4.4 merge window:
- Remove legacy omap3 ISP code as the driver is DT only
 
 - Remove VoiceBlue board support as it's been unused over
   10 years now
 
 - Remove unused polarity control macros for TWL
 
 - Remove two unneeded semicolons
 
 - Remove unused core dpll code for reprogramming the rates
 
 Note that this branch is against v4.3-rc4 as that contains critical
 MMC related fixes to boot with MMC working on most omaps.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWHrwcAAoJEBvUPslcq6Vzv+EP/joH02GVQmwJKREznkp1L+Jg
 eaJ3P9Os7p2cHkz68XEq79Cq/O4Zh3yupS4O9OeGn6XhqcG+MnXFETVYKIV3WJ7s
 QvSuRxJrc6dStbPKAcsmgczJNNE+8mgFkI4rrJ75d17SZ+ybaQVQRziuRLMq9YX5
 GIQDayYKlBYs5gb21h7qU9O4zHzkNIga/yKydOZJQ0GZ8ZJhQ68KZtfXPCrZUquD
 x2DVecGsPe+CfoDjGppjngD7suTQteIALno/VoIXPhtewwDKuYXW82hfNL9/WXF3
 OSVWkxp/mcldJJzwJhoCv2kN4Dmp0GaDVqTNn2tpxMUpEeDGjRnrDc3al4z2k87f
 9A2qs4CRSSnDcTpVqNBUSSF6BOBpacHrUZVtlm9YF5e+UyIzI+MCwOM6Sn5EusNg
 ENyPgV1HGkUhyRPEeBJsPzRF4NOMDyyLiPeIpwcTXATl6udBHTV1L9yM7yhPEtJg
 9ftCz9JGVO1EjD90By9YZcCK37LV1MaFRliWfnXjodGraWY7x3WlYsdLV4Cv3t+t
 yp6HFufciHrthfoSERnb2nEK6g2N9nITeaiBhknrTN/spfs+0uwkjumwa7AIdfNl
 4kvJpdge+UmhrNiFktvbhjtqEP5Nq3LUGDdvMr2rvppP8HCiss6+K51otzSeo8ny
 BTrFLhEU8GEzVplgg7Er
 =d5vJ
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.4/cleanup-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

Merge "Clean-up for omaps for v4.4 merge window" from Tony Lindgren:

- Remove legacy omap3 ISP code as the driver is DT only

- Remove VoiceBlue board support as it's been unused over
  10 years now

- Remove unused polarity control macros for TWL

- Remove two unneeded semicolons

- Remove unused core dpll code for reprogramming the rates

Note that this branch is against v4.3-rc4 as that contains critical
MMC related fixes to boot with MMC working on most omaps.

* tag 'omap-for-v4.4/cleanup-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP3: clock: remove un-used core dpll re-program code
  ARM: OMAP2+: Remove unneeded semicolons
  ARM: OMAP3: vc: Remove unused macros
  ARM: OMAP1: Remove board support for VoiceBlue board
  ARM: OMAP2+: Remove legacy OMAP3 ISP instantiation
2015-10-15 22:00:27 +02:00
Linus Torvalds
995e2fe9a4 Merge branch 'for-4.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue fixlet from Tejun Heo:
 "Single patch to make delayed work always be queued on the local CPU"

This is not actually something we should guarantee, but it's something
we by accident have historically done, and at least one call site has
grown to depend on it.

I'm going to fix that known broken callsite, but in the meantime this
makes the accidental behavior be explicit, just in case there are other
cases that might depend on it.

* 'for-4.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
  workqueue: make sure delayed work run in local cpu
2015-10-15 12:58:37 -07:00
Arnd Bergmann
f88839ddbe mvebu cleanup for 4.4 (part 1)
use the CR_C define instead of a literal value
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlYX5PQACgkQCwYYjhRyO9WE/wCdHL0jkJKufbzUMo3P1ZTfGvKR
 iHUAn2hB1f1k3xKFV8HP6XLO7jhc29LJ
 =NZow
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-cleanup-4.4-1' of git://git.infradead.org/linux-mvebu into next/cleanup

Merge "mvebu cleanup for 4.4 (part 1)" from Gregory CLEMENT:

use the CR_C define instead of a literal value

* tag 'mvebu-cleanup-4.4-1' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu: Use a CR_C constant instead of a hard-coded one
2015-10-15 21:54:05 +02:00
Keith Busch
0dfc70c334 NVMe: Fix memory leak on retried commands
Resources are reallocated for requeued commands, so unmap and release
the iod for the failed command.

It's a pretty bad memory leak and causes a kernel hang if you remove a
drive because of a busy dma pool. You'll get messages spewing like this:

  nvme 0000:xx:xx.x: dma_pool_destroy prp list 256, ffff880420dec000 busy

and lock up pci and the driver since removal never completes while
holding a lock.

Cc: stable@vger.kernel.org
Cc: <stable@vger.kernel.org> # 4.0.x-
Signed-off-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
2015-10-15 13:38:48 -06:00
Jisheng Zhang
a7b3d5a715 arm: berlin: add CPU hotplug support
Add cpu hotplug support for berlin SoCs such as BG2 and BG2Q. These SoC
don't support power off cpu independently, but we also want cpu hotplug
support in these SoCs. We achieve this goal by putting the dying CPU in
WFI state after the coherency is disabled, then asserting the dying CPU
reset bit to put the CPU in reset state.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
2015-10-15 21:14:28 +02:00
Jisheng Zhang
ac7fc233b2 arm: berlin: use non-self-cleared reset register to reset cpu
In Berlin SoCs, there are two kinds of cpu reset control registers: the
first one's corresponding bits will be self-cleared after some cycles,
while the second one's bits won't. Previously the first kind of reset
control register is used, this patch uses the second kind one to prepare
for the next hotplug commit.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
2015-10-15 21:10:22 +02:00
Antoine Tenart
515f1a2027 clk: berlin: add cpuclk
Add cpuclk in the Berlin BG2Q clock driver. This clk has a divider
fixed to 1.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
2015-10-15 20:55:55 +02:00
Arnd Bergmann
5d984ee707 Marvell Berlin DT CPU clock for 4.4
- add missing CLKID_CPU for Berlin BG2Q
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWH/JEAAoJEN2kpao7fSL4bvMQAK8ps1rMEEywSRXvEjBBBSYr
 OSiIinSOEycUDzWqaLJQOvzPWxDGVn0a5xdPvOt2/kDY70UriY1YQ/GouFymumEl
 v7CqrUgX73D5/NbqlM4UTWivRsHFaQQyCKdfdiBVKH0bWv2Q4FW7EzO4RGPZQG03
 tZIV+KbxtTkyTw3PJyt5WzmBVlr1Ll8whWhYpHHlyku1FgzQGGLEuL/M7/fEpWvP
 ynBpDQpTVyA4WtGwk/mJ+IzqO+ohRohQHWo1k8FoicSIngejbl89KVNd+WzHJaq+
 1b3LiDrPdM7KYjxqUNuf4vuD2Izo31DJuXOxlSK4rgofF+dh3JrTtsrqgRw1m6Wj
 8RwJfN94F3S/qEbw8wY6dsAGcOzhg+pLl4Q0lyDwXW625TX7izHFifRJbrC8NJnH
 XSoPJkUQphYpBS+1ZKTKZhumhCDafCF1YYUXBDvkd61Eq2TZ2NwoSbxOfjytItrB
 aS/9vf1S24Bjs2ZG1PicVTIz1G9SEu+GwCbCHEjLWIcYmKWz3m8ej4N5I5rVUsVf
 0IEvAPzoihbYIQUhVjny00dH+6rEvds6aoBiVC/DX9LwwDKk0DPiFOhuVAUl2j6f
 xbMu2HsIMlP51f0Jkod3XG1lV7dRF1hyb+kTCgBWSdsPNTN/2AHA3vaM92qIOINp
 qlm+cyIgU045c40XDjJl
 =JoAi
 -----END PGP SIGNATURE-----

Merge tag 'berlin-dt-cpuclk-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt

Pull "Marvell Berlin DT CPU clock for 4.4" from Sebastian Hesselbarth:
- add missing CLKID_CPU for Berlin BG2Q

* tag 'berlin-dt-cpuclk-for-4.4-1' of git://git.infradead.org/users/hesselba/linux-berlin:
  ARM: berlin: dts: add CLKID_CPU for BG2Q
2015-10-15 20:50:02 +02:00
Sebastian Hesselbarth
0f0ebb1349 Marvell Berlin DT CPU clock for 4.4
- add missing CLKID_CPU for Berlin BG2Q
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWH/JEAAoJEN2kpao7fSL4bvMQAK8ps1rMEEywSRXvEjBBBSYr
 OSiIinSOEycUDzWqaLJQOvzPWxDGVn0a5xdPvOt2/kDY70UriY1YQ/GouFymumEl
 v7CqrUgX73D5/NbqlM4UTWivRsHFaQQyCKdfdiBVKH0bWv2Q4FW7EzO4RGPZQG03
 tZIV+KbxtTkyTw3PJyt5WzmBVlr1Ll8whWhYpHHlyku1FgzQGGLEuL/M7/fEpWvP
 ynBpDQpTVyA4WtGwk/mJ+IzqO+ohRohQHWo1k8FoicSIngejbl89KVNd+WzHJaq+
 1b3LiDrPdM7KYjxqUNuf4vuD2Izo31DJuXOxlSK4rgofF+dh3JrTtsrqgRw1m6Wj
 8RwJfN94F3S/qEbw8wY6dsAGcOzhg+pLl4Q0lyDwXW625TX7izHFifRJbrC8NJnH
 XSoPJkUQphYpBS+1ZKTKZhumhCDafCF1YYUXBDvkd61Eq2TZ2NwoSbxOfjytItrB
 aS/9vf1S24Bjs2ZG1PicVTIz1G9SEu+GwCbCHEjLWIcYmKWz3m8ej4N5I5rVUsVf
 0IEvAPzoihbYIQUhVjny00dH+6rEvds6aoBiVC/DX9LwwDKk0DPiFOhuVAUl2j6f
 xbMu2HsIMlP51f0Jkod3XG1lV7dRF1hyb+kTCgBWSdsPNTN/2AHA3vaM92qIOINp
 qlm+cyIgU045c40XDjJl
 =JoAi
 -----END PGP SIGNATURE-----

Merge tag 'berlin-dt-cpuclk-for-4.4-1' into berlin/cpuclk

Marvell Berlin DT CPU clock for 4.4
- add missing CLKID_CPU for Berlin BG2Q
2015-10-15 20:49:33 +02:00
Sebastian Hesselbarth
28c039eeba ARM: berlin: dts: add CLKID_CPU for BG2Q
Marvell Berlin BG2Q SoC also has a clock for the CPU, add a
corresponding CLKID to the dt-binding include.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
2015-10-15 20:31:41 +02:00
Romain Bezut
a86760664f PCI/MSI: Export all remapped MSIs to sysfs attributes
irqbalance uses sysfs attributes to populate its internal database, which
is then used to bind the IRQ to the appropriate NUMA node.

On a device accepting multiple MSIs and with interrupt remapping enabled,
only the first IRQ entry is exported in the "msi_irqs" directory.  This
results in irqbalance having no clue of the NUMA affinity for the extra
IRQs, so it can't bind them to the correct node.

Export all MSI interrupts as sysfs attributes when relevant.

[bhelgaas: changelog]
Signed-off-by: Romain Bezut <rbezut@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
2015-10-15 12:17:19 -05:00
Ville Syrjälä
c562657a75 drm/i915: Kill the leftover RMW from ivb_sprite_disable()
We still had one lingering RMW in ivb_sprite_disable(), all the other
RMWs were killed off from the sprite code some time ago. Kill the
straggler too.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-10-15 18:45:52 +02:00
Wolfram Sang
fc531d9848 MAINTAINERS: add maintainers for Synopsis Designware I2C drivers
Those guys already have been helpful in the past and are actively
working on this driver, unlike me.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2015-10-15 18:36:15 +02:00
Doron Tsur
17b38fb890 IB/core: Fix memory corruption in ib_cache_gid_set_default_gid
When ib_cache_gid_set_default_gid is called from several threads,
updating the table could make find_gid fail, therefore a negative
index will be retruned and an invalid table entry will be used.
Locking find_gid as well fixes this problem.

Fixes: 03db3a2d81 ('IB/core: Add RoCE GID table management')
Signed-off-by: Doron Tsur <doront@mellanox.com>
Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2015-10-15 12:35:54 -04:00
David Howells
f05819df10 KEYS: Fix crash when attempt to garbage collect an uninstantiated keyring
The following sequence of commands:

    i=`keyctl add user a a @s`
    keyctl request2 keyring foo bar @t
    keyctl unlink $i @s

tries to invoke an upcall to instantiate a keyring if one doesn't already
exist by that name within the user's keyring set.  However, if the upcall
fails, the code sets keyring->type_data.reject_error to -ENOKEY or some
other error code.  When the key is garbage collected, the key destroy
function is called unconditionally and keyring_destroy() uses list_empty()
on keyring->type_data.link - which is in a union with reject_error.
Subsequently, the kernel tries to unlink the keyring from the keyring names
list - which oopses like this:

	BUG: unable to handle kernel paging request at 00000000ffffff8a
	IP: [<ffffffff8126e051>] keyring_destroy+0x3d/0x88
	...
	Workqueue: events key_garbage_collector
	...
	RIP: 0010:[<ffffffff8126e051>] keyring_destroy+0x3d/0x88
	RSP: 0018:ffff88003e2f3d30  EFLAGS: 00010203
	RAX: 00000000ffffff82 RBX: ffff88003bf1a900 RCX: 0000000000000000
	RDX: 0000000000000000 RSI: 000000003bfc6901 RDI: ffffffff81a73a40
	RBP: ffff88003e2f3d38 R08: 0000000000000152 R09: 0000000000000000
	R10: ffff88003e2f3c18 R11: 000000000000865b R12: ffff88003bf1a900
	R13: 0000000000000000 R14: ffff88003bf1a908 R15: ffff88003e2f4000
	...
	CR2: 00000000ffffff8a CR3: 000000003e3ec000 CR4: 00000000000006f0
	...
	Call Trace:
	 [<ffffffff8126c756>] key_gc_unused_keys.constprop.1+0x5d/0x10f
	 [<ffffffff8126ca71>] key_garbage_collector+0x1fa/0x351
	 [<ffffffff8105ec9b>] process_one_work+0x28e/0x547
	 [<ffffffff8105fd17>] worker_thread+0x26e/0x361
	 [<ffffffff8105faa9>] ? rescuer_thread+0x2a8/0x2a8
	 [<ffffffff810648ad>] kthread+0xf3/0xfb
	 [<ffffffff810647ba>] ? kthread_create_on_node+0x1c2/0x1c2
	 [<ffffffff815f2ccf>] ret_from_fork+0x3f/0x70
	 [<ffffffff810647ba>] ? kthread_create_on_node+0x1c2/0x1c2

Note the value in RAX.  This is a 32-bit representation of -ENOKEY.

The solution is to only call ->destroy() if the key was successfully
instantiated.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: Dmitry Vyukov <dvyukov@google.com>
2015-10-15 17:21:37 +01:00
Linus Walleij
26ba9cd48f gpio: pl061: assign the apropriate handler for irqs
The PL061 can handle level IRQs and edge IRQs, however it is
just utilizing handle_simple_irq() for all IRQs. Inspired by
Stefan Agners patch to vf610, this assigns the right handler
depending on what type is set up, and after this
handle_bad_irq() is only used as default and if the type is
not specified, as is done in the OMAP driver: defining the
IRQ type is really not optional for this driver.

The interrupt handler was just writing the interrupt clearing
register for all lines that were high when entering the handling
loop, this is wrong: that register is only supposed to be
written (on a per-line basis) for edge IRQs, so this ACK
was moved to the .irq_ack() callback as is proper.

Tested with PL061 on the ARM RealView PB11MPCore and the
MMC/SC card detect GPIO.

Cc: Jonas Gorski <jogo@openwrt.org>
Cc: Stefan Agner <stefan@agner.ch>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-10-15 18:03:07 +02:00
Arnd Bergmann
eb351031a1 ahci: qoriq: Fix a compiling warning
kbuild test robot reports the warnings:
drivers/ata/ahci_qoriq.c: In function 'ahci_qoriq_hardreset':
>> include/asm-generic/io.h:163:2: warning: 'px_is' may be used
>> uninitialized in this function [-Wuninitialized]
drivers/ata/ahci_qoriq.c:70:14: note: 'px_is' was declared here
>> include/asm-generic/io.h:163:2: warning: 'px_cmd' may be used
>> uninitialized in this function [-Wuninitialized]
drivers/ata/ahci_qoriq.c:70:6: note: 'px_cmd' was declared here

This patch fixed it by introducing a local variable.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2015-10-15 12:03:00 -04:00
Thierry Reding
4f1d841475 ARM: tegra: Comment out gpio-ranges properties
While the addition of these properties is technically correct it unveils
a bug with deferred probe. The problem is that the presence of the gpio-
range property causes the gpio-tegra driver to defer probe (it needs the
pinctrl driver to be ready). That's technically correct, but it causes a
couple of issues:

  - The keyboard on Chromebooks stops working. The reason for that is
    that the gpio-tegra device has not registered an IRQ domain by the
    time the EC SPI device is registered, hence the interrupt number
    resolves to 0. This is technically a bug in the SPI core, since it
    should really resolve the interrupt at probe time and defer if the
    IRQ domain isn't available yet. This is similar to what's done for
    I2C and platform device already.

  - The gpio-tegra device deferring probe means that it is moved to the
    end of the dpm_list. This list defines the suspend/resume order for
    devices. However the core lacks a way to move all users of the
    gpio-tegra device to the end of the dpm_list at the same time. This
    in turn results in a subtle bug on Jetson TK1, where the gpio-keys
    device is used to expose the power key as input. The power key is a
    convenient way to wake the system from suspend. Interestingly, the
    gpio-keys device ends up getting probed at a point after gpio-tegra
    has been probed successfully from having been deferred earlier. As
    such the driver doesn't need to defer the probe itself, and hence
    the device isn't moved to the end of the dpm_list. This causes the
    gpio-tegra device to be suspended before gpio-keys, which in turn
    leaves gpio-keys unable to wake the system from suspend.

There are patches in the works to fix both of the above issues, but they
are too involved to make it into v4.3, so in the meantime let's fix the
regressions by commenting out the gpio-ranges properties until the fixes
have landed.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-15 17:58:43 +02:00
Tejun Heo
b02176f30c block: don't release bdi while request_queue has live references
bdi's are initialized in two steps, bdi_init() and bdi_register(), but
destroyed in a single step by bdi_destroy() which, for a bdi embedded
in a request_queue, is called during blk_cleanup_queue() which makes
the queue invisible and starts the draining of remaining usages.

A request_queue's user can access the congestion state of the embedded
bdi as long as it holds a reference to the queue.  As such, it may
access the congested state of a queue which finished
blk_cleanup_queue() but hasn't reached blk_release_queue() yet.
Because the congested state was embedded in backing_dev_info which in
turn is embedded in request_queue, accessing the congested state after
bdi_destroy() was called was fine.  The bdi was destroyed but the
memory region for the congested state remained accessible till the
queue got released.

a13f35e871 ("writeback: don't embed root bdi_writeback_congested in
bdi_writeback") changed the situation.  Now, the root congested state
which is expected to be pinned while request_queue remains accessible
is separately reference counted and the base ref is put during
bdi_destroy().  This means that the root congested state may go away
prematurely while the queue is between bdi_dstroy() and
blk_cleanup_queue(), which was detected by Andrey's KASAN tests.

The root cause of this problem is that bdi doesn't distinguish the two
steps of destruction, unregistration and release, and now the root
congested state actually requires a separate release step.  To fix the
issue, this patch separates out bdi_unregister() and bdi_exit() from
bdi_destroy().  bdi_unregister() is called from blk_cleanup_queue()
and bdi_exit() from blk_release_queue().  bdi_destroy() is now just a
simple wrapper calling the two steps back-to-back.

While at it, the prototype of bdi_destroy() is moved right below
bdi_setup_and_register() so that the counterpart operations are
located together.

Signed-off-by: Tejun Heo <tj@kernel.org>
Fixes: a13f35e871 ("writeback: don't embed root bdi_writeback_congested in bdi_writeback")
Cc: stable@vger.kernel.org # v4.2+
Reported-and-tested-by: Andrey Konovalov <andreyknvl@google.com>
Link: http://lkml.kernel.org/g/CAAeHK+zUJ74Zn17=rOyxacHU18SgCfC6bsYW=6kCY5GXJBwGfQ@mail.gmail.com
Reviewed-by: Jan Kara <jack@suse.com>
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2015-10-15 09:53:28 -06:00
Jens Axboe
ef658fc2a6 NVMe: initialize error to '0'
Reported-by: Keith Busch <keith.busch@intel.com>
Fixes: 1951feae88 ("nvme: use an integer value to Linux errno values")
Signed-off-by: Jens Axboe <axboe@fb.com>
2015-10-15 09:49:57 -06:00
Christoph Hellwig
81c04b9438 nvme: use an integer value to Linux errno values
Use a separate integer variable to hold the signed Linux errno
values we pass back to the block layer.  Note that for pass through
commands those might still be NVMe values, but those fit into the
int as well.

Fixes: f4829a9b7a: ("blk-mq: fix racy updates of rq->errors")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
2015-10-15 09:49:20 -06:00
Lucas Stach
f1c08c9bc8 clocksource/drivers/imx: Allow timer irq affinity change
Allow the timer core to change the smp affinity of the broadcast timer
irq by setting CLOCK_EVT_FEAT_DYNIRQ flag. For this to work the timer
core needs to be told about the used irq.

This reduces interrupt pressure and wakeups on CPU0 as well as vastly
reducing the number of timer broadcast IPIs.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2015-10-15 17:42:05 +02:00
Alexey Klimov
31f7987406 clocksource/drivers/exynos_mct: Use container_of() instead of this_cpu_ptr()
Since evt structure is embedded in per-CPU mevt structure it's
definitely faster to use container_of() to get access to mevt
if we have evt (for example as incoming function argument) instead
of more expensive approach with this_cpu_ptr(&percpu_mct_tick).
this_cpu_ptr() on per-CPU mevt structure leads to access to cp15
to get cpu id and arithmetic operations.
Container_of() is cheaper since it's just one asm instruction.
This should work if used evt pointer is correct and owned by
local mevt structure.

For example, before this patch set_state_shutdown() looks like:

 4a4:	e92d4010 	push	{r4, lr}
 4a8:	e3004000 	movw	r4, #0
 4ac:	ebfffffe 	bl	0 <debug_smp_processor_id>
 4b0:	e3003000 	movw	r3, #0
 4b4:	e3404000 	movt	r4, #0
 4b8:	e3403000 	movt	r3, #0
 4bc:	e7933100 	ldr	r3, [r3, r0, lsl #2]
 4c0:	e0844003 	add	r4, r4, r3
 4c4:	e59400c0 	ldr	r0, [r4, #192]	; 0xc0
 4c8:	ebffffd4 	bl	420 <exynos4_mct_tick_stop.isra.1>
 4cc:	e3a00000 	mov	r0, #0
 4d0:	e8bd8010 	pop	{r4, pc}

With this patch:

 4a4:	e92d4010 	push	{r4, lr}
 4a8:	e59000c0 	ldr	r0, [r0, #192]	; 0xc0
 4ac:	ebffffdb 	bl	420 <exynos4_mct_tick_stop.isra.1>
 4b0:	e3a00000 	mov	r0, #0
 4b4:	e8bd8010 	pop	{r4, pc}

Also, for me size of exynos_mct.o decreased from 84588 bytes
to 83956.

Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2015-10-15 17:42:03 +02:00
Alexey Klimov
ba49af35be clocksource/drivers/h8300_*: Remove unneeded memset()s
Memory for timer16_priv, timer8_priv and tpu_priv structs is
allocated by devm_kzalloc() in corresponding probe functions
of drivers.
No need to zero it one more time.

Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2015-10-15 17:42:02 +02:00
Alexey Klimov
6eeb8c355f clocksource/drivers/sh_cmt: Remove unneeded memset() in sh_cmt_setup()
Memory for cmt struct is allocated by kzalloc() in sh_cmt_setup.

Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2015-10-15 17:42:00 +02:00
Alexey Klimov
fdbd13105d clocksource/drivers/em_sti: Remove unneeded memset()s
Memory for cs and ced fields in struct em_sti_priv is allocated
by devm_kzalloc() in the beginning of em_sti_probe() so they
don't need to be zeroed one more time in
em_sti_register_clocksource() and in em_sti_register_clockevent().

Signed-off-by: Alexey Klimov <alexey.klimov@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2015-10-15 17:41:59 +02:00
Yingjoe Chen
f14665f63b clocksource/drivers/mediatek: Use GPT as sched clock source
When cpu is in deep idle, arch timer will stop counting. Setup GPT as
sched clock source so it can keep counting in idle.

Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
2015-10-15 17:41:58 +02:00
Daniel Lezcano
fc686d0037 clockevents/drivers/mtk: Fix spurious interrupt leading to crash
After analysis done by Yingjoe Chen, the timer appears to have a pending
interrupt when it is enabled.

Fix this by acknowledging the pending interrupt when enabling the timer
interrupt.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Tested-by: Yingjoe Chen <yingjoe.chen@mediatek.com>
2015-10-15 17:41:56 +02:00
Marc Zyngier
166bdbd231 iommu/arm-smmu: Add support for MSI on SMMUv3
Despite being a platform device, the SMMUv3 is capable of signaling
interrupts using MSIs. Hook it into the platform MSI framework and
enjoy faults being reported in a new and exciting way.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
[will: tidied up the binding example and reworked most of the code]
Signed-off-by: Will Deacon <will.deacon@arm.com>
2015-10-15 16:29:58 +01:00
Will Deacon
c88ae5de71 iommu/arm-smmu: Remove redundant calculation of gr0 base address
Since commit 1463fe44fd ("iommu/arm-smmu: Don't use VMIDs for stage-1
translations"), we don't need the GR0 base address when initialising a
context bank, so remove the useless local variable and its init code.

Signed-off-by: Will Deacon <will.deacon@arm.com>
2015-10-15 16:29:54 +01:00
Will Deacon
c0733a2cf3 iommu/arm-smmu: Fix error checking for ASID and VMID allocation
The bitmap allocator returns an int, which is one of the standard
negative values on failure. Rather than assigning this straight to a
u16 (like we do for the ASID and VMID callers), which means that we
won't detect failure correctly, use an int for the purposes of error
checking.

Cc: <stable@vger.kernel.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2015-10-15 16:29:47 +01:00
Andy Shevchenko
9d1d459bf5 intel_scu_ipc: Protect dev member assignment on ->remove()
Protect the dev member assignment in ->remove() since user may potentially call
unbind from a sysfs even if the driver is built-in. The latter might be racy
with ongoing SCU communication.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2015-10-15 08:23:30 -07:00
Andy Shevchenko
51c58f2b4f intel_scu_ipc: Switch to use module_pci_driver() macro
Eliminate some boilerplate code by using module_pci_driver() instead of
init/exit, moving the salient bits from init into probe.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2015-10-15 08:23:12 -07:00
Andy Shevchenko
20903169fe intel_scu_ipc: Convert to use struct device *
Switch the code to use struct device * instead of struct pci_dev * since there
is no reason to access PCI related features in the driver.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2015-10-15 08:22:25 -07:00
Andy Shevchenko
b0b3f578a1 intel_scu_ipc: Propagate pointer to struct intel_scu_ipc_dev
As much as possible propagate a pointer to struct intel_scu_ipc_dev.

There is no functional change.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2015-10-15 08:22:05 -07:00
Andy Shevchenko
f63fbcee67 intel_scu_ipc: Fix error path by turning to devm_* / pcim_*
The error handling is broken right now since it leaves resources unfreed.
Convert the code to use managed resources to fix the error handling.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2015-10-15 08:21:32 -07:00
Arnd Bergmann
d819e7a752 Qualcomm ARM Based Device Tree Updates for v4.4
* Add DT binding document for SMEM
 * Add SMD, RPM, and Regulator nodes on MSM8974
 * Remove extra reg element from iadc device
 * Remove redunandant i2c pinctrl properties on APQ8064
 * Remove unnecessary eeprom label on IFC6410
 * Remove unnecessary eeprom label from QS600
 * Add PM8921 RTC support on APQ8064
 * Add PM8921 pwrkey support on APQ8064
 * Prefix GSBI6 uart pins on APQ8064 correctly
 * Add missing GSBI7 uart pinctrl on APQ8064
 * Add missing GSBI7 uart pinctrl on IFC6410
 * Add missing GSBI7 pinctrl uart property on QS600
 * Add pwrseq support for WLAN on IFC6410
 * Add pwrseq support for WLAN on QS600
 * Add notify led support on IFC6410
 * Add SD card detect support onQS600
 * Add #power-domain-cells property to documentation
 * Add Qualcomm SMBB binding document
 * Add PM8941 charge node
 * Fix typo in disabled property on MSM8974
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJWHXppAAoJEFKiBbHx2RXVMTQQAJ1tNvm4khE+PiTaImD+WzKx
 Z+gUoJyKKxL67f1yaR48VEYusC3Jy2uX5tIiGLBrCyArXL3WDaRdCmISLp9p0GjT
 P0Y47Y+3+lCJih/WHsHbPNYFJnA3bsff0dMkC0aHbqJ+76YdPUc1nIm9IIsfTQLr
 Aj22v5iVBiJ/cdbGbgb+TYr0ymw0ErkUYbZi2TDPWV4NdUSViQFcyn48pXZPIus1
 ajXVD5N5pmdB/Az+SKzwdpFO2XN7pUR5RXI13cqWuavX1yuVMfIR+JQdSYu8FLel
 DrkkhvSGzOYAO4PtWqRpxMLWOdK/IuFlgWfONpjV7h/cPOVLivrnYE7qB8f0Q8KU
 BIhnFeN5xG+vrJdpRgYHKGbQzlIj0wRovZb10iZQ4felv5t0dHt6DQmLdQO+Y/L6
 +f+sJCG4bh9mc8t9oRSAddVm8J6sAR5Aq9sPthWiJkbTr+xBT5chlMstDQEHQZqK
 xOY0UMCwXuG1OLn93YCTzbq9xlw0cApYKjdRrjOS1mOVitVbUX26hiovdc/NdHnT
 g8159a7h1mdWhYOHssbAGZ0TgsTHtBy0ntKRIZerTTmpXdaNwPlRJB9OeM4/FQ9G
 3xlVFH4vy+xSlGNt2LAIHe3aDyc81xA9+rKbZGOpyMi7PO1+9ptRvczbmwA1q565
 jhTg1dVjwh0v7DBx9Aht
 =maQs
 -----END PGP SIGNATURE-----

Merge tag 'qcom-dt-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm into next/dt

Pull "Qualcomm ARM Based Device Tree Updates for v4.4" from Andy Gross:

* Add DT binding document for SMEM
* Add SMD, RPM, and Regulator nodes on MSM8974
* Remove extra reg element from iadc device
* Remove redunandant i2c pinctrl properties on APQ8064
* Remove unnecessary eeprom label on IFC6410
* Remove unnecessary eeprom label from QS600
* Add PM8921 RTC support on APQ8064
* Add PM8921 pwrkey support on APQ8064
* Prefix GSBI6 uart pins on APQ8064 correctly
* Add missing GSBI7 uart pinctrl on APQ8064
* Add missing GSBI7 uart pinctrl on IFC6410
* Add missing GSBI7 pinctrl uart property on QS600
* Add pwrseq support for WLAN on IFC6410
* Add pwrseq support for WLAN on QS600
* Add notify led support on IFC6410
* Add SD card detect support onQS600
* Add #power-domain-cells property to documentation
* Add Qualcomm SMBB binding document
* Add PM8941 charge node
* Fix typo in disabled property on MSM8974

* tag 'qcom-dt-for-4.4' of git://codeaurora.org/quic/kernel/agross-msm:
  ARM: dts: msm8974: fix typo in "disabled" property
  ARM: dts: qcom-pm8941: Add charger node
  dt-binding: power: Add Qualcomm SMBB binding
  arm: dts: qcom: Add #power-domain-cells property
  ARM: dts: qs600: Add SD card detect support.
  ARM: dts: apq8064-ifc6410: add notify led support.
  ARM: dts: qs600: add pwrseq support to WLAN
  ARM: dts: ifc6410: Add pwrseq support for WLAN
  ARM: dts: qs600: Add missing pinctrl property for gsbi7 uart
  ARM: dts: ifc6410: Add missing pinctrl to gsbi7 uart
  ARM: dts: apq8064: add missing gsbi7 uart pinctrl
  ARM: dts: apq8064: Prefix the gsbi6 uart pins correctly
  ARM: dts: apq8064: add pm8921 pwrkey support
  ARM: dts: apq8064: add pm8921 rtc
  ARM: dts: qs600: remove unnecessary eeprom label
  ARM: dts: ifc6410: remove unnecessary eeprom label
  ARM: dts: apq8064: remove redundant i2c pinctrl properties
  ARM: dts: qcom: Remove extra reg element from iadc device
  ARM: dts: msm8974: Add smd, rpm and regulator nodes
  soc: qcom: Add device tree binding for SMEM
2015-10-15 17:21:01 +02:00
Linus Walleij
5078f77e14 ARM64: juno: add NOR flash to device tree
The Juno motherboard has a NOR flash on the motherboard, enable
this to be accessed with the CFI flash driver. Results after
enabling MTD, MTD_CFI, MTD_PHYSMAP, MTD_PHYSMAP_OF,
MTD_CFI_INTELEXT:

8000000.flash: Found 2 x16 devices at 0x0 in 32-bit bank.
Manufacturer ID 0x000089 Chip ID 0x008919
Intel/Sharp Extended Query Table at 0x010A
Intel/Sharp Extended Query Table at 0x010A
Intel/Sharp Extended Query Table at 0x010A
Intel/Sharp Extended Query Table at 0x010A
Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
erase region 0: offset=0x0,size=0x40000,blocks=255
erase region 1: offset=0x3fc0000,size=0x10000,blocks=4

Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-15 17:20:12 +02:00
Krzysztof Opasiak
91c42b0da8 usb: gadget: loopback: Fix looping back logic implementation
Since commit e0857ce58e
("usb: gadget: loopback: don't queue requests to bogus endpoints")

Loopback function is not realy working as that commit removed
all looping back logic. After that commit ep-out works like
/dev/null and ep-in works like /dev/zero.

This commit fix this issue by allocating set of out requests
and set of in requests but each out req shares buffer with
one in req:

out_req->buf ---> buf <--- in_req.buf
out_req->context <---> in_req.context

The completion routine simply  enqueue the suitable req in
an oposite direction.

Cc: <stable@vger.kernel.org> # 3.18+
Fixes: e0857ce58e
("usb: gadget: loopback: don't queue requests to bogus endpoints")

Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2015-10-15 10:19:52 -05:00
Arnd Bergmann
e3d05583a7 Second Round of Renesas ARM Based SoC DT Updates for v4.4
* Enable the following on the porter board:
   I2C2, PCI, PCIe, QSPI, SATA0, SDHI0/2, USB PHY and VIN0/ADV7180.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWHvNcAAoJENfPZGlqN0++J0EP+gMOFcFdLOqnnqDO75dV7Fey
 NsZJsOGU0avrrNwt0Q5LM8/jOinPShnTqoJcTMge1ErZTlBjdWMfCwmsttsvNu5G
 Oj9NALQx4824NnjjixwhJB1MTfH2JKcZWBmZylkEsiv+uA8domOFflaL7ZAJ+RER
 ZmoCrEWa6APQdrGnh8b43CKlFpxL6Zx3bKjPBo/z8NG6exhswMJXugkkSQMdRfxr
 utTcqD4sQ0V3JuQSBfYJeR4Z22vDYp+DtevqIkpaAdlhcJLM9lIaLnNujE9xqaoy
 L3ss3nROOqnQlTrTvifadB7fOG5ecs/5FD/N9QGj07Xfcx1DZrOqzGVaa8cMfS2a
 SmcOvLyYVafyNzyyAhhYj63/IzgUMoH1HEXZDX+x1yLgH8OlL9NG+HtuYARvFHFN
 yTXCXC524WC850PMFQ7MPuvl/axkpLU+g7cvhVZ/PKzG+VGckw6GWyxl2WCKcW/x
 7N6gD0IdF2g1WNl8vU3yOBDhIRb60CtjiuAEDN+X8GhMdaDfslqK7GGL5ulgkGrh
 owo7qUbvWry2TjowchszsDiW+0MtDsdKG3F1UISR+pN0D0JytRjqJW8aRnfX8oBc
 4S1oV9EaLddQd90nU+XL0Mcbu7txO7OKNvly2KeWHD2jDX+QJsZQ8PSwa2eTY8eD
 puv4pXOmwwnF9eJP+IXN
 =8OHS
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Pull "Second Round of Renesas ARM Based SoC DT Updates for v4.4" from Simon Horman:

* Enable the following on the porter board:
  I2C2, PCI, PCIe, QSPI, SATA0, SDHI0/2, USB PHY and VIN0/ADV7180.

* tag 'renesas-dt2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: porter: enable internal PCI and USB PHY
  ARM: shmobile: porter: enable PCIe
  ARM: shmobile: porter: add QSPI DT support
  ARM: shmobile: porter: add VIN0/ADV7180 DT support
  ARM: shmobile: porter: add I2C2 DT support
  ARM: shmobile: porter: enable SATA0
  ARM: shmobile: porter: add SDHI0/2 DT support
2015-10-15 17:18:49 +02:00
Masahiro Yamada
36dd6066c0 ARM: dts: uniphier: change the external bus address mapping
In UniPhier SoCs before ProXstream2 and PH1-LD6b, two address spaces
 0x00000000 - 0x0fffffff
 0x40000000 - 0x4fffffff
are both mapped to the external bus (also called system bus),
so either was OK.

In the newest two SoCs, the former (0x00000000 - 0x0fffffff) is
assigned for the serial NOR interface.

For the consistency, use the latter for all the SoCs.

Also, fix the range properties to reflect the real address mapping,
where the support card is located at the offset address 0x01f00000
of CS1 of the external bus.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-15 17:16:11 +02:00
Arnd Bergmann
a787f40a9a Fixes for omap against v4.3-rc5:
- Regulator fix for beagle-x15 to fix HDMI without a SD card being
   inserted
 
 - GPMC fix for showing proper timings and to allow enabling debug
   options that somehow was unselectable earlier
 
 - Add minimal documentation for new MMC1 dependency on
   REGULATOR_PBIAS as it may not be obvious for people with
   targeted .config files
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWHrRQAAoJEBvUPslcq6Vz4RAP/3IQ3vifBG/VB93Pgm2cVSDZ
 rxUT3C8Ag4tS7pJzqiY++Bf0q05+NBuBG3XoE7sfltiHQ69iS9Grt8IwqmtAkkIT
 rqWa5+2Fyr/M63GkatSSP7WNqyXMadI/KNCZOPR5A30YCm4vPEBbEECATO3ei5WS
 Kt9bJwTDEgEpIz4dy2rqnAi828jS1uoiNUMFEJx8TfUqGWCep0jdT6G4XWVP2GAH
 OawZRYi4ilvodt1tqZKlkcJevOvSmOphWqHVY3mJAv1O9x1Or5bGWtvtL6W5hUh/
 q8eaLM81v3pifz8BAFqRfZ0NaZ4qWSmneJfy0M/tuyVHY/DHUwVolqa+wiyKFuJH
 m+a/2cFh0hSZCBGDYOv5UwKjWTUUugU6EPPcaq8OPx+s1UwEwhY3iwSrKD+ldN77
 SnMHGkxDBtZK7S7/xcFf3IwwLCzPHl4QAZmEk/ouUDxd5xxwkOjIRczEa4HrvK4o
 qTIG97IggkRgmxYDsWP9w7ZgiDz8QQ9kMvS4aCuaKlU/IDNzhe8gkgnLHtGkS0v4
 fuMtNeDokTwR7dsyU7hvF8FQZvUvz+yNGW3OiUSMP4SY/PCiLXXOSibKrd7+caFL
 mf6Z8rhxm91UdywmTPKiykzQIxshz65x+95t45WCUPOVTUHEb6PQqi+Nvy3Ky9bT
 LjPKoZC1YAshk9W3gixa
 =1+r/
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.3/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

Merge "Fixes for omap against v4.3-rc5" from Tony Lindgren:

- Regulator fix for beagle-x15 to fix HDMI without a SD card being
  inserted

- GPMC fix for showing proper timings and to allow enabling debug
  options that somehow was unselectable earlier

- Add minimal documentation for new MMC1 dependency on
  REGULATOR_PBIAS as it may not be obvious for people with
  targeted .config files

* tag 'omap-for-v4.3/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  Documentation: ARM: List new omap MMC requirements
  memory: omap-gpmc: dump "before" state before first modification
  memory: omap-gpmc: Fix unselectable debug option for GPMC
  ARM: dts: am57xx-beagle-x15: set VDD_SD to always-on
2015-10-15 17:13:26 +02:00
Masahiro Yamada
2e4e5da55a ARM: dts: uniphier: fix IRQ number for devices on PH1-LD6b ref board
The IRQ signal from external devices on this board is connected to
the XIRQ4 pin of the SoC.  The IRQ number should be 52, not 50.

Fixes: a5e921b477 ("ARM: dts: uniphier: add ProXstream2 and PH1-LD6b SoC/board support")
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-15 17:12:43 +02:00
Will Deacon
fb659882cc drivers/perf: arm_pmu: avoid CPU device_node reference leak
of_cpu_device_node_get increments the reference count on the CPU
device_node, so we must take care to of_node_put once we've finished
with it.

This patch fixes the perf IRQ probing code to avoid the leak.

Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-15 17:11:23 +02:00
Pawel Moll
a0bcbe969f bus: arm-ccn: Fix irq affinity setting on CPU migration
When PMU context is migrating between CPUs, interrupt affinity is set as
well. Only this should not happen when the CCN interrupt is not being
used at all (the driver is using a hrtimer tick instead).

Fixed now.

Cc: <stable@vger.kernel.org> # 4.2+
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-15 17:10:15 +02:00