When fabricating a server index key for fscache, we should clear the index key
buffer before starting to fill it in, not in the middle.
Reported-by: James Pearson <james-p@moving-picture.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Steve Dickson <steved@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
The flag RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT was intended introduced in
order to allow NFSv4 clients to disable resend timeouts. Since those
cause the RPC layer to break the connection, they mess up the duplicate
reply caches that remain indexed on the port number in NFSv4..
This patch includes the code that was missing in the original to
set the appropriate flag in struct rpc_clnt, when the caller of
rpc_create() sets RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT.
Fixes: 8a19a0b6cb (SUNRPC: Add RPC task and client level options to...)
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
If CONFIG_COMMON_CLK is selected then __clk_get and __clk_put are
defined in drivers/clk/clk.c and declared in include/linux/clkdev.h.
Sylwester's series[0] to properly support clk_{get,put} in the common
clock framework made changes to the asm-specific clkdev.h headers, but
not the asm-generic version. Tomeu's recent changes[1] to introduce a
provider/consumer split in the clock framework uncovered this problem,
causing the following build error on any architecture using the
asm-generic clkdev.h (e.g. x86 architecture and the ACPI LPSS driver):
In file included from drivers/acpi/acpi_lpss.c:15:0:
include/linux/clkdev.h:59:5: error: conflicting types for ‘__clk_get’
int __clk_get(struct clk_core *clk);
^
In file included from arch/x86/include/generated/asm/clkdev.h:1:0,
from include/linux/clkdev.h:15,
from drivers/acpi/acpi_lpss.c:15:
include/asm-generic/clkdev.h:20:19: note: previous definition of ‘__clk_get’ was here
static inline int __clk_get(struct clk *clk) { return 1; }
^
Fixed by only declarating __clk_get and __clk_put when
CONFIG_COMMON_CLK is set.
[0] http://lkml.kernel.org/r/<1386177127-2894-5-git-send-email-s.nawrocki@samsung.com>
[1] http://lkml.kernel.org/r/<1409758148-20104-1-git-send-email-tomeu.vizoso@collabora.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
There is no need to init .owner field.
Based on the patch from Peter Griffin <peter.griffin@linaro.org>
"mmc: remove .owner field for drivers using module_platform_driver"
This patch removes the superflous .owner field for drivers which
use the module_platform_driver API, as this is overriden in
platform_driver_register anyway."
Signed-off-by: Kiran Padwal <kiran.padwal@smartplayin.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
This reverts commit 610bd8722e.
"ARM: dts: hix5hd2: add wdg node" causes a build breakage due to
an undefined constatns:
Error: arch/arm/boot/dts/hisi-x5hd2.dtsi:374.22-23 syntax error
(Don't you just looove the dtc error messages? They are so informative!)
Signed-off-by: Olof Johansson <olof@lixom.net>
- mmc pinmux for at91sam9263 was missing
- little fix of the old clock implementation
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJUIvtbAAoJEAf03oE53VmQMP4H/1e3NM8xP6ePHSDzYW/SyqGx
IdFJwRff/FlHTzx23jND6z9SJDLTDu7NhUtABEsOIN+uJ28Vg9FLSR5+XqOfpbGt
UH9M2Xxla0WClIUzNDcDTyX56vo/TT0M1lnfh7IvP4yR0iWghbvDIWj/4L5Zl52n
bU1Ac+Spz4kuSShb6PSLxWfZXY7rlEFZbdOUd0ju2AqgLGbf+GeEWl4JcyPBb0id
MrS2YN5yO+0Ts72QPX7mSDS+RCzTm5ncIw6aLfgJzC0vWWvV6AXn6w6nYNUm/o4+
BlHZLHYOPVOLoz+uQE9biKcWeZhMR1orWkcIGXxfzao2cOm5WGa3CkuLd+dol2g=
=VQv1
-----END PGP SIGNATURE-----
Merge tag 'at91-fixes-non-critical' of git://github.com/at91linux/linux-at91 into next/fixes-non-critical
Pull "Fixes non critical for AT91" from Nicolas Ferre:
- mmc pinmux for at91sam9263 was missing
- little fix of the old clock implementation
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'at91-fixes-non-critical' of git://github.com/at91linux/linux-at91:
ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks
ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings
The ASM below does not compile with clang and is not the way that the mcr
command is used in other parts of the kernel.
arch/arm/mach-vt8500/vt8500.c:72:11: error: invalid % escape in inline assembly string
asm("mcr%? p15, 0, %0, c7, c0, 4" : : "r" (0));
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
There are other forms that are supported on different ARM instruction sets but
generally the kernel just uses mcr as it is supported in all ARM instruction
sets.
Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Tony Prisk <linux@prisktech.co.nz>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add all HW-support options from tegra_defconfig that are missing from
multi_v7_defconfig.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add myself as a third maintainer to the mach-bcm code to increase the
chances the redundancy in the merging/reviewing process.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Scott Branden <sbranden@broadcom.com>
Acked-by: Brian Norris <computersforpeace@gmail.com>
Acked-by: Matt Porter <mporter@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- un-use slot-node and deprecate the supports-highspped
for dw-mmc
- remove old USB2 PHY node for exynos5250
- exynos4412-odroid-common
enable PMIC interrupt and i2c improvements
- exynos5250-snow
fold exynos5250-cros-common
update display related nodes
- Peach Pit and Pi
improve power scheme, add support max77802 PMIC,
add hdmi regulators add thermistor, ISL29018 sensor,
set i2c clock at 400kHz, add support Atmel touchpad,
update display related nodes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJUGLrUAAoJEA0Cl+kVi2xqpTgQAKXkcDw25ITAB/50rpnV0oi0
qtM8sUA7MuZgtOA0ymQwV2/xGKei+KKYLT14Sgs8UWvQTGYBpj5p8xug35KP0e7Y
ndpc3I6K9Jx1D3ICu9aEhbuIPNLGxGhxMhcVLrRoH0UTqgQkH2AUpEADuR43HZx7
jD4wyJZtLhnKoiN8mPWto5tHXAUBG4iKHGYGkubfEGZUk1tHCbV6sBi1+6Dmc/gZ
QmBrhbB69iSe2Rvza/s7XCTafV18AW7XiWjm/Un3C4ARdZ28YUD6o0Dqb/ol6Eoc
rmyMxgNUyrabJrvrN9HUi6oXNGWcPl6a3oJoCoL0PL+9ks6pPRST+7rDCN5+a73Z
xlNl1EiiwHpgXbDufQESMglhV63aJ9BCRpYrj3n2nkJc42qyJNfldjMlKacObqKd
4S3sTIpfLI6WAk+7/RL47w9MMZtWtWOnJW4hgZ9OGiaRQe+i3lP2X/KYrsZcu/Zm
ZSMjVSOPc1w+9KxHTbuhsqaHeeDEJRn4eg4xSs6jfCE93l+5qnSQqR0NMQuRtqVk
4cL0AmowQUHX5dImKpBIg+CuMOvTayBG7ZvhPZSMCCDqm3fEhP5rmsh+NL0UozvH
9+j9NZV0ZJ3Y+7xzbkww0K04sNKU9ojcj5GYaNYq0QEOM0DtKBlcdSaVyF4ANtJe
Vv7zahRq1Ub2avVGQYd8
=aaca
-----END PGP SIGNATURE-----
Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt
Pull "Samsung DT update for 3.18" from Kukjin Kim:
- un-use slot-node and deprecate the supports-highspped
for dw-mmc
- remove old USB2 PHY node for exynos5250
- exynos4412-odroid-common
enable PMIC interrupt and i2c improvements
- exynos5250-snow
fold exynos5250-cros-common
update display related nodes
- Peach Pit and Pi
improve power scheme, add support max77802 PMIC,
add hdmi regulators add thermistor, ISL29018 sensor,
set i2c clock at 400kHz, add support Atmel touchpad,
update display related nodes
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: dts: remove old USB2 PHY node for exynos5250
ARM: dts: remove old USB2 PHY node hook for exynos5250-arndale
ARM: dts: update display related nodes for exynos5800-peach-pi
ARM: dts: update display related nodes for exynos5420-peach-pit
ARM: dts: update display related nodes for exynos5250-snow
ARM: dts: Add support Atmel touchpad for exynos5800-peach-pi
ARM: dts: Add support Atmel touchpad for exynos5420-peach-pit
ARM: dts: Set i2c7 clock at 400kHz for exynos based Peach boards
ARM: dts: Add ISL29018 sensor for exynos based Peach boards
ARM: dts: Add thermistor dts fragment used by exynos based Peach boards
ARM: dts: add hdmi regulators for exynos5420-peach-pit
ARM: dts: add hdmi regulators for exynos5800-peach-pi
ARM: dts: Add support max77802 PMIC for exynos based Peach boards
ARM: dts: Improve Peach Pit and Pi power scheme
ARM: dts: unuse the slot-node and deprecate the supports-highspeed for dw-mmc in exynos
ARM: dts: Fold exynos5250-cros-common into exynos5250-snow
ARM: dts: Fix MMC pinctrl for exynos5250-snow
ARM: dts: ODROID i2c improvements for exynos4412-odroid-common
ARM: dts: Enable PMIC interrupts for exynos4412-odroid-common
This patch add the clock node in PD_VIDEO
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Add dt for rk3288 i2s controller, since i2s clock pins and data pins
default to be GPIO, this patch also add pinctrl to mux them.
Tested on RK3288 board.
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This adds the device tree bindings used by register bit LEDs.
Cc: devicetree@vger.kernel.org
Cc: Bryan Wu <cooloney@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This adds a SoC driver to be used by the ARM RealView
reference boards. We create the "versatile" directory to hold
the different ARM reference designs as per the pattern of the
clk directory layout. The driver utilze the syscon to get to
the register needed. After this we can use sysfs to get at
some SoC properties on RealView DT variants like this:
> cd /sysbus/soc/devices/soc0
> ls
board family machine power subsystem
build fpga manufacturer soc_id uevent
> cat family
Versatile
> cat fpga
Multi-layer AXI
> cat board
HBI-0147
> cat build
03
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Conflicts:
drivers/soc/Kconfig
drivers/soc/Makefile
This driver enabled us to drive the reboot of the Versatile family
of ARM reference boards. Even though only the RealView boards are
supported initially, these boards all have the same procedure for
reboot:
- Write a magic value into an unlocking register
- Write another magic value into a reset control register
The driver will be reusable for Versatile and possibly also the
Integrator family of reference boards.
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Acked-By: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Revert of a recent hibernation core commit that introduced
a NULL pointer dereference during resume for at least one user
(Rafael J Wysocki).
- Fix for the ACPI LPSS (Low-Power Subsystem) driver to disable
asynchronous PM callback execution for LPSS devices during system
suspend/resume (introduced in 3.16) which turns out to break
ordering expectations on some systems. From Fu Zhonghui.
- cpufreq core fix related to the handling of sysfs nodes during
system suspend/resume that has been broken for intel_pstate
since 3.15 from Lan Tianyu.
- Restore the generation of "online" uevents for ACPI container
devices that was removed in 3.14, but some user space utilities
turn out to need them (Rafael J Wysocki).
- The cpufreq core fails to release a lock in an error code path
after changes made in 3.14. Fix from Prarit Bhargava.
- ACPICA and ACPI/GPIO fixes to make the handling of ACPI GPIO
operation regions (which means AML using GPIOs) work correctly
in all cases from Bob Moore and Srinivas Pandruvada.
- Fix for a wrong sign of the ACPI core's create_modalias() return
value in case of an error from Mika Westerberg.
- ACPI backlight blacklist entry for ThinkPad X201s from Aaron Lu.
/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAABCAAGBQJUJJGgAAoJEILEb/54YlRxt3kP/19OjVjGK/lFKJk4LCmQ77k5
6DDF7/clNJmYBkKBXGdyqqRVdDUXjRuHS1Yd78zWMmwdLtdOcyI+wBjG1w0mMU7o
vAYvXkIks9fCeKBRHSlqdtQROFf3+bxothKD8JGTONA5z4Fih40fqsnuSW8G7uJs
iTEQQK7L2uPJ+w1OnltwN6eNgzN5KqfxgxI+L6DhEMRjWXRHuhfRZorVIjvz+ALV
Fjm8shhjnhQKzS2zuv5PZ5gGM7zZBH7hy7kd4aDYsbppOLAB2pMOwVs0sgC1Xcbv
teyWkyzmhix2Z1bX9wwia5FfMgbnY2leejJN7mukKzHz8CQ1vxS98Sji2uviIAej
Ctp6GKjuemGvjryjbkstD6r3KYS8CuWAL++YwlamqSa0eWBuM+aD9YqGj4i6ntbU
8BFT5KXauOIsA5U51zC8wNUDHoTgBcvoN99zNIM1jIF81M7wuQrXUzJLXBStuSlR
/bDpExwxHt7I6MeUfRTjg37ApVNRAiStw32+DfsKAj4HLsqTkGs1879Paxf30T0f
Z2SlYr5Jeusu5u9DNhk7MG21A+m46R0jjLd1OKBbf2mrtfQfdKCo6szGR7vjEMZC
aGIlwtIA4iS4MN3UAyqOW3SxIPT2SxqPXzG/z27hRN5MUsGNWiClzcUsaaHoHmpp
GlbY/BvDYfur4NBeCSli
=SzQq
-----END PGP SIGNATURE-----
Merge tag 'pm+acpi-3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI and power management fixes from Rafael Wysocki:
"These are regression fixes (ACPI hotplug, cpufreq, hibernation, ACPI
LPSS driver), fixes for stuff that never worked correctly (ACPI GPIO
support in some cases and a wrong sign of an error code in the ACPI
core in one place), and one blacklist item for ACPI backlight
handling.
Specifics:
- Revert of a recent hibernation core commit that introduced a NULL
pointer dereference during resume for at least one user (Rafael J
Wysocki).
- Fix for the ACPI LPSS (Low-Power Subsystem) driver to disable
asynchronous PM callback execution for LPSS devices during system
suspend/resume (introduced in 3.16) which turns out to break
ordering expectations on some systems. From Fu Zhonghui.
- cpufreq core fix related to the handling of sysfs nodes during
system suspend/resume that has been broken for intel_pstate since
3.15 from Lan Tianyu.
- Restore the generation of "online" uevents for ACPI container
devices that was removed in 3.14, but some user space utilities
turn out to need them (Rafael J Wysocki).
- The cpufreq core fails to release a lock in an error code path
after changes made in 3.14. Fix from Prarit Bhargava.
- ACPICA and ACPI/GPIO fixes to make the handling of ACPI GPIO
operation regions (which means AML using GPIOs) work correctly in
all cases from Bob Moore and Srinivas Pandruvada.
- Fix for a wrong sign of the ACPI core's create_modalias() return
value in case of an error from Mika Westerberg.
- ACPI backlight blacklist entry for ThinkPad X201s from Aaron Lu"
* tag 'pm+acpi-3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
Revert "PM / Hibernate: Iterate over set bits instead of PFNs in swsusp_free()"
gpio / ACPI: Use pin index and bit length
ACPICA: Update to GPIO region handler interface.
ACPI / platform / LPSS: disable async suspend/resume of LPSS devices
cpufreq: release policy->rwsem on error
cpufreq: fix cpufreq suspend/resume for intel_pstate
ACPI / scan: Correct error return value of create_modalias()
ACPI / video: disable native backlight for ThinkPad X201s
ACPI / hotplug: Generate online uevents for ACPI containers
This makes it possible to create a set of LEDs from a syscon
MFD instance, which is lean mean and clean on the ARM
reference designs and can replace the Versatile LEDs driver
in the long run, as well as other custom syscon LEDs drivers.
Cc: Bryan Wu <cooloney@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
[Fixed cocinelle warnings]
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- introduction of the new SAMA5D4 SoC and associated Evaluation Kit
- low level soc detection and early printk code
- taking advantage of this, documentation of all AT91 SoC DT strings
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJUIB6OAAoJEAf03oE53VmQL+IIALNg2XPS49u2Y6VMjL3srFLt
7CUdNoGB7GJKoGrIXPSyAhJLkRlWREgRsEk/RSYqfBpyBZV4PIx9R6dIz1L+VxGU
9neXLkZGrYNzN8qJPz82+ARuCXdCF13N8ClVfXkNDhwbDnlbZgTkh4hNV118mKLt
+PF0d3w354ujieUD7D0pOcdRlny487qMNjtc/0U4P+H2sp2EtL0PpFHicn79InPT
V36PpFtUMEgbw2wQPNtlFkjQWstyZ7WJJGUbIX/2P3PASCwKsgrbmkvDvmfp5tUT
FdclJwJnxgcpni2fDvbz8Vq04i3hixl2Olm8tAvIXOI/hdVcurvZSfweJ5BrfDk=
=fMfO
-----END PGP SIGNATURE-----
Merge tag 'at91-soc2' of git://github.com/at91linux/linux-at91 into next/soc
Pull "Second SoC batch for 3.18" from Nicolas Ferre:
- introduction of the new SAMA5D4 SoC and associated Evaluation Kit
- low level soc detection and early printk code
- taking advantage of this, documentation of all AT91 SoC DT strings
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'at91-soc2' of git://github.com/at91linux/linux-at91:
ARM: at91: document Atmel SMART compatibles
ARM: at91: add sama5d4 support to sama5_defconfig
ARM: at91: dt: add device tree file for SAMA5D4ek board
ARM: at91: dt: add device tree file for SAMA5D4 SoC
ARM: at91: SAMA5D4 SoC detection code and low level routines
ARM: at91: introduce basic SAMA5D4 support
clk: at91: add a driver for the h32mx clock
The soc2 branch is based on this cleanup:
* at91/soc:
ARM: at91: Remove the support for the RSI EWS board
ARM: at91: remove board file for Acme Systems Fox G20
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- removal of 2 board C files in mach-at91
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJUHFcbAAoJEAf03oE53VmQ1IEH/3Bzs3OhF7YTEM0XX10l64lK
STAVbYurugb6IbvYZ2Q7LY1YOeilaNdZeMmmyivhiIOU5duQURyoSJm1+5VSKF6p
XYZJcJSNdmoqiSTFmmok8sO8CC0Y2hi+W/SgFO/PHnj15PLECX/KddlfMTjRECvr
QvbgruHiX1AX5z5nWyjPFDrxrk33rDvjQfVEqMwjNhcV4hGhV6vU8CIRUrqGftH1
8yGxpGkYYBGlBu6qd9MmgIV0sPmkpMrDaWoEnyphxF8bmZNnkKO0JnxcQCaeHL6v
tQV8EFxQqm5xQU4vNAWnEiDFj/hrZN3fC5tzrOSj8OoEoPIyQW+XKI64Y3UrZXs=
=Q1d3
-----END PGP SIGNATURE-----
Merge tag 'at91-soc' of git://github.com/at91linux/linux-at91 into next/cleanup
Pull "First AT91 SoC batch for 3.18" from Nicolas Ferre:
- removal of 2 board C files in mach-at91
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'at91-soc' of git://github.com/at91linux/linux-at91:
ARM: at91: Remove the support for the RSI EWS board
ARM: at91: remove board file for Acme Systems Fox G20
- Remove unused pieces of the legacy DMA API as we're moving to
dmaengine API
- Search and replace to standardize on pr_warn instead of pr_warning
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJUGzmvAAoJEBvUPslcq6Vz53kQAOAS6Rxp03mmjflegqkVzech
JUPBfGQHVwcpbYQU53+ZCt2Bfg0iaD6xL2BtBfS8tsaePDwqT6kVFrDBqWuIiT6S
Taq2NUzqAhdgva74a6VAh0VSpPK4ui3cdXRoXvMfZRvOtR8bbfAprAWYyWipy2RM
4y07a9dcd1SalcWDJttfXxBV7ImqXPf1e6dRtxYRBBshoNJ46/nk8nS9HblaoJbJ
L3FdmOw7x5jG1nSO4dmhsGzg0PmfjKJwe+rGYPVLuEPil6Sc0VDJxGF8ZyAyK+/K
r8ZvIdbWLiJ6ga/ehMNaZaz6sOsSPRAWWSTOOGUlJvBUiOgHH8P+/Y/3fCkcjTlT
Rg15sij0aBVQJNGNEif9xd19f1tnlthSnjIt593YnqElCN50lnNDBt+bVICTlszd
sXbPZtO8vZ0PHEDshBpWvjyPKyN1CrRTVHtGJXZr/zNWoK2Y1NvsdOYR36AlQugW
WhA5hklyJnRpdbiU84fBon9pbowAOIMcLctBqpK5RyqyC+vVgopcaoMWl9F1XW/r
cAcGVm/zAWfWm01XeuJu1R6DOdLxUvi0Sn7UrXcsPwEYR2pp0NdQQUmNEX3Ko9cW
rIO7emEqQvUdY/K+wa5HzhVMHk5VuBIUb8nT30KjOCEGOB7QhEb/6ly6D0pxLFJ0
RtC70hvqxGWawiNpGadr
=ZNTi
-----END PGP SIGNATURE-----
Merge tag 'cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup
Pull "Clean-up for omaps for v3.18 merge window" from Tony Lindgren:
- Remove unused pieces of the legacy DMA API as we're moving to
dmaengine API
- Search and replace to standardize on pr_warn instead of pr_warning
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
arm: mach-omap2: Convert pr_warning to pr_warn
ARM: OMAP: Remove unused pieces of legacy DMA API
This patch use the new defined clock ID to initial the clock nodes.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Pull i2c fixes from Wolfram Sang:
"This is probably not the kind of pull request you want to see that
late in the cycle. Yet, the ACPI refactorization was problematic
again and caused another two issues which need fixing. My holidays
with limited internet (plus travelling) and the developer's illness
didn't help either :(
The details:
- ACPI code was refactored out into a seperate file and as a
side-effect, the i2c-core module got renamed. Jean Delvare
rightfully complained about the rename being problematic for
distributions. So, Mika and I thought the least problematic way to
deal with it is to move all the code back into the main i2c core
source file. This is mainly a huge code move with some #ifdeffery
applied. No functional code changes. Our personal tests and the
testbots did not find problems. (I was thinking about reverting,
too, yet that would also have ~800 lines changed)
- The new ACPI code also had a NULL pointer exception, thanks to
Peter for finding and fixing it.
- Mikko fixed a locking problem by decoupling clock_prepare and
clock_enable.
- Addy learnt that the datasheet was wrong and reimplemented the
frequency setup according to the new algorithm.
- Fan fixed an off-by-one error when copying data
- Janusz fixed a copy'n'paste bug which gave a wrong error message
- Sergei made sure that "don't touch" bits are not accessed"
* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
i2c: acpi: Fix NULL Pointer dereference
i2c: move acpi code back into the core
i2c: rk3x: fix divisor calculation for SCL frequency
i2c: mxs: fix error message in pio transfer
i2c: ismt: use correct length when copy buffer
i2c: rcar: fix RCAR_IRQ_ACK_{RECV|SEND}
i2c: tegra: Move clk_prepare/clk_set_rate to probe
Transfer Documentation maintainership to Jiri Kosina.
Thanks, Jiri.
I'll still be reviewing and working on documentation.
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
start using the SRAM driver for some omaps, and update the
defconfig.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJUGzhLAAoJEBvUPslcq6VzHcMQAK/WsTqmMgZ6ydOQGzOuyELi
wLUrSdIHmw6vRYAdgWlXHS9X/F3avqS3tDXjUgW7801prbVn1MvSZ+Re3e862Md9
GdDpB2Q1fV6J9BFXY8nENkHIf7S86Nnsa5yGh6i6IIPHizmb2jf2KrRRSrsrRVA4
00PhmTlLaQb4Xuo4WG2PkOF/g10/vBqboRsG8Jhn9QTlBUYByYqNJJ3tKw9gHccr
UdYe94XjX6HLfenSv/FeWobk1QMnNJdjXmj4obgZtauKku6ZUOA5y41spirry8Rg
G9d+MJByrwG/2O2Vq71Ap0HSlGN00odlFco1FIUw8K3d5RVYD2VLDE+ROJiFBSKg
yavCrmZj7aTh+fMZuvprFKo0PBMlqZMCCsokz51MWxql6Unt9eXKbAey40KtAoo6
Y6Nq4ijdirJTWcdnKjk3dg4Mz6avHRSP+8YqndxNnnI1WS3++aI/GJNT5sCYuDG5
DezFkKET3DvIpKxHByh+n+H6P8NV3MPQ6vvV2qZAv3mvnDdA109Rgb2XamHKgf6z
dP76dA05K7/XFCRjZwbSAYJYAA3nU51fPkH1lO79oBwuP8OCqcBo6CAk22lXZupW
Dkkk+LWhYRAEvExHVEUs6raGJErOrFLtWF3wLkWVjSWZDC+Pb5psHqzGw9ck2Po1
aI+/ZyHh2P8Nl7X1G7kZ
=iau9
-----END PGP SIGNATURE-----
Merge tag 'soc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc
Pull "part 2 of omap SoC changes" from Tony Lindgren:
Few hwmod changes to support upcoming 8250 driver with DMA,
start using the SRAM driver for some omaps, and update the
defconfig.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'soc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP4+: Remove static iotable mappings for SRAM
ARM: OMAP4+: Move SRAM data to DT
ARM: AM335x: Get rid of unused sram init function
ARM: omap2plus_defconfig: Enable some display features
ARM: omap2plus_defconfig: Enable battery and reset drivers
ARM: omap2plus_defconfig: Add support for distros with systemd
ARM: omap2plus_defconfig: Add cpufreq to defconfig
ARM: omap2plus_defconfig: Shrink with savedefconfig
ARM: OMAP3: Use manual idle for UARTs because of DMA errata
ARM: OMAP2+: Add hwmod flag for HWMOD_RECONFIG_IO_CHAIN
move it to drivers.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJUGze9AAoJEBvUPslcq6VzL4oP/3WxH63RYT2eAyYQ8EGEpPiu
puAfHh30Rrc+TH9ir51DbdXbcGnimOsJSHP89oEM309NKsMhezVx7htDAMKGguNt
wH9uU9LSJtoAHiO06wQOQJCho2UCYd6Fywveauhauxw7k9EQ6uHZlN3q/knLH6r2
2eV6E7aHeqwOWFlajOQywICeu7vlmYmEJCdrbcl+GAWzfzH+yiBHfJwzns1RIvmv
A4qBHvbejL2053Iz4BpO+6iGBLfvzCjoNZn37i/Etc32MTf4cVLRXeoqQBTfthxS
27R5CeT+EHTEU9q77uRF3R1t2PzoUZPx04zPEntYsiBLTRtlolbC6WrMAmPNKYS+
ePwkbVNvhapXzKD5SlcaC+8aY29rToF4l7pCh7ARWG2IYMlZNWRgkeQPWS76LF2O
53g/cy+FUaW2WSWjwL/ktnRdv50ShzUngcdaOrztK9mnF8MihlmbZwoTk5JLFQP6
Ick7vc2SVVMP55d7tMhPWH7o07Xc0KvUb3goSvsA4z7KMopaqFAw5s6nZx2QwA6o
LLJNbShIRPrsbi21dohkE/WUUAHFjFsWcckfzK9XKOMM9RRY6usAFVvp3XwM0326
xRcd8vvAb5DP2nbBYxSqLYygCQKG80KlpF9Uvuk3NCK5aPo3gEcJs8/qzv5ZwFjq
DIWYy/AVRYGQhY/8GJUP
=cYAz
-----END PGP SIGNATURE-----
Merge tag 'intc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers
Merge "part 2 of omap intc changes" from Tony Lindgren:
Second part of omap intc interrupt controller changes to
move it to drivers.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'intc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
irqchip: omap-intc: remove unnecessary comments
irqchip: omap-intc: correct maximum number or MIR registers
irqchip: omap-intc: enable TURBO idle mode
irqchip: omap-intc: enable IP protection
irqchip: omap-intc: remove unnecesary of_address_to_resource() call
irqchip: omap-intc: comment style cleanup
irqchip: omap-intc: minor improvement to omap_irq_pending()
arm: omap: irq: move irq.c to drivers/irqchip/
irqchip: add irq-omap-intc.h header
arm: omap2: n8x0: move i2c devices to DT
... for V2M-P1 motherboard CLCD (limited to 640x480 16bpp and using
dedicated video RAM bank) and for V2P-CA9 (up to 1024x768 16bpp).
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This patch add some clock binding id for different modules
that under development and going to send upstream.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Merge "ARM: BCM: Broadcom BCM63138 support" from Florian Fainelli:
This patchset adds very minimal support for the BCM63138 SoC which is
a xDSL SoC using a dual Cortex A9 CPU complex.
* tag 'bcm63138-v4' of http://github.com/brcm/linux:
MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs
ARM: BCM63XX: add BCM963138DVT Reference platform DTS
ARM: BCM63XX: add BCM63138 minimal Device Tree
ARM: BCM63XX: add low-level UART debug support
ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC
Conflicts:
arch/arm/Kconfig.debug
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The npll on rk3288 is exactly the same pll type as the other 4. Yet it
was missing the link to the rate table, making rate changes impossible.
Change that by setting the table.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
The rk3288 actually has 12 softresets, so fix the register count.
Signed-off-by: Mark yao <mark.yao@rock-chips.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
The patch add the rest of the indices of the additional reset
registers from the updated TRM.
Signed-off-by: Mark yao <mark.yao@rock-chips.com>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Max_Read_Request_Size is 3 bits wide, not 2 bits.
Also fix the message.
Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Without this patch, each root port and the device connected directly to it seem
to be located on a shared (virtual) bus #0. It creates problems with enabling
devices (the PCI code doesn't know that the root bridge must be enabled in order
to access other devices).
The PCIe topology shown by lspci doesn't reflect reality, e.g.:
0000:00:00.0 PCI bridge: Cavium Networks Device 3400
0000:00:01.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge
0000:02:...
0001:00:00.0 PCI bridge: Cavium Networks Device 3400 (for the second lane/bus)
-+-[0001:00]---00.0-[01]--
\-[0000:00]-+-00.0-[01]--
| ^^^^ root bridge
\-01.0-[02]----...
^^^^ first external device
With this patch, the first external PCIe device is connected to bus #1
(behind the root bridge).
-+-[0001:00]---00.0-[01]--
\-[0000:00]---00.0-[01-02]----------00.0-[02]----...
^^^^ root bridge ^^^^ first external device
Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
UARTs on CNS3xxx are 8250-compatible, not AMBA.
The base address for UART0 is 0x78000000 (physical)
and 0xfb002000 (virtual).
Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
It broke when host was moved into a separate module, in 47a1685 ("usb:
dwc2/s3c-hsotg: move s3c-hsotg into dwc2 directory"),
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This patch supports to run one single flush machinery for
each blk-mq dispatch queue, so that:
- current init_request and exit_request callbacks can
cover flush request too, then the buggy copying way of
initializing flush request's pdu can be fixed
- flushing performance gets improved in case of multi hw-queue
In fio sync write test over virtio-blk(4 hw queues, ioengine=sync,
iodepth=64, numjobs=4, bs=4K), it is observed that througput gets
increased a lot over my test environment:
- throughput: +70% in case of virtio-blk over null_blk
- throughput: +30% in case of virtio-blk over SSD image
The multi virtqueue feature isn't merged to QEMU yet, and patches for
the feature can be found in below tree:
git://kernel.ubuntu.com/ming/qemu.git v2.1.0-mq.4
And simply passing 'num_queues=4 vectors=5' should be enough to
enable multi queue(quad queue) feature for QEMU virtio-blk.
Suggested-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
This patch adds 'blk_mq_ctx' parameter to blk_get_flush_queue(),
so that this function can find the corresponding blk_flush_queue
bound with current mq context since the flush queue will become
per hw-queue.
For legacy queue, the parameter can be simply 'NULL'.
For multiqueue case, the parameter should be set as the context
from which the related request is originated. With this context
info, the hw queue and related flush queue can be found easily.
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Just figuring out flush queue at the entry of kicking off flush
machinery and request's completion handler, then pass it through.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Now mission of the two helpers is over, and just call
blk_alloc_flush_queue() and blk_free_flush_queue() directly.
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
This patch introduces 'struct blk_flush_queue' and puts all
flush machinery related fields into this structure, so that
- flush implementation details aren't exposed to driver
- it is easy to convert to per dispatch-queue flush machinery
This patch is basically a mechanical replacement.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
This patch trys to use local variable to access flush request,
so that we can convert to per-queue flush machinery a bit easier.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
These fields are always used with the flush request, so
initialize them together.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
These two temporary functions are introduced for holding flush
initialization and de-initialization, so that we can
introduce 'flush queue' easier in the following patch. And
once 'flush queue' and its allocation/free functions are ready,
they will be removed for sake of code readability.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>