summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-02-07ARM: ux500: remove deleted file from MakefileOlof Johansson
Cleanup removed the file, but Makefile was overlooked. Purge there too. Fixes: 4b483ed0be8b ('ARM: ux500: cut some platform data') Signed-off-by: Olof Johansson <olof@lixom.net>
2017-02-07Merge tag 'arm-soc/for-4.11/maintainers' of ↵Arnd Bergmann
http://github.com/Broadcom/stblinux into next/soc Pull "Broadcom maintainers changes for 4.11" from Florian Fainelli: This pull request contains Broadcom MAINTAINERS entries updates for 4.11: - Eric updates the git repository for the BCM283x development * tag 'arm-soc/for-4.11/maintainers' of http://github.com/Broadcom/stblinux: MAINTAINERS: Update for the current location of the bcm2835 tree.
2017-02-07Merge tag 'sunxi-core-for-4.11' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/soc Pull "Allwinner core changes for 4.11" from Maxime Ripard: Some patches to support two new SoCs: the H2+ and the V3s. * tag 'sunxi-core-for-4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: arm: sunxi: add support for V3s SoC ARM: sunxi: add support for H2+ SoC
2017-02-07Merge tag 'mvebu-soc-4.11-2' of git://git.infradead.org/linux-mvebu into ↵Arnd Bergmann
next/soc Pull "mvebu soc for 4.11 (part 2)" from Gregory CLEMENT: SoC part of the support for the for Marvell switches with integrated CPUs based on Armada XP: the SMP support is slightly different. * tag 'mvebu-soc-4.11-2' of git://git.infradead.org/linux-mvebu: arm: mvebu: support for SMP on 98DX3336 SoC
2017-02-07ARM: ep93xx: Disable TS-72xx watchdog before uncompressingFlorian Fainelli
The TS-72xx/73xx boards have a CPLD watchdog which is configured to reset the board after 8 seconds, if the kernel is large enough that this takes about this time to decompress the kernel, we will encounter a spurious reboot. Do not pull ts72xx.h, but instead locally define what we need to disable the watchdog. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-02-07ARM: ux500: cut some platform dataLinus Walleij
This platform data is revoked: the drivers are getting the DMA configuration from the device tree, it has been done like that since the DMA support was merged and this data has not been used since. The remaining auxdata is also unused. Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-02-01MAINTAINERS: Update for the current location of the bcm2835 tree.Eric Anholt
I've been maintaining the bcm2835 branches here for a year or so. Signed-off-by: Eric Anholt <eric@anholt.net> Acked-by: Stefan Wahren <stefan.wahren@i2se.com> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-01-30arm: mvebu: support for SMP on 98DX3336 SoCChris Packham
Compared to the armada-xp the 98DX3336 uses different registers to set the boot address for the secondary CPU so a new enable-method is needed. This will only work if the machine definition doesn't define an overall smp_ops because there is not currently a way of overriding this from the device tree if it is set in the machine definition. Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-01-29Merge tag 'samsung-soc-4.11-2' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc Samsung mach/soc update for v4.11, second round: 1. Remove mach code for Exynos4415 as a continuation of removal of this SoC. 2. Remove obsolete property from the bindings documentation. * tag 'samsung-soc-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: dt-bindings: video: exynos7-decon: Remove obsolete samsung,power-domain property ARM: EXYNOS: Remove Exynos4415 arch code (SoC not supported anymore) Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29Merge tag 'imx-cleanup-4.11' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc i.MX cleanup for 4.11: - Remove unused flexcan and esdhc device definitions for i.MX25. - A series from Fabio to remove camera device initialization code from i.MX platform support, since the corresponding media driver has been deprecated and removed from kernel tree. * tag 'imx-cleanup-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: mach-mx27_3ds: Remove camera support ARM: mach-pcm037: Remove camera support ARM: mach-mx35_3ds: Remove camera support ARM: mx31moboard-smartbot: Remove camera support ARM: mx31moboard-marxbot: Remove camera support ARM: mach-mx31_3ds: Remove camera support ARM: imx: remove unused device definitions Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29Merge tag 'mvebu-soc-4.11-1' of git://git.infradead.org/linux-mvebu into ↵Olof Johansson
next/soc mvebu soc for 4.11 (part 1) Cleanup up on dove pmu and mv78x00 pci * tag 'mvebu-soc-4.11-1' of git://git.infradead.org/linux-mvebu: soc: dove: constify reset_control_ops structures ARM: mv78xx0: fix possible PCI buffer overflow Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29Merge tag 'tegra-for-4.11-soc' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc ARM: tegra: Core SoC changes for v4.11-rc1 This contains a single cleanup patch for the placement of the __initdata annotation, as suggested by checkpatch. * tag 'tegra-for-4.11-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: paz00: Fix __initdata placement Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29Merge tag 'renesas-soc2-for-v4.11' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Second Round of Renesas ARM Based SoC Updates for v4.11 * Add more register documentation to R-Car Gen2 PM * tag 'renesas-soc2-for-v4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: rcar-gen2: Add more register documentation Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29Merge tag 'pxa-for-4.11' of https://github.com/rjarzmik/linux into next/socOlof Johansson
This is the pxa changes for v4.11 cycle. This cycle is a minor fixes one, covering : - build fixes from Arnd, mainly include related - transfer of maintainance of Motorala phone to Robert * tag 'pxa-for-4.11' of https://github.com/rjarzmik/linux: MAINTAINERS: transfer maintainership for the EZX platform ARM: pxa: include linux/leds.h ARM: pxa: ezx: fix a910 camera data Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29Merge tag 'hisi-armv7-soc-for-4.11' of git://github.com/hisilicon/linux-hisi ↵Olof Johansson
into next/soc ARM: mach-hisi: Hisilicon SoC updates for 4.11 - Drop the declaration of the unimplemented hip01_cpu_die * tag 'hisi-armv7-soc-for-4.11' of git://github.com/hisilicon/linux-hisi: arm: hisi: drop extern hip01_cpu_die Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29Merge tag 'omap-for-v4.11/soc-signed' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc SoC changes for omaps for v4.11 merge window. This adds support for keeping the interconnect target module active for uart if earlycon is specified. And we're adding Aaro Koskinen as a co-maintainer for omap1 to make sure things stay working for omap1. The other changes are mostly clean-up of old legacy code: - Remove unused omap_display_init() - Make omapdss_find_dss_of_node() function static - Add support for earlycon - Tidy up omap1 usb logging output with pr_cont - Make omap_otg_init() static - Delete redundant CPU class checks for omap1 - Remove unused mpurate cmdline option that has not done anything for past 1.5 years at least * tag 'omap-for-v4.11/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP: clock: Remove unused mpurate cmdline option ARM: OMAP2+: omap_hwmod: Add support for earlycon MAINTAINERS: Add Aaro Koskinen as TI omap1 SoC co-maintainer ARM: OMAP1: USB: delete redundant CPU class checks ARM: OMAP1: USB: make omap_otg_init() static ARM: OMAP1: USB: tidy up logging output ARM: OMAP2+: Make the omapdss_find_dss_of_node() function static ARM: OMAP2+: Remove unused omap_display_init() function Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-29dt-bindings: video: exynos7-decon: Remove obsolete samsung,power-domain propertyKrzysztof Kozlowski
The samsung,power-domain property is obsolete since commit 0da658704136 ("ARM: dts: convert to generic power domain bindings for exynos DT"). Replace it with generic one. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com> Acked-by: Rob Herring <robh@kernel.org>
2017-01-27soc: dove: constify reset_control_ops structuresBhumika Goyal
Declare reset_control_ops as const as they are only stored in the ops field of a reset_controller_dev structure. This field is of type const struct reset_control_ops *, so reset_control_ops structures having this property can be declared as const. Done using Coccinelle: @r1 disable optional_qualifier@ identifier i; position p; @@ static struct reset_control_ops i@p={...}; @ok1@ identifier r1.i; position p; struct reset_controller_dev x; @@ x.ops=&i@p; @bad@ position p!={r1.p,ok1.p}; identifier r1.i; @@ i@p @depends on !bad disable optional_qualifier@ identifier r1.i; @@ +const struct reset_control_ops i; File size before: drivers/soc/dove/pmu.o text data bss dec hex filename 2447 112 16 2575 a0f drivers/soc/dove/pmu.o File size after: drivers/soc/dove/pmu.o text data bss dec hex filename 2479 80 16 2575 a0f drivers/soc/dove/pmu.o Signed-off-by: Bhumika Goyal <bhumirks@gmail.com> Acked-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-01-27ARM: mv78xx0: fix possible PCI buffer overflowArnd Bergmann
gcc-7.0 reports a potential array overflow: arch/arm/mach-mv78xx0/pcie.c: In function 'mv78xx0_pcie_preinit': arch/arm/mach-mv78xx0/pcie.c:81:4: error: output may be truncated before the last format character [-Werror=format-truncation=] I haven't checked if this can actually happen, but making the array one 32-bit word longer addresses the warning and makes it completely safe. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-01-26MAINTAINERS: transfer maintainership for the EZX platformStefan Schmidt
Neither Daniel, Harald or myself are looking into this anymore. Robert thankfully agreed to handle the maintenance from now on. Also remove the outdated entries for website, git tree and mailing list. Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org> Acked-by: Harald Welte <laforge@gnumonks.org> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
2017-01-25ARM: shmobile: rcar-gen2: Add more register documentationGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-01-25ARM: tegra: paz00: Fix __initdata placementDmitry Torokhov
Placement of attributes, such as __initdata, is standardized through the checkpatch script. Fix up this instance to make checkpatch happy. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-01-24ARM: OMAP: clock: Remove unused mpurate cmdline optionAndrew Murray
The 'mpurate' option, historically used for specifying an initial MPU rate at boot, no longer has any effect due to the supporting code being removed as it was 'wrong and dangerous' [1]. This patch removes the remaining dead code associated with the __setup macros to avoid confusion and reduce bloat. [1] https://patchwork.kernel.org/patch/5954631/ Signed-off-by: Andrew Murray <amurray@embedded-bits.co.uk> Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-01-24Merge branch 'omap-for-v4.11/omap1' into omap-for-v4.11/socTony Lindgren
2017-01-20arm: sunxi: add support for V3s SoCIcenowy Zheng
Allwinner V3s is a low-end single-core Cortex-A7 SoC, with 64MB integrated DRAM, and several peripherals. Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-01-20ARM: OMAP2+: omap_hwmod: Add support for earlyconLokesh Vutla
Hwmod core tries to reset and idles each IP that is registered with hwmod. In case of earlycon, that specific uart IP cannot be reset or keep it in idle state else earlycon hangs once hwmod resets that uart IP. So add support to not reset uart that is being used as earlycon only if CONFIG_SERIAL_EARLYCON is enabled. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-01-20arm: hisi: drop extern hip01_cpu_dieKefeng Wang
Since the hip01 doesn't support cpu hotplug now, and doesn't implement the hip01_cpu_die function, drop the declaration. Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-01-18Merge tag 'aspeed-4.11-soc' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into next/soc Apseed SoC updates for 4.11 One commit that selects the newly upstreamed pinctrl driver for all SoCs. * tag 'aspeed-4.11-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed: ARM: aspeed: Select pinctrl drivers Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-18Merge tag 'at91-ab-4.11-soc' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/soc SoC for 4.11: - small cleanup * tag 'at91-ab-4.11-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: at91: pm: remove useless extern definition Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-18ARM: EXYNOS: Remove Exynos4415 arch code (SoC not supported anymore)Krzysztof Kozlowski
Support for Exynos4415 is going away because there are no internal nor external users. Since commit 46dcf0ff0de3 ("ARM: dts: exynos: Remove exynos4415.dtsi"), the platform cannot be instantiated so remove also the mach code. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Kukjin Kim <kgene@kernel.org> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
2017-01-18ARM: pxa: include linux/leds.hArnd Bergmann
When the header is not included implicitly, we get a build failure: arch/arm/mach-pxa/idp.c:205:22: error: field 'cdev' has incomplete type struct led_classdev cdev; This adds an explicit #include. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
2017-01-18ARM: pxa: ezx: fix a910 camera dataArnd Bergmann
The camera_supply_dummy_device definition is shared between a780 and a910, but only provided when the first is enabled and fails to build for a configuration with only a910: arch/arm/mach-pxa/ezx.c:1097:3: error: 'camera_supply_dummy_device' undeclared here (not in a function) This moves the definition into its own section. Fixes: 6c1b417adc8f ("ARM: pxa: ezx: use the new pxa_camera platform_data") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
2017-01-16Merge tag 'samsung-soc-4.11' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc Samsung mach/soc update for v4.11. Mostly cleanups: 1. Removal of unused platform data in S3C24XX and S3C64xx as follow up of conversion to new DMA channel request API. 2. Adding const and __ro_after_init to various data in Samsung platforms. * tag 'samsung-soc-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: s3c64xx: Constify wake_irqs ARM: s3c24xx: Constify wake_irqs ARM: SAMSUNG: Constify array of wake irqs passed to samsung_sync_wakemask ARM: s3c64xx: Annotate external clock frequencies __ro_after_init ARM: s3c24xx: Constify few integer tables ARM: EXYNOS: Annotate iomem and pm_data pointers __ro_after_init ARM: EXYNOS: Constify list of retention registers ARM: s3c24xx: Drop unused struct s3c_audio_pdata entries ARM: s3c64xx: Drop initialization of unused struct s3c_audio_pdata fields Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-16Merge tag 'ux500-dev-for-armsoc' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/soc Some two collected patches simplifying some Ux500 stuff. * tag 'ux500-dev-for-armsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: ARM: ux500: remove duplicated include from cpu-db8500.c ARM: ux500: simplify secondary boot Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-12ARM: ux500: remove duplicated include from cpu-db8500.cWei Yongjun
Remove duplicated include. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-01-12ARM: ux500: simplify secondary bootLinus Walleij
Inline the wakeup_secondary() static function, and keep the backupram remapping around: it is reused when resuming from suspend so no point in remapping it every time. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-01-11ARM: at91: pm: remove useless extern definitionAlexandre Belloni
at91_ramc_base is local to pm.c, remove its definition in pm.h Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-01-10ARM: aspeed: Select pinctrl driversAndrew Jeffery
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Joel Stanley <joel@jms.id.au>
2017-01-09Merge tag 'renesas-soc-for-v4.11' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Renesas ARM Based SoC Updates for v4.11 * Allow booting secondary CPU cores in debug mode * tag 'renesas-soc-for-v4.11' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: rcar-gen2: Remove unused rcar_gen2_read_mode_pins() ARM: shmobile: r8a7791: Allow booting secondary CPU cores in debug mode ARM: shmobile: apmu: Allow booting secondary CPU cores in debug mode ARM: shmobile: apmu: Add debug resource reset for secondary CPU boot ARM: shmobile: apmu: Add more register documentation Signed-off-by: Olof Johansson <olof@lixom.net>
2017-01-08Linux 4.10-rc3Linus Torvalds
2017-01-08Merge tag 'usb-4.10-rc3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fixes from Greg KH: "Here are a bunch of USB fixes for 4.10-rc3. Yeah, it's a lot, an artifact of the holiday break I think. Lots of gadget and the usual XHCI fixups for reported issues (one day that driver will calm down...) Also included are a bunch of usb-serial driver fixes, and for good measure, a number of much-reported MUSB driver issues have finally been resolved. All of these have been in linux-next with no reported issues" * tag 'usb-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (72 commits) USB: fix problems with duplicate endpoint addresses usb: ohci-at91: use descriptor-based gpio APIs correctly usb: storage: unusual_uas: Add JMicron JMS56x to unusual device usb: hub: Move hub_port_disable() to fix warning if PM is disabled usb: musb: blackfin: add bfin_fifo_offset in bfin_ops usb: musb: fix compilation warning on unused function usb: musb: Fix trying to free already-free IRQ 4 usb: musb: dsps: implement clear_ep_rxintr() callback usb: musb: core: add clear_ep_rxintr() to musb_platform_ops USB: serial: ti_usb_3410_5052: fix NULL-deref at open USB: serial: spcp8x5: fix NULL-deref at open USB: serial: quatech2: fix sleep-while-atomic in close USB: serial: pl2303: fix NULL-deref at open USB: serial: oti6858: fix NULL-deref at open USB: serial: omninet: fix NULL-derefs at open and disconnect USB: serial: mos7840: fix misleading interrupt-URB comment USB: serial: mos7840: remove unused write URB USB: serial: mos7840: fix NULL-deref at open USB: serial: mos7720: remove obsolete port initialisation USB: serial: mos7720: fix parallel probe ...
2017-01-08Merge tag 'char-misc-4.10-rc3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc fixes from Greg KH: "Here are a few small char/misc driver fixes for 4.10-rc3. Two MEI driver fixes, and three NVMEM patches for reported issues, and a new Hyper-V driver MAINTAINER update. Nothing major at all, all have been in linux-next with no reported issues" * tag 'char-misc-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: hyper-v: Add myself as additional MAINTAINER nvmem: fix nvmem_cell_read() return type doc nvmem: imx-ocotp: Fix wrong register size nvmem: qfprom: Allow single byte accesses for read/write mei: move write cb to completion on credentials failures mei: bus: fix mei_cldev_enable KDoc
2017-01-08Merge tag 'staging-4.10-rc3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging/IIO fixes from Greg KH: "Here are some staging and IIO driver fixes for 4.10-rc3. Most of these are minor IIO fixes of reported issues, along with one network driver fix to resolve an issue. And a MAINTAINERS update with a new mailing list. All of these, except the MAINTAINERS file update, have been in linux-next with no reported issues (the MAINTAINERS patch happened on Friday...)" * tag 'staging-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: MAINTAINERS: add greybus subsystem mailing list staging: octeon: Call SET_NETDEV_DEV() iio: accel: st_accel: fix LIS3LV02 reading and scaling iio: common: st_sensors: fix channel data parsing iio: max44000: correct value in illuminance_integration_time_available iio: adc: TI_AM335X_ADC should depend on HAS_DMA iio: bmi160: Fix time needed to sleep after command execution iio: 104-quad-8: Fix active level mismatch for the preset enable option iio: 104-quad-8: Fix off-by-one errors when addressing IOR iio: 104-quad-8: Fix index control configuration
2017-01-07mm: workingset: fix use-after-free in shadow node shrinkerJohannes Weiner
Several people report seeing warnings about inconsistent radix tree nodes followed by crashes in the workingset code, which all looked like use-after-free access from the shadow node shrinker. Dave Jones managed to reproduce the issue with a debug patch applied, which confirmed that the radix tree shrinking indeed frees shadow nodes while they are still linked to the shadow LRU: WARNING: CPU: 2 PID: 53 at lib/radix-tree.c:643 delete_node+0x1e4/0x200 CPU: 2 PID: 53 Comm: kswapd0 Not tainted 4.10.0-rc2-think+ #3 Call Trace: delete_node+0x1e4/0x200 __radix_tree_delete_node+0xd/0x10 shadow_lru_isolate+0xe6/0x220 __list_lru_walk_one.isra.4+0x9b/0x190 list_lru_walk_one+0x23/0x30 scan_shadow_nodes+0x2e/0x40 shrink_slab.part.44+0x23d/0x5d0 shrink_node+0x22c/0x330 kswapd+0x392/0x8f0 This is the WARN_ON_ONCE(!list_empty(&node->private_list)) placed in the inlined radix_tree_shrink(). The problem is with 14b468791fa9 ("mm: workingset: move shadow entry tracking to radix tree exceptional tracking"), which passes an update callback into the radix tree to link and unlink shadow leaf nodes when tree entries change, but forgot to pass the callback when reclaiming a shadow node. While the reclaimed shadow node itself is unlinked by the shrinker, its deletion from the tree can cause the left-most leaf node in the tree to be shrunk. If that happens to be a shadow node as well, we don't unlink it from the LRU as we should. Consider this tree, where the s are shadow entries: root->rnode | [0 n] | | [s ] [sssss] Now the shadow node shrinker reclaims the rightmost leaf node through the shadow node LRU: root->rnode | [0 ] | [s ] Because the parent of the deleted node is the first level below the root and has only one child in the left-most slot, the intermediate level is shrunk and the node containing the single shadow is put in its place: root->rnode | [s ] The shrinker again sees a single left-most slot in a first level node and thus decides to store the shadow in root->rnode directly and free the node - which is a leaf node on the shadow node LRU. root->rnode | s Without the update callback, the freed node remains on the shadow LRU, where it causes later shrinker runs to crash. Pass the node updater callback into __radix_tree_delete_node() in case the deletion causes the left-most branch in the tree to collapse too. Also add warnings when linked nodes are freed right away, rather than wait for the use-after-free when the list is scanned much later. Fixes: 14b468791fa9 ("mm: workingset: move shadow entry tracking to radix tree exceptional tracking") Reported-by: Dave Chinner <david@fromorbit.com> Reported-by: Hugh Dickins <hughd@google.com> Reported-by: Andrea Arcangeli <aarcange@redhat.com> Reported-and-tested-by: Dave Jones <davej@codemonkey.org.uk> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Christoph Hellwig <hch@lst.de> Cc: Chris Leech <cleech@redhat.com> Cc: Lee Duncan <lduncan@suse.com> Cc: Jan Kara <jack@suse.cz> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Matthew Wilcox <mawilcox@linuxonhyperv.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-01-07mm: stop leaking PageTablesHugh Dickins
4.10-rc loadtest (even on x86, and even without THPCache) fails with "fork: Cannot allocate memory" or some such; and /proc/meminfo shows PageTables growing. Commit 953c66c2b22a ("mm: THP page cache support for ppc64") that got merged in rc1 removed the freeing of an unused preallocated pagetable after do_fault_around() has called map_pages(). This is usually a good optimization, so that the followup doesn't have to reallocate one; but it's not sufficient to shift the freeing into alloc_set_pte(), since there are failure cases (most commonly VM_FAULT_RETRY) which never reach finish_fault(). Check and free it at the outer level in do_fault(), then we don't need to worry in alloc_set_pte(), and can restore that to how it was (I cannot find any reason to pte_free() under lock as it was doing). And fix a separate pagetable leak, or crash, introduced by the same change, that could only show up on some ppc64: why does do_set_pmd()'s failure case attempt to withdraw a pagetable when it never deposited one, at the same time overwriting (so leaking) the vmf->prealloc_pte? Residue of an earlier implementation, perhaps? Delete it. Fixes: 953c66c2b22a ("mm: THP page cache support for ppc64") Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Michael Neuling <mikey@neuling.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Balbir Singh <bsingharora@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Hugh Dickins <hughd@google.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-01-07Merge branch 'rc-fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kbuild fix from Michal Marek: "The asm-prototypes.h file added in the last merge window results in invalid code with CONFIG_KMEMCHECK=y. The net result is that genksyms segfaults. This pull request fixes the header, the genksyms fix is in my kbuild branch for 4.11" * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: asm-prototypes: Clear any CPP defines before declaring the functions
2017-01-07MAINTAINERS: add greybus subsystem mailing listGreg Kroah-Hartman
The Greybus driver subsystem has a mailing list, so list it in the MAINTAINERS file so that people know to send patches there as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Johan Hovold <johan@kernel.org> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-01-06Merge tag 'sound-4.10-rc3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Nothing particular stands out, only a few small fixes for USB-audio, HD-audio and Firewire. The USB-audio fix is the respin of the previous race fix after a revert due to the regression" * tag 'sound-4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: Revert "ALSA: firewire-lib: change structure member with proper type" ALSA: usb-audio: test EP_FLAG_RUNNING at urb completion ALSA: usb-audio: Fix irq/process data synchronization ALSA: hda - Apply asus-mode8 fixup to ASUS X71SL ALSA: hda - Fix up GPIO for ASUS ROG Ranger ALSA: firewire-lib: change structure member with proper type ALSA: firewire-tascam: Fix to handle error from initialization of stream data ALSA: fireworks: fix asymmetric API call at unit removal
2017-01-06Merge tag 'clk-fixes-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux Pull clk fixes from Stephen Boyd: "One fix for a broken driver on Renesas RZ/A1 SoCs with bootloaders that don't turn all the clks on and another fix for stm32f4 SoCs where we have multiple drivers attaching to the same DT node" * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: clk: stm32f4: Use CLK_OF_DECLARE_DRIVER initialization method clk: renesas: mstp: Support 8-bit registers for r7s72100
2017-01-06Merge tag 'hwmon-for-linus-v4.10-rc3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon fix from Guenter Roeck: "Fix temp1_max_alarm attribute in lm90 driver" * tag 'hwmon-for-linus-v4.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (lm90) fix temp1_max_alarm attribute