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>
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>
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>
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>
The two functions hix5hd2_set_scu_boot_addr() and
hip01_set_boot_addr() are not declared or exported
outside arch/arm/mach-hisi/platsmp.c file. Avoid
the following warnings by making them static:
arch/arm/mach-hisi/platsmp.c:142:6: warning: symbol 'hip01_set_boot_addr' was not declared. Should it be static?
arch/arm/mach-hisi/platsmp.c:106:6: warning: symbol 'hix5hd2_set_scu_boot_addr' was not declared. Should it be static?
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
Looks like I only partially fixed up things if CONFIG_SMP
is not set for the recent kexec changes. We don't have
boot_secondary available without SMP as reported by Arnd.
Fixes: 0573b957fc ("ARM: OMAP4+: Prevent CPU1 related hang with kexec")
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Most peripherals on the i.MX51 have an Off-Platform Peripheral Access
Control Register (OPACR) in which the access rights (together with the
MPROT registers) can be declared.
However, this does not seem to work for example for SSI1+SDMA, because the
supervisor bit is not set for the SDMA unit.
A similar problem was described in the patch for i.MX53 CPU
(ARM: i.MX53: globally disable supervisor protect), and the same solution
is applicable for i.MX51 CPU.
Patch has tested on custom board based on Digi CCMX-51 module (i.MX51).
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Add support for Qualcomm MDM9615 in Kconfig and in DT match list.
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
The davinci-i2s driver ("davinci-mcbsp") does not use platform
data any longer. Remove the dummy pdata provided by the board
drivers dm355, dm365, dm644x and neuros-osd2.
Signed-off-by: Petr Kulhavy <petr@barix.com>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Some of the drivers for S3C and S5P families of Samsung SoCs go in
through Samsung SoC tree. Extend the entry so proper maintainers would
be displayed in such cases, most notably the cpufreq drivers. This does
not change the work-flow for other drivers which have sub-maintainers
(like Samsung clocks).
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
We need to reset CPU1 properly for kexec when booting different
kernel versions. Otherwise CPU1 will attempt to boot the the
previous kernel's start_secondary(). Note that the restctrl
register is different from the low-power mode wakeup register
CPU1_WAKEUP_NS_PA_ADDR. We need to configure both.
Let's fix the issue by defining SoC specific data to initialize
things in a more generic way. And let's also standardize omap-smp.c
to use soc_is instead of cpu_is while at it.
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kexec booted kernels on omap4 will hang early during the boot if the
booted kernel is different version from the previous kernel.
This is because the previous kernel may have configured low-power mode
using CPU1_WAKEUP_NS_PA_ADDR. In that case it points to the previous
kernel's omap4_secondary_startup(), and CPU1 can be in low power mode
from the previous kernel. When the new kernel configures the CPU1
clockdomain, CPU1 can wake from low power state prematurely during
omap44xx_clockdomains_init() running random code.
Let's fix the issue by configuring CPU1_WAKEUP_NS_PA_ADDR before we
call omap44xx_clockdomains_init(). Note that this is very early during
the init, and we will do proper CPU1 reset during SMP init a bit later
on in omap4_smp_prepare_cpus(). And we need to do this when SMP is
not enabled as the previous kernel may have had it enabled.
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Prepare things for making kexec work on SMP omap variants by initializing
SARM RAM base early. This allows us to configure CPU1 for kexec in case
the previous kernel has put CPU1 in low power mode.
Note that this should not prevent moving other SAR RAM code to live
under drivers. However for kexec, we will need this very early.
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
As per the TRM: http://www.ti.com/lit/ug/spruh73m/spruh73m.pdf
offset 0x4 is reserved for PRM_PER. Hence removing the wrongly
defined address offset.
Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
The declaration of s5p_init_cpu() in arch/arm/mach-exynos/common.h
is not included in the platform file arch/arm/plat-samsung/cpu.c
which generates a warning.
Fix the following warning by moving the declaration to somewhere
both the machine and platform code can get to it, and including
the right files as necessary:
arch/arm/plat-samsung/cpu.c:47:13: warning: symbol 's5p_init_cpu' was not declared. Should it be static?
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
The ti81xx_rtc_hwmod is not exported, or declared outside the file
arch/arm/mach-omap2/omap_hwmod_81xx_data.c so make it static to
avoid the following warning:
arch/arm/mach-omap2/omap_hwmod_81xx_data.c:246:19: warning: symbol 'ti81xx_rtc_hwmod' was not declared. Should it be static?
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pruss hwmod RSTST register wrongly points to PWRSTCTRL register in case of
am43xx. Fix the RSTST register offset value.
This can lead to setting of wrong power state values for PER domain.
Fixes: 1c7e224d ("ARM: OMAP2+: hwmod: AM335x: runtime register update")
Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
The Exynos542x SoCs using A15+A7 can boot to A15 or A7. If it boots using
A7 (like on Odroid XU family boards), it can't choose right UART
physical address only the part number of CP15. Fix the detection logic
by checking the Cluster ID additionally.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
[k.kozlowski: Extend commit message]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
The declaration of keystone_pm_runtime_init() is not included
from keystone.h in pm_domain.c. Including the file fixes the
following sparse warning:
arch/arm/mach-keystone/pm_domain.c:37:12: warning: symbol 'keystone_pm_runtime_init' was not declared. Should it be static?
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Fix a pair of missing statics on un-exported functions and
include <linux/platform_data/atmel.h> to provide the declaration
of at91_suspend_entering_slow_clock() to fix the following
sparse warnings:
arch/arm/mach-at91/pm.c:127:5: warning: symbol 'at91_suspend_entering_slow_clock' was not declared. Should it be static?
arch/arm/mach-at91/pm.c:358:6: warning: symbol 'at91rm9200_idle' was not declared. Should it be static?
arch/arm/mach-at91/pm.c:367:6: warning: symbol 'at91sam9_idle' was not declared. Should it be static?
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Update the Atmel SoC entry for SAMA5D2 with all the product variants. Add the
datasheet web link, now that it's available, for instant access to full product
documentation.
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
The <soc/imx/cpuidle.h> file has declarations of two funcitons
exported from cpuidle-imx6q.c but it is not included. Fix the
following warnings by adding the include:
arch/arm/mach-imx/cpuidle-imx6q.c:71:6: warning: symbol 'imx6q_cpuidle_fec_irqs_used' was not declared. Should it be static?
arch/arm/mach-imx/cpuidle-imx6q.c:76:6: warning: symbol 'imx6q_cpuidle_fec_irqs_unused' was not declared. Should it be static?
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Fix the PMU code endian access code to deal with kernels built for
big endian operation by changing the __raw IO accessors to the
_relaxed variants.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Fix the use of __raw accesors in pm-common.c to use the _relaxed
variants to deal with any issues due to endian related fetches.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Fix the PMU code endian access code to deal with kernels built for big endian
operation.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
If the kernel is built big endian, then using the __raw read and write IO
accessors is not going to work as they end up writing big-endian data to
little-endian IO registers. Fix this by using the readl and writel relaxed
versions which ensure little endian IO.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
If the system is built for big endian, then the CPU identificaiton register
will be read in the wrong order. Fix this by using readl_relaxed() on the
register.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
The exynos low-level debug macros need to be fixed if the system is being
built big endian. Add the necessary endian swaps for accessing the registers
to get output working again
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
IRQ number should be translated from VIRQ to HWIRQ for TZIC.
As a solution for this issue, move existing translation code
from AVIC to common place.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
If both CONFIG_CPU_IDLE or CONFIG_SOC_IMX6Q are not set
then the imx6q_cpuidle_fec_irqs_used() and other functions
should be marked static inline to avoid the following
warnings whilst building drivers/net/ethernet/freescale:
include/soc/imx/cpuidle.h:21:6: warning: symbol 'imx6q_cpuidle_fec_irqs_used' was not declared. Should it be static?
include/soc/imx/cpuidle.h:22:6: warning: symbol 'imx6q_cpuidle_fec_irqs_unused' was not declared. Should it be static?
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
- Chris prepares support for the BCM23550 by removing reset code in the
BCM21664 machine code since a proper drivers/power/reset driver is provided and
shared, he then adds a machine entry point for BCM23550 and updates the SMP
code to bring-up the secondary cores on BCM23550
- Ben fixes a warning in the Kona L2 SMC code by adding the missing include file
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJXY1beAAoJEIfQlpxEBwcEFKYQAN0/ba6mCFmr8DLthDJkqeMt
yrVeVRB1H6HYnt2cqaG/tbEeZZ+d+S4PhyRbHtAQ4cjgUq0qw8HNc/paN68K4pj0
JuY/52T2mL9WY9f96VBOAnmyRGC2YjTO3xC902BHOVBqQnYzHZm/ki9nxePo8F98
JTAsZuTR+NthfWuwFAAhI6xRws8d9jLXsirPPld6iuRo48/3UoxnHIzz+dQJghIy
EVqXf3ckL09LYZqvY6dagcWQxR0RC80Z2hHska4uRirfmPjFKXYM6NvftKu3YaKz
cRC0bE6t4WR7YX3LCLYWMers7rnElhfqpgvwJVvYnnwDTpc7469CF9ql2IJSM+Dj
8DDX9pHWwNZTaHglmigIW8inaOS3ChtOb+V5nZxAsaSh5h9W99JTbpnFjqgvBZ0x
uHHwsiv6xWDDujeD5lF6+VcVekk1WGoJ8ALaa4MBxdasljw9SyRpb3q8PWXAcbk2
WMPBhED6OdfRuQ/Gf2466LcM1LBkd0nL5mYUZtN/py5B2xtvHgmee2H9AZQQlHhb
DhmXpjG4gV5ySInJs30HrK1Z6iELa+hI3gouhsqCCo4Tj+EK7/yGRncUZ02tHjEk
Tnmf3tepkX1paukYriVwLwRtuf3KkJJH5U+P4wRR/vREewbIy9iqaQFTg2IZUJr9
Mh4vZRnzjw0Qgjy0M4Dj
=zoLK
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-4.8/soc' of http://github.com/Broadcom/stblinux into next/soc
This pull request contains SoC changes for Broadcom ARM-based SoCs:
- Chris prepares support for the BCM23550 by removing reset code in the
BCM21664 machine code since a proper drivers/power/reset driver is provided and
shared, he then adds a machine entry point for BCM23550 and updates the SMP
code to bring-up the secondary cores on BCM23550
- Ben fixes a warning in the Kona L2 SMC code by adding the missing include file
* tag 'arm-soc/for-4.8/soc' of http://github.com/Broadcom/stblinux:
ARM: bcm: fix missing include of kona_l2_cache.h
ARM: BCM23550 SMP support
ARM: Add support for Broadcom BCM23550 SoC
ARM: bcm21664: Remove reset code
Signed-off-by: Olof Johansson <olof@lixom.net>
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>
- Solve an issue with DEBUG_LL and multi_v7
- Also make DEBUG_LL more user friendly
-----BEGIN PGP SIGNATURE-----
iQIcBAABCgAGBQJXW0h2AAoJENiigzvaE+LCx/EQAI9wbtmT3wBD/VbRnsZouc8C
PCkf8LVyg/bBVE27L7DOIFbOzYXuUOnWApXXzQO/vvyGbkSbouUYKIoCd7DUPe20
ENzNtca57ZxvduV/FYjHVxC/FS04HkzuGopM6/z7NUXIy3iS77Bql//C0900g7+B
iLZw8XMyN81gIfJK8Z8noHAAfZxUPJpwzdcfasT/sSwPC5yvUwMW1kwKT2Yh8Y/t
tm3xYtKZRMdIDHHRWMkyFexxNtZZSoW3QYPFul4LW+aWefAh8aNlV8gO22edtqx+
6IyrDvJdCJGQ9iSROuq2JpcmlPSOTWDohRU5odFPB0Y2Ym6mi8JK3XaMe3YnQz4l
CVXVuYqDDZK5SLIA0pMg++9aHonnvilbR5eEGLLYvrhZw4aSeNAzTWM2nbF+XEWk
irnjHXzpSbhtaG03tlI2dH1J7J2MNDVEYrV0Qywk3BXl10xlADzdaM5Z0yG7nilq
45uOYlX0lq7K6vjQ9vo5POW/r+erw0/tc1RT3Vj4Kvqx5rW5mAnNMZ7veZ+UGocw
rA5qEu9q7bGTzQ+envFJWqqP0YaMpSSekPrZ0EwcveBEWjIWUlh/va90+Ffd4XPZ
DLVfGxo6WKMyvkW3o5UCKnAwOCNDmSFE7jyJzU/WslEgTge3I8rGOMTzi8tgBWEH
6+MaRJqdy9fQoxMMz+Dx
=uP+5
-----END PGP SIGNATURE-----
Merge tag 'at91-ab-4.8-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/soc
SoC changes for 4.8:
- Solve an issue with DEBUG_LL and multi_v7
- Also make DEBUG_LL more user friendly
* tag 'at91-ab-4.8-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
ARM: at91: debug: add default DEBUG_LL addresses
ARM: at91: debug: use DEBUG_UART_VIRT
Signed-off-by: Olof Johansson <olof@lixom.net>
* Use ICRAM1 for jump stub on R-Car Gen 2 SoCs
* Postpone call to pm_genpd_init
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJXV2vKAAoJENfPZGlqN0++Bi4P/2ZVe7ZQnG0EIdzY+hBHPj/k
pS3dSrenUdeaM7vYVpB2S6f+6lqh3Dn6//jsY2/x127H9oj8cSzTidkLYXEUZb7v
KjZIwjPq4+UjaA1hd2WZxjcbJKgkKz1BGh+GWUjvr/99cyh5ySkHMvsNHfyBjDQd
SwKnklzCIJHws8UkKgEXtUutS+Z3LcClxNe5L+0dAnvh5dMp1Up/zTXsq5pDegr2
ytQYjh+TEFmuUxLx3YB511LjrLDfpAB7yGHDajAbZjDi3KtlKqbypdx+TgiqT9hh
zA5HP67XQFeJFp2DzariztVx+nHMrVd7atRn0qSX64TgqMPwpIMTLPEVFP+wCDyg
2bqgIAoGJfg4bl1IL9QRTt607SyHALIzjP+n7Jb2wPejW8OtubHmKVdTamevrZTe
lQvDNv6RwAZF60X1SkagxL13GAS3YRhKKi7wMDVb9ARzplvbh0KSDsu94k0S+wOE
dGBDnAPGe0A0HHBm5IMgADBW6RRvLAnwkr73gGIbBbTX/rwctawnBi+eIkEZUfqF
YzV3XavNOC5sXxGjQ5IiufHx/WL5XIy8np1aQNA67l3fFNYi/xrtgtFk+YKlcuiJ
OJvNHvM0BaV5g09UYUEfO6zlN1lFUhWji6Q+ro5GSAgDl9Ki8SwQfA5wSjBW113E
TdkCIRN0hkXf+AzPG5or
=DKN7
-----END PGP SIGNATURE-----
Merge tag 'renesas-soc-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Renesas ARM Based SoC Updates for v4.8
* Use ICRAM1 for jump stub on R-Car Gen 2 SoCs
* Postpone call to pm_genpd_init
* tag 'renesas-soc-for-v4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: rcar-gen2: Use ICRAM1 for jump stub on all SoCs
ARM: shmobile: pm-rmobile: Postpone call to pm_genpd_init()
Signed-off-by: Olof Johansson <olof@lixom.net>
Pull thermal management fixes from Zhang Rui:
- fix an ordering issue in cpu cooling that cooling device is
registered before it's ready (freq_table being populated).
(Lukasz Luba)
- fix a missing comment update (Caesar Wang)
* 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
thermal: add the note for set_trip_temp
thermal: cpu_cooling: fix improper order during initialization
Fix the following warning by including ../common.h to provide
the protoype for mxc_register_gpio() :
arch/arm/mach-imx/devices/platform-gpio-mxc.c:11:24: warning: symbol 'mxc_register_gpio' was not declared. Should it be static?
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Fix the following warnings by adding the include files
that define them:
arch/arm/mach-imx/devices/devices.c:25:15: warning: symbol 'mxc_aips_bus' was not declared. Should it be static?
arch/arm/mach-imx/devices/devices.c:29:15: warning: symbol 'mxc_ahb_bus' was not declared. Should it be static?
arch/arm/mach-imx/devices/devices.c:33:12: warning: symbol 'mxc_device_init' was not declared. Should it be static?
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
The i.MX6 Q/DL has an erratum (ERR006687) that prevents the FEC from
waking the CPUs when they are in wait(unclocked) state. As the hardware
workaround isn't applicable to all boards, disable the deeper idle state
when the workaround isn't present and the FEC is in use.
This allows to safely run a kernel with CPUidle enabled on all i.MX6
boards.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Acked-by: David S. Miller <davem@davemloft.net> (for network changes)
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Pull block layer fixes from Jens Axboe:
"A small collection of fixes for the current series. This contains:
- Two fixes for xen-blkfront, from Bob Liu.
- A bug fix for NVMe, releasing only the specific resources we
requested.
- Fix for a debugfs flags entry for nbd, from Josef.
- Plug fix from Omar, fixing up a case of code being switched between
two functions.
- A missing bio_put() for the new discard callers of
submit_bio_wait(), fixing a regression causing a leak of the bio.
From Shaun.
- Improve dirty limit calculation precision in the writeback code,
fixing a case where setting a limit lower than 1% of memory would
end up being zero. From Tejun"
* 'for-linus' of git://git.kernel.dk/linux-block:
NVMe: Only release requested regions
xen-blkfront: fix resume issues after a migration
xen-blkfront: don't call talk_to_blkback when already connected to blkback
nbd: pass the nbd pointer for flags debugfs
block: missing bio_put following submit_bio_wait
blk-mq: really fix plug list flushing for nomerge queues
writeback: use higher precision calculation in domain_dirty_limits()
- Fix a NULL pointer dereference when we are searching the
GPIO device list but one of the devices have been removed
(struct gpio_chip pointer is NULL).
- Fix unaligned reference counters: we were ending on +3 after
all said and done. It should be 0. Remove an extraneous
get_device(), and call cdev_del() followed by device_del()
in gpiochip_remove() instead and the count goes to zero and
calls the release() function properly.
- Fix a compile warning due to a missing #include in the
OF/device tree portions.
- Select ANON_INODES for GPIOLIB, we're using that for our
character device. Some randconfig tests disclosed the
problem.
- Make sure the Zynq driver clock runs also without CONFIG_PM
enabled
- Fix an off-by-one error in the 104-DIO-48E driver
- Fix warnings in bcm_kona_gpio_reset()
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJXXKHgAAoJEEEQszewGV1zELIP/0puBntMtTmu1RP7WI1NisWd
XMMpE+Qn+FSzgZD+zg5UOjovYOJBUB8FDAcj/WWypXxjGWlouOJhf/EIluLnZCsX
T/L+kKcXtzU0e97eyw0TCwo/EjpZXHV9d1jxJqYmkJyhK5C2MLQ0a4pLXVIk2Tov
q4t9CDOq1rH/SzWFPSDyk1PBdN031U6Z5ASQyvMAqYG/X/aTJE/5btIeif51xKzV
QpU/5YBRAmstSsRqPXYJt6p82Voozd03h0Kyc4QVwhhYo0+QtVQ22Tr6RRrGWD20
vaPHLvFIO3lfVVlZrvjzwbFB4ffQRGSnUWYlSmEMp2O2DxahfC0Q2U6Sj2phDGKM
IxvkGHYvJypXtl9qQtzK2mRgvNOitGhRobvWx/+kGbBGEvWHvr8YwgsPDX+96ydJ
x01OR2tSmoPYQmaOP87sKuDTV0cYuGsnGJxEPR9A7RHg4fAuK1NoOLG3d/xcx5Az
klNpHAwQHDfq/H69OChhorIvXNNFW09MQI1wyd9NPhiJpS030J/HkFxy3x6Ne6km
jkmnjcDCtdq4PrPHkZkoUJar3v0cQIjAP73kK9IR3MRiZgEbc5a3bAulYXUdLQNj
9YHHFdzMcvXPcjKEU28vU9cIN2j8jMfr7B0q5awwensZGou0rLcQ41b631n5B+Bp
1SsubtXxLckRwPrYMVLd
=EaGr
-----END PGP SIGNATURE-----
Merge tag 'gpio-v4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio
Pull GPIO fixes from Linus Walleij:
"A new bunch of GPIO fixes for v4.7.
This time I am very grateful that Ricardo Ribalda Delgado went in and
fixed my stupid refcounting mistakes in the removal path for GPIO
chips. I had a feeling something was wrong here and so it was. It
exploded on OMAP and it fixes their problem. Now it should be (more)
solid.
The rest i compilation, Kconfig and driver fixes. Some tagged for
stable.
Summary:
- Fix a NULL pointer dereference when we are searching the GPIO
device list but one of the devices have been removed (struct
gpio_chip pointer is NULL).
- Fix unaligned reference counters: we were ending on +3 after all
said and done. It should be 0. Remove an extraneous get_device(),
and call cdev_del() followed by device_del() in gpiochip_remove()
instead and the count goes to zero and calls the release() function
properly.
- Fix a compile warning due to a missing #include in the OF/device
tree portions.
- Select ANON_INODES for GPIOLIB, we're using that for our character
device. Some randconfig tests disclosed the problem.
- Make sure the Zynq driver clock runs also without CONFIG_PM enabled
- Fix an off-by-one error in the 104-DIO-48E driver
- Fix warnings in bcm_kona_gpio_reset()"
* tag 'gpio-v4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
gpio: bcm-kona: fix bcm_kona_gpio_reset() warnings
gpio: select ANON_INODES
gpio: include <linux/io-mapping.h> in gpiolib-of
gpiolib: Fix unaligned used of reference counters
gpiolib: Fix NULL pointer deference
gpio: zynq: initialize clock even without CONFIG_PM
gpio: 104-dio-48e: Fix control port offset computation off-by-one error
Two current fixes: one affects Qemu CD ROM emulation, which stopped
working after the updates in SCSI to require VPD pages from all
conformant devices. Fix temporarily by blacklisting Qemu (we can
relax later when they come into compliance). The other is a fix to
the optimal transfer size. We set up a minefield for ourselves by
being confused about whether the limits are in bytes or sectors (SCSI
optimal is in blocks and the queue parameter is in bytes). This tries
to fix the problem (wrong setting for queue limits max_sectors) and
make the problem more obvious by introducing a wrapper function.
Signed-off-by: James Bottomley <jejb@linux.vnet.ibm.com>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABAgAGBQJXXFPNAAoJEAVr7HOZEZN4csgP/07DjzZ8Q3Qz4TKnDfXGU+Ba
qL2feBWk+anJTHM+WZ3RYLemCiG4k2tKtuFt7V1NoYovPXCXTz4QbL1rNqBMRjME
iD+FHkIXReGMQc8dQTD09UHPY9aEeQLgK/+qJ79PhSuAxZd8PSW+jWR6Df7PNlZ9
AWIXpcKShRy0YxTacIQg7M8wjgQXyhEC9D0epvJOGxAJvTxT5Ruju6WEzZrkmr4J
Nv2QXFUhlIPxeADulBJ/0muQLU6ZMW10v7J2SpBAtsgKBJsYCYAhcDMmyZRZkWx3
CsqKH80BAc7YdqZriH2YJ+5srotCbHDCmsNpCzmjo0lav7ws0m+7jHSaur/YDDOm
B9c1ZOWpvaHDEMdZzDn2acpC9J+Xcd5kVyIRKU1heMp4MNWBvbak9YHNB1UfJcio
FTaYEYx1DiXg61rNecGV4i0mqsoUgSB9P8woszPj6Udp5TPkFadjXTqezbsXCFhi
wCeCyKlALHwm/G74Mds/prUeSpjuUsgJdS4zOm78bG1nZecLOtqk2OJeS0A03y9F
KKh4aYikG8yskajjr/t9KvKv9yBSrfJA/vtGFwRN92urU/rfhWRihrgHoi/TikfJ
dIo7EM1VrFYiIPofSdqhlLXRzxM/MlQm71A66tGcnFxv/iMOA1IybukpGz1zGPko
kepWpHLaWQL07qvluCi3
=L9za
-----END PGP SIGNATURE-----
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley:
"Two current fixes:
- one affects Qemu CD ROM emulation, which stopped working after the
updates in SCSI to require VPD pages from all conformant devices.
Fix temporarily by blacklisting Qemu (we can relax later when they
come into compliance).
- The other is a fix to the optimal transfer size. We set up a
minefield for ourselves by being confused about whether the limits
are in bytes or sectors (SCSI optimal is in blocks and the queue
parameter is in bytes).
This tries to fix the problem (wrong setting for queue limits
max_sectors) and make the problem more obvious by introducing a
wrapper function"
* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
sd: Fix rw_max for devices that report an optimal xfer size
scsi: Add QEMU CD-ROM to VPD Inquiry Blacklist
Pull i2c fixes from Wolfram Sang:
- a bigger fix for i801 to finally be able to be loaded on some
machines again
- smaller driver fixes
- documentation update because of a renamed file
* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
i2c: mux: reg: Provide of_match_table
i2c: mux: refer to i2c-mux.txt
i2c: octeon: Avoid printk after too long SMBUS message
i2c: octeon: Missing AAK flag in case of I2C_M_RECV_LEN
i2c: i801: Allow ACPI SystemIO OpRegion to conflict with PCI BAR
- Fix unflatten_dt_nodes when dad parameter is set.
- Add vendor prefixes for TechNexion and UniWest
- Documentation fix for Marvell BT
- OF IRQ kerneldoc fixes
- Restrict CMA alignment adjustments to non dma-coherent
- Couple of warning fixes in reserved-memory code
- DT maintainers updates
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJXWcdCAAoJEPr7XbWNvGHDY7IQAIGnb+J9cZPZCCGykk+nx2q3
GOpG/f+Y6U7EPTfWJPIbN2TG1WAfwBsej2SQDkl9lr1kb4oCqQWy7d4oDH9v4PzO
tPXbE3TsJsGxNvnCk9oMDH2i+TvrtXKD1OJNwH9DzheuSlwMcBTwTfG5N/wETNIt
6mSlG36V1p+Znrvr2yL1x2brtp0jVo2MX8/eLpGRHOeF37dLUqsXmgD8YBo1yenw
jj6oQ+6oWsKho3PZjbR3jmoDYxjYZoluioBPfNZrW9h3nMn6/yD+hoBWUxc/Rxg2
3LGEt0t4v1GZF1Dl852mECb+oi0dlcCULGLpOYk/Xb7vmgh8y/WH84NbCeGxDEiZ
Q/4QYDxaMvd+OCTUi4VyToOxrmCCPZ/oNIAt/+1hCjP1IEljGDP+pksoQWE5tmUX
CfEI4A4GK/0hNnjehXJ0NOJrCsFDuKdGsv3wCtIt51GQsYzJAEXqzrB6tHp9OIwO
1BqDk1a2DtNack7Yj9nJib0/IR4iguSIGOchk8zlnBK8Jgqmd9YeJT1A/bIwaT8u
SJo0u/4H684IIdfZX5Lf1YElETJvNat020cB2ObQYxqTD40o64MitJiBYBVEIYDh
tMF9rBNMY4+gdblef0HILkL2ePUW/tnrLCfR1vCtFy9INUrk5OntN+uBkkfSQZrs
tbAOfpuL6ff+5x5evj17
=rXx9
-----END PGP SIGNATURE-----
Merge tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull DeviceTree fixes from Rob Herring:
- fix unflatten_dt_nodes when dad parameter is set.
- add vendor prefixes for TechNexion and UniWest
- documentation fix for Marvell BT
- OF IRQ kerneldoc fixes
- restrict CMA alignment adjustments to non dma-coherent
- a couple of warning fixes in reserved-memory code
- DT maintainers updates
* tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
drivers: of: add definition of early_init_dt_alloc_reserved_memory_arch
drivers/of: Fix depth for sub-tree blob in unflatten_dt_nodes()
drivers: of: Fix of_pci.h header guard
dt-bindings: Add vendor prefix for TechNexion
of: add vendor prefix for UniWest
dt: bindings: fix documentation for MARVELL's bt-sd8xxx wireless device
of: add missing const for of_parse_phandle_with_args() in !CONFIG_OF
of: silence warnings due to max() usage
drivers: of: of_reserved_mem: fixup the CMA alignment not to affect dma-coherent
of: irq: fix of_irq_get[_byname]() kernel-doc
MAINTAINERS: DeviceTree maintainer updates
uvc's compat XU ioctls go through tons of potentially buggy
indirection. Patch 1 removes the indirection. Patch 2 cleans up
the code.
Compile-tested only. I have the hardware, but I have absolutely no
idea what XU does, how to use it, what software to recompile as
32-bit, or what to test in that software.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQEcBAABCAAGBQJXWz7UAAoJEK9N98ZeDfrkQw0H/RggSjLFGGLNuGRLZ8T6OARM
2EPLSvJg3RIrOTFpWjqfMOExZN0RjLpWoFek8GcRe/mrlt5xjDCS4lJQfUSMHXrs
j4jOUzycxw5YyyWW89sxzfd3t46Ed4s6Xa+3sgxqEgWolZl1ep49sjv6mqINUIxB
VBahB8PFxpP3+kn+ml5cnCKF4eysvkNRAsWCCV+o2ISL9UOaCZ+PgtsGBFHRiLDD
QRFUabDlAuculbjWtdOUwDYOqbQE0cCAMYS1FYciLjbpdbnsrWup6CLJKslC3XeY
M/d75meaawr5GNdsPF2sSLapjv24Qc2j3DnULLg3xCaE0fgtcvLk1RLw8msqSVU=
=yL6H
-----END PGP SIGNATURE-----
Merge tag '20160610_uvc_compat_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux
Pull uvc compat XU ioctl fixes from Andy Lutomirski:
"uvc's compat XU ioctls go through tons of potentially buggy
indirection. The first patch removes the indirection. The second one
cleans up the code.
Compile-tested only. I have the hardware, but I have absolutely no
idea what XU does, how to use it, what software to recompile as
32-bit, or what to test in that software"
* tag '20160610_uvc_compat_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux:
uvc_v4l2: Simplify compat ioctl implementation
uvc: Forward compat ioctls to their handlers directly