aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2016-03-02Input: rotary_encoder - move away from platform data structureDmitry Torokhov1-8/+21
Drop support for platform data passed via a C-structure and switch to device properties instead, which should make the driver compatible with all platforms: OF, ACPI and static boards. Static boards should use property sets to communicate device parameters to the driver. Signed-off-by: Dmitry Torokhov <[email protected]>
2016-03-02Merge tag 'stm32-soc-for-v4.6-2' of ↵Arnd Bergmann1-0/+1
git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/soc Merge "STM32 SoC updates for v4.6 #2" from Maxime Coquelin: Highlights: ----------- - Add a new stm32f469 SoC * tag 'stm32-soc-for-v4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32: ARM: stm32: Identify a new SoC - STM32F469
2016-03-02Merge tag 'omap-for-v4.6/soc-signed' of ↵Arnd Bergmann8-12/+368
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Merge "omap soc changes for v4.6 merge window" from Tony Lindgren: SoC related changes for omaps for v4.6 merge window: - Enable runtime revision detection for dra7 to avoid multiple dts files for various variants - Add dma_slave_map for omap1/2/3 legacy mode booting - Add RTC interconnect target data for ti81xx and am43x - Add custom reset handler for PCIeSS - Add eDMA interconnect target data for dra7 * tag 'omap-for-v4.6/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: DRA7: hwmod: Add data for eDMA tpcc, tptc0, tptc1 ARM: OMAP2+: Add rtc hwmod configuration for ti81xx ARM: DRA7: hwmod: Add custom reset handler for PCIeSS ARM: OMAP2+: DMA: Provide dma_slave_map to omap-dma for legacy boot ARM: OMAP1: DMA: Provide dma_slave_map to omap-dma ARM: OMAP: DRA7: Make use of omap_revision information for soc_is* calls ARM: AM43XX: hwmod: Add rtc hwmod ARM: DRA7: hwmod: Add reset data for PCIe ARM: DRA7: hwmod: Fix OCP2SCP sysconfig ARM: OMAP2+: hwmod data: Add SSI data for omap36xx
2016-03-02Merge tag 'imx-soc-4.6' of ↵Arnd Bergmann33-132/+203
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc Merge "i.MX SoC update for 4.6" from Shawn Guo: - Enable big endian mode support for i.MX platform - Add support for i.MX6QP SoC which is the latest i.MX6 family addition - Add basic suspend/resume support for i.MX25 - A couple of i.MX7D support updates - A few random code cleanups * tag 'imx-soc-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: Make reset_control_ops const ARM: imx: Do L2 errata only if the L2 cache isn't enabled ARM: imx: select ARM_CPU_SUSPEND only for imx6 ARM: mx25: Add basic suspend/resume support ARM: imx: Add msl code support for imx6qp ARM: imx: enable big endian mode ARM: imx: use endian-safe readl/readw/writel/writew ARM: imx7d: correct chip version information ARM: imx: select HAVE_ARM_ARCH_TIMER if selected i.MX7D ARM: imx6: fix cleanup path in imx6q_suspend_init()
2016-03-02Merge tag 'omap-for-v4.6/fixes-not-urgent-signed' of ↵Arnd Bergmann6-30/+101
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical Merge "omap non-urgent fixes for v4.6 merge window" from Tony Lindgren: Fixes for omaps for v4.6 merge window that are not urgent for the v4.5-rc cycle: - Add back optimized cpuidle parameters for 34xx that were incorrecly removed earlier with cpuidle cleanup - Fix SSI for omap36xx to get modem working on N950/N9 - A series of omap hwmod fixes via Paul Walmsley <[email protected]> to fix SSI for omap36xx for modem on N950/N9, fix for OCP2SCP sysconfig idle mode, and reset data for PCIe on dra7 - Fix out of range register access for omap3 control module if syscon max_register is initialized like v4.6 will be doing - Fix l4_ls interconnect clocks for 81xx, it should always be sysclk6_ck * tag 'omap-for-v4.6/fixes-not-urgent-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix hwmod clock for l4_ls ARM: OMAP2+: Fix out of range register access with syscon_config.max_register ARM: OMAP3: Add cpuidle parameters table for omap3430 ARM: DRA7: hwmod: Add reset data for PCIe ARM: DRA7: hwmod: Fix OCP2SCP sysconfig ARM: OMAP2+: hwmod data: Add SSI data for omap36xx
2016-03-02Merge tag 'renesas-dt-fixes2-for-v4.5' of ↵Arnd Bergmann1-1/+0
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes Merge "Second Round of Renesas ARM Based SoC DT Fixes for v4.5" from Simon Horman: * remove enable prop from HS-USB device node on porter board * tag 'renesas-dt-fixes2-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: dts: porter: remove enable prop from HS-USB device node
2016-03-02Merge tag 'renesas-dt-fixes2-for-v4.5' of ↵Arnd Bergmann1-1/+0
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Second Round of Renesas ARM Based SoC DT Fixes for v4.5" from Simon Horman: * remove enable prop from HS-USB device node on porter board * tag 'renesas-dt-fixes2-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: dts: porter: remove enable prop from HS-USB device node
2016-03-02Merge tag 'stm32-defconfig-for-v4.6-1' of ↵Arnd Bergmann2-0/+2
git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/defconfig Merge "STM32 defconfig updates for v4.6 #1" from Maxime Coquelin: Highlights: ----------- - Enable GPIO led driver in stm32_defconfig - Introduce a config fragment to override RAM base address * tag 'stm32-defconfig-for-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32: ARM: configs: Add new config fragment to change RAM start point ARM: config: Enable GPIO Led driver in stm32_defconfig
2016-03-02Merge tag 'omap-for-v4.6/defconfig-signed' of ↵Arnd Bergmann2-1/+13
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/defconfig Merge "omap defconfig changes for v4.6 merge window" from Tony Lindgren: Defconfig changes for omap2plus_defconfig and multi_v7_defconfig for v4.6 merge window: - Enable IOMMU and omap3isp so we can enable TVP5150/1 video decoder - Enable at24 eeprom for revision detection on beagle-x15 - Enable LP872x regulator for both omap2plus_defconfig and multi_v7_defconfig as it's needed at least by LG Optimus Black * tag 'omap-for-v4.6/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: multi_v7_defconfig: Enable LP872x regulator support ARM: omap2plus_defconfig: Enable LP872x regulator support ARM: omap2plus_defconfig: Enable AT24 eeprom ARM: omap2plus_defconfig: Enable TI TVP5150 video decoder support ARM: omap2plus_defconfig: Enable ISP support and dependencies ARM: omap2plus_defconfig: Enable OMAP IOMMU support
2016-03-02Merge tag 'imx-defconfig-4.6' of ↵Arnd Bergmann3-19/+25
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig Merge "i.MX defconfig update for 4.6" from Shawn Guo: - Enable i.MX25 Touchscreen controller and ADC support - Enable NVMEM OCOTP driver support - Clean up mxs_defconfig and imx_v4_v5_defconfig - Enable initramfs support - Enable PSCI, SAHARA and more Vybrid driver support * tag 'imx-defconfig-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v4_v5_defconfig: Enable initramfs support ARM: imx_v4_v5_defconfig: Cleanup imx_v4_v5_defconfig ARM: mxs_defconfig: Enable initramfs support ARM: mxs_defconfig: Cleanup mxs_defconfig ARM: imx_v6_v7_defconfig: enable useful configurations for Vybrid ARM: imx_v6_v7_defconfig: Select CONFIG_CRYPTO_DEV_SAHARA ARM: imx_v4_v5_defconfig: Add I.MX25 Touchscreen controller and ADC support. ARM: mxs_defconfig: Select CONFIG_NVMEM_MXS_OCOTP ARM: imx_v6_v7_defconfig: Select CONFIG_NVMEM_IMX_OCOTP ARM: imx_v6_v7_defconfig: enable psci default
2016-03-02Merge tag 'samsung-defconfig-4.6-2' of ↵Arnd Bergmann3-3/+14
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/arm64 Merge "ARM64 defconfig changes for Exynos based boards for v4.6" from Krzysztof Kozlowski: 1. We want thermal for Exynos7 TMU unit to monitor the temperature. 2. Enable the drivers for PMIC used on Exynos7-based Espresso board. * tag 'samsung-defconfig-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: arm64: defconfig: Enable Samsung MFD and related configs arm64: defconfig: Enable exynos thermal config ARM: multi_v7_defconfig: Remove MAX77802 RTC Kconfig symbol ARM: exynos_defconfig: Remove MAX77802 RTC Kconfig symbol rtc: max77686: Cleanup and reduce dmesg output rtc: Remove Maxim 77802 driver rtc: max77686: Properly handle regmap_irq_get_virq() error code rtc: max77686: Fix unsupported year message rtc: max77686: Add max77802 support rtc: max77686: Add an indirection level to access RTC registers rtc: max77686: Use a driver data struct instead hard-coded values rtc: max77686: Use usleep_range() instead of msleep() rtc: max77686: Use ARRAY_SIZE() instead of current array length rtc: max77686: Fix max77686_rtc_read_alarm() return value ARM: exynos_defconfig: Enable s5p-secss driver ARM: exynos_defconfig: Enable NEON, accelerated crypto and cpufreq stats Signed-off-by: Arnd Bergmann <[email protected]>
2016-03-02Merge tag 'imx-dt64-4.6' of ↵Arnd Bergmann2-0/+5
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt64 Merge "NXP/Freescale arm64 dts update for 4.6" from Shawn Guo: - Add "snps,quirk-frame-length-adjustment" property to USB3 node for erratum A009116, which affects NXP/Freescale arm64 SoCs LS1043A and LS2080A. * tag 'imx-dt64-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: arm64: dts: ls1043a: Add quirk for Erratum A009116 arm64: dts: ls2080a: Add quirk for Erratum A009116
2016-03-02Merge tag 'qcom-arm64-for-4.6' of ↵Arnd Bergmann13-23/+880
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt64 Merge "Qualcomm ARM64 Updates for v4.6" from Andy Gross: * Add MSM8996 support * Cleanups for MSM8916 * Updates for APQ8016 SBC * Fixup pmic reg properties * Add RPMCC node for 8916 * Add LPASS audio nodes * Add USB support on MSM8916 * tag 'qcom-arm64-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: (24 commits) arm64: dts: qcom: Fix MPP's function used for LED control arm64: dts: qcom: fix usb digital voltage levels arm64: dts: qcom: apq8016-sbc: enable lpass on DB410c arm64: dts: qcom: add lpass node arm64: dts: qcom: add audio pinctrls arm64: dts: qcom: apq8016-sbc: add usb support arm64: dts: qcom: add manual pullup setting to otg. arm64: dts: qcom: msm8916: Add RPMCC DT node ARM64: dts: qcom: Remove size elements from pmic reg properties arm64: dts: msm8996: Add #power-domain-cells property arm64: dts: apq8016-sbc: Add real regulators and pinctrl for sdhc arm64: dts: apq8016-sbc: move sdhci node under soc node arm64: dts: apq8016-sbc: make 1.8v available on LS expansion arm64: dts: apq8016-sbc: add regulators support arm64: dts: qcom: add lable for smd rpm regulators arm64: dts: remove s2 regulator from smd regulators. arm64: dts: qcom: add correct drive strenght on cs pins arm64: dts: qcom: remove redundant spi cs pins from pinconf arm64: dts: apq8016-sbc: Add aliases to spi device. arm64: dts: Add L2 cache node to msm8916 ...
2016-03-02Merge tag 'at91-dt2' of ↵Arnd Bergmann2-0/+143
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt Merge "at91: dt for 4.6 #2" from Nicolas Ferre: Second 4.6 DT series, all patches for sama5d2 and its Xplained board: - addition of the NAND flash node - addition of the dma properties for UART/USART nodes - one update of the sama5d2 Xplained phy node - addition of USB pinmux, button and leds * tag 'at91-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: dts: at91: sama5d2 Xplained: add leds node ARM: dts: at91: sama5d2 Xplained: add user push button ARM: dts: at91: sama5d2 Xplained: set pin muxing for usb gadget and usb host ARM: dts: at91: sama5d2: add nand0 and nfc0 nodes ARM: dts: at91: sama5d2: add dma properties to UART nodes ARM: dts: at91: sama5d2 Xplained: Correct the macb irq pinctrl node
2016-03-02Merge tag 'stm32-dt-for-v4.6-2' of ↵Arnd Bergmann4-11/+188
git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/dt Merge "STM32 DT updates for v4.6 #2" from Maxime Coquelin: Highlights: ----------- - Fix clock references in GPIO nodes - Add early support to stm32f469 MCU - Add USB HS support in host mdoe to stm32429-eval board - Add Ethernet support to stm32429-eval board * tag 'stm32-dt-for-v4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32: ARM: dts: stm32f429: Enable Ethernet on Eval board ARM: dts: stm32f429: Add Ethernet support ARM: dts: stm32f429: Add system config bank node ARM: dts: stm32429i-eval: Add USB HS host mode support ARM: dts: stm32f429: Fix clocks referenced by GPIO banks ARM: stm32: Supply a DTS file for the STM32F469 Discovery board
2016-03-02Merge tag 'omap-for-v4.6/dt-pt2' of ↵Arnd Bergmann41-79/+464
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Pull "Part 2 of device tree changes for omaps for v4.6 merge window" from Tony Lindgren: - A series of GPMC related interrupt changes from Rogeq Quadros <[email protected]> to prepare adding interrupt support to the NAND driver - Add RTC support for ti81xx - Correct LogicPD Torpedo mode description - Add basic support for LG Optimus Black phone in several patches by Paul Kocialkowski <[email protected]> - Change address-cells for dra7 for LPAE - Add TBCLK for PWMSS on dra7 * tag 'omap-for-v4.6/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (21 commits) ARM: dts: omap3-sniper: TWL4030 keypad support Revert "ARM: dts: DRA7: Add dt nodes for PWMSS" ARM: dts: dm814x: dra62x: Disable wait pin monitoring for NAND ARM: dts: dm814x: dra62x: Fix NAND device nodes ARM: dts: DRA7: Add dt nodes for PWMSS ARM: dts: DRA7: Add TBCLK for PWMSS ARM: dts: DRA7: change address-cells and size-cells ARM: dts: omap3-sniper: USB OTG support ARM: dts: LG Optimus Black codename sniper basic support ARM: dts: dm3730-torpedo-devkit: Add "Wireless" to model ARM: dts: Add RTC entry for dm816x ARM: dts: Add RTC entry for dm814x and dra62x ARM: dts: omap3: Fix NAND device nodes ARM: dts: dm8168-evm: ARM: dts: Disable wait pin monitoring for NAND ARM: dts: dm816x: Fix NAND device nodes ARM: dts: am335x: Disable wait pin monitoring for NAND ARM: dts: am335x: Fix NAND device nodes ARM: dts: am437x: Disable wait pin monitoring for NAND ARM: dts: am437x: Fix NAND device nodes ARM: dts: dra7: Remove redundant nand property ...
2016-03-02Merge tag 'imx-dt-4.6' of ↵Arnd Bergmann72-1257/+5764
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt2 Merge "i.MX device tree updates for 4.6" from Shawn Guo: - New i.MX6 board support: NXP/Freescale imx6qp boards, Advantech/GE, Uniwest evi, Engicam IMX6 Q7, Toradex Apalis SoM and Ixora carrier boards - Relicense vf610 dts files under GPLv2/X11 - A patch series from Stefan updating Vybrid Colibri board support with PMU, regulators and other devices enabled - Correct PWM pinmux for Ventana boards and add more pinmux for GW54xx - Clean up imx6q-tbs2910 dts file and add SATA PHY configuration - A series from Russell cleaning up hummingboard dts files - A series from Lothar updating Ka-Ro i.MX28, i.MX53 and i.MX6 boards to use better audio codec frequency and display configurations - Clean up whitespaces in i.MX6UL pinctrl header and add more devices support for the SoC - Other random dts updates to enable various devices * tag 'imx-dt-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (75 commits) ARM: dts: imx53-qsb: Fix gpio button polarity ARM: dts: vfxxx: Add DAC node for Vybrid SoC ARM: dts: imx6q: add missing links between ipu2 and mipi dsi ARM: dts: imx: Add support for Advantech/GE B850v3 ARM: dts: imx: Add support for Advantech/GE B650v3 ARM: dts: imx: Add support for Advantech/GE B450v3 ARM: dts: imx: Add support for Advantech/GE Bx50v3 ARM: dts: imx: Add Advantech BA-16 Qseven module of: Add vendor prefix for General Electric Company of: Add vendor prefix for Advantech Corporation ARM: dts: imx35.dtsi: change the clock information for usb ARM: dts: imx25.dtsi: change the clock information for usb ARM: dts: imx6ul: add kpp support ARM: dts: imx6ul: add gpmi support ARM: dts: imx6ul: add lcdif support ARM: dts: imx6ul: add sai support ARM: dts: imx6ul: add flexcan support ARM: dts: imx6ul: add sdma support ARM: dts: imx6ul: add pwm[1-4] nodes ARM: dts: imx6ul: disable PWMs by default ...
2016-03-02Merge tag 'samsung-dt-4.6-2' of ↵Arnd Bergmann8-57/+124
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt Merge "ARM: EXYNOS: dts for 4.6, 2nd pull" from Krzysztof Kozlowski: Samsung DeviceTree updates and improvements for v4.6, second round: 1. Split common reboot/poweroff node to separate DTSI. 2. Don't overheat Odroid XU3 by cooling CPU with cpufreq. * tag 'samsung-dt-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: exynos: Don't overheat the Odroid XU3-Lite on high load ARM: dts: exynos: Add cooling levels for Exynos5422/5800 CPUs ARM: dts: exynos: Add cooling levels for Exynos5420 CPUs ARM: dts: exynos: Move syscon reboot/poweroff to common dtsi
2016-03-02Merge tag 'qcom-dt-for-4.6' of ↵Arnd Bergmann12-77/+794
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Merge "Qualcomm ARM Based Device Tree Updates for v4.6" from Andy Gross: * Add documentation for Kryo * Add RPMCC node for APQ8064 * Updates for MSM8974 * Add board clocks * Add support for Nexus7 device * Fixup pmic reg properties * Various updates/cleanups for APQ8064 based boards * tag 'qcom-dt-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: (23 commits) ARM: dts: ifc6410: add correct aliases to the i2c and spi bus ARM: dts: apq8064: add i2c6 device node. ARM: dts: ifc6410: enable cam i2c device ARM: dts: apq8064: add gsbi4 with i2c node. ARM: dts: apq8064: add missing i2c2 pinctrl info ARM: dts: ifc6410: enable spi device on expansion ARM: dts: apq8064: add spi5 device node. ARM: dts: apq8064: add i2c sleep pinctrl states. ARM: dts: apq8064: add pci support in CM QS600 ARM: dts: apq8064: move pinctrls to dedicated dtsi ARM: dts: qcom: fix i2c lables to be inline with others dts: msm8974: Add dma channels for blsp2_i2c1 node dts: msm8974: Add blsp2_bam dma node ARM: dts: qcom: Remove size elements from pmic reg properties devicetree: bindings: Document qcom board compatible format devicetree: Add DTS file to support the Nexus7 2013 (flo) device. devicetree: qcom-apq8064.dtsi: Add i2c3 address-cells and size-cells values arm: dts: qcom: Add more board clocks ARM: dts: qcom: msm8974: Add WCNSS SMP2P node ARM: dts: qcom: msm8974: Add smsm node ...
2016-03-02CNS3xxx: remove unused *_VIRT definitionsKrzysztof Hałasa1-6/+0
All PCI mmio ranges are dynamically mapped now, so we can remove the fixed virtual address definitions. Signed-off-by: Krzysztof Hałasa <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2016-03-02Input: rotary_encoder - convert to use gpiod APIDmitry Torokhov1-4/+17
Instead of using old GPIO API, let's switch to GPIOD API, which automatically handles polarity. Signed-off-by: Dmitry Torokhov <[email protected]>
2016-03-02ARM: at91: avoid defining CONFIG_* symbols in source codeArnd Bergmann1-2/+2
In an invalid randconfig build (fixed by another patch), I ran across this warning: arch/arm/include/debug/at91.S:18:0: error: "CONFIG_DEBUG_UART_VIRT" redefined [-Werror] #define CONFIG_DEBUG_UART_VIRT AT91_IO_P2V(CONFIG_DEBUG_UART_PHYS) As Russell pointed out, we should never #define a macro starting with CONFIG_ in a source file, as that is rather confusing. This renames the macro to avoid the symbol clash. Signed-off-by: Arnd Bergmann <[email protected]> Suggested-by: Russell King <[email protected]> Acked-by: Alexandre Belloni <[email protected]> Acked-by: Nicolas Ferre <[email protected]>
2016-03-02ARM: dts: at91: sama5d2 Xplained: add leds nodeWenyou Yang1-0/+30
Add the three leds on the sama5d2 Xplained board with their pinctrl node. The blue led is positioned with the "heartbeat" trigger. Signed-off-by: Wenyou Yang <[email protected]> Acked-by: Alexandre Belloni <[email protected]> [[email protected]: add commit message and adapt to newer kernel] Signed-off-by: Nicolas Ferre <[email protected]>
2016-03-02ARM: dts: at91: sama5d2 Xplained: add user push buttonLudovic Desroches1-0/+18
Add the push button named "PB USER" with code 0x104. Associated pinctrl node is also added. Signed-off-by: Ludovic Desroches <[email protected]> Acked-by: Alexandre Belloni <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]>
2016-03-02ARM: dts: at91: sama5d2 Xplained: set pin muxing for usb gadget and usb hostCyrille Pitchen1-0/+21
For USB gadget on port A (device mode): - pin PA31 is configured as an input GPIO which triggers an interrupt when vbus is detected on USB port A. - pin PB9 is configured as an output GPIO and set to low level so the board doesn't supply vbus to USB port A. For USB host: - pin PB10 is configured as an output GPIO and is active at high level. The ohci driver will activate this pin so the board supplies vbus to USB port B. - pin PB9 should be configured as an output GPIO and active at high level to use to USB port A in host mode (conflicts with USB gadget). Signed-off-by: Cyrille Pitchen <[email protected]> Acked-by: Alexandre Belloni <[email protected]> Signed-off-by: Nicolas Ferre <[email protected]>
2016-03-02arm64: Rework valid_user_regsMark Rutland4-34/+85
We validate pstate using PSR_MODE32_BIT, which is part of the user-provided pstate (and cannot be trusted). Also, we conflate validation of AArch32 and AArch64 pstate values, making the code difficult to reason about. Instead, validate the pstate value based on the associated task. The task may or may not be current (e.g. when using ptrace), so this must be passed explicitly by callers. To avoid circular header dependencies via sched.h, is_compat_task is pulled out of asm/ptrace.h. To make the code possible to reason about, the AArch64 and AArch32 validation is split into separate functions. Software must respect the RES0 policy for SPSR bits, and thus the kernel mirrors the hardware policy (RAZ/WI) for bits as-yet unallocated. When these acquire an architected meaning writes may be permitted (potentially with additional validation). Signed-off-by: Mark Rutland <[email protected]> Acked-by: Will Deacon <[email protected]> Cc: Dave Martin <[email protected]> Cc: James Morse <[email protected]> Cc: Peter Maydell <[email protected]> Signed-off-by: Catalin Marinas <[email protected]>
2016-03-02s390/dma: Allow per device dma opsChristian Borntraeger5-9/+13
As virtio-ccw will have dma ops, we can no longer default to the zPCI ones. Make use of dev_archdata to keep the dma_ops per device. The pci devices now use that to override the default, and the default is changed to use the noop ops for everything that does not specify a device specific one. To compile without PCI support we will enable HAS_DMA all the time, via the default config in lib/Kconfig. Signed-off-by: Christian Borntraeger <[email protected]> Reviewed-by: Joerg Roedel <[email protected]> Acked-by: Cornelia Huck <[email protected]> Acked-by: Sebastian Ott <[email protected]> Signed-off-by: Andy Lutomirski <[email protected]> Signed-off-by: Michael S. Tsirkin <[email protected]>
2016-03-02alpha/dma: use common noop dma opsChristian Borntraeger1-42/+4
Some of the alpha pci noop dma ops are identical to the common ones. Use them. Signed-off-by: Christian Borntraeger <[email protected]> Reviewed-by: Joerg Roedel <[email protected]> Signed-off-by: Andy Lutomirski <[email protected]> Signed-off-by: Michael S. Tsirkin <[email protected]>
2016-03-02s390/percpu: remove this_cpu_cmpxchg_double_4Heiko Carstens1-1/+0
git commit 26f15caaf993 ("s390/cmpxchg: simplify cmpxchg_double") removed support for cmpxchg_double for two consecutive four byte values, for which it would generate a cds instruction. However I forgot to remove the corresponding define in our percpu header file, which means that this_cpu_cmpxchg_double would now incorrectly generate a cdsg instruction if being used on a double four byte location. Therefore remove the percpu define as well. There is currently no user and therefore no bug fixed with this. Obviously any such user could and should simply use cmpxchg. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2016-03-02s390/cpumf: Improve guest detection heuristicsChristian Borntraeger2-3/+7
commit e22cf8ca6f75 ("s390/cpumf: rework program parameter setting to detect guest samples") requires guest changes to get proper guest/host. We can do better: We can use the primary asn value, which is set on all Linux variants to compare this with the host pp value. We now have the following cases: 1. Guest using PP host sample: gpp == 0, asn == hpp --> host guest sample: gpp != 0 --> guest 2. Guest not using PP host sample: gpp == 0, asn == hpp --> host guest sample: gpp == 0, asn != hpp --> guest As soon as the host no longer sets CR4, we must back out this heuristics - let's add a comment in switch_to. Signed-off-by: Christian Borntraeger <[email protected]> Reviewed-by: Hendrik Brueckner <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2016-03-02s390/fault: merge report_user_fault implementationsHeiko Carstens3-26/+12
We have two close to identical report_user_fault functions. Add a parameter to one and get rid of the other one in order to reduce code duplication. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2016-03-02s390/dis: use correct escape sequence for '%' characterHeiko Carstens1-12/+5
The double escape character sequence introduced with commit 272fa59ccb4f ("s390/dis: Fix handling of format specifiers") is not necessary anymore since commit 561e10300269 ("s390/dis: Fix printing of the register numbers"). Instead this now generates an extra '%' character: lg %%r1,160(%%r11) So fix this and basically revert 272fa59ccb4f. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2016-03-02s390/kvm: simplify set_guest_storage_keyMartin Schwidefsky1-17/+0
Git commit ab3f285f227fec62868037e9b1b1fd18294a83b8 "KVM: s390/mm: try a cow on read only pages for key ops" added a fixup_user_fault to set_guest_storage_key force a copy on write if the page is mapped read-only. This is supposed to fix the problem of differing storage keys for shared mappings, e.g. the empty_zero_page. But if the storage key is set before the pte is mapped the storage key update is done on the pgste. A later fault will happily map the shared page with the key from the pgste. Eventually git commit 2faee8ff9dc6f4bfe46f6d2d110add858140fb20 "s390/mm: prevent and break zero page mappings in case of storage keys" fixed this problem for the empty_zero_page. The commit makes sure that guests enabled for storage keys will not use the empty_zero_page at all. As the call to fixup_user_fault in set_guest_storage_key depends on the order of the storage key operation vs. the fault that maps the pte it does not really fix anything. Just remove it. Reviewed-by: Dominik Dingel <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2016-03-02powerpc: Add the ability to save VSX without giving it upCyril Bur4-37/+30
This patch adds the ability to be able to save the VSX registers to the thread struct without giving up (disabling the facility) next time the process returns to userspace. This patch builds on a previous optimisation for the FPU and VEC registers in the thread copy path to avoid a possibly pointless reload of VSX state. Signed-off-by: Cyril Bur <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2016-03-02powerpc: Add the ability to save Altivec without giving it upCyril Bur3-22/+17
This patch adds the ability to be able to save the VEC registers to the thread struct without giving up (disabling the facility) next time the process returns to userspace. This patch builds on a previous optimisation for the FPU registers in the thread copy path to avoid a possibly pointless reload of VEC state. Signed-off-by: Cyril Bur <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2016-03-02powerpc: Add the ability to save FPU without giving it upCyril Bur3-19/+17
This patch adds the ability to be able to save the FPU registers to the thread struct without giving up (disabling the facility) next time the process returns to userspace. This patch optimises the thread copy path (as a result of a fork() or clone()) so that the parent thread can return to userspace with hot registers avoiding a possibly pointless reload of FPU register state. Signed-off-by: Cyril Bur <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2016-03-02powerpc: Prepare for splitting giveup_{fpu, altivec, vsx} in twoCyril Bur3-1/+45
This prepares for the decoupling of saving {fpu,altivec,vsx} registers and marking {fpu,altivec,vsx} as being unused by a thread. Currently giveup_{fpu,altivec,vsx}() does both however optimisations to task switching can be made if these two operations are decoupled. save_all() will permit the saving of registers to thread structs and leave threads MSR with bits enabled. This patch introduces no functional change. Signed-off-by: Cyril Bur <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2016-03-02powerpc: Restore FPU/VEC/VSX if previously usedCyril Bur6-14/+107
Currently the FPU, VEC and VSX facilities are lazily loaded. This is not a problem unless a process is using these facilities. Modern versions of GCC are very good at automatically vectorising code, new and modernised workloads make use of floating point and vector facilities, even the kernel makes use of vectorised memcpy. All this combined greatly increases the cost of a syscall since the kernel uses the facilities sometimes even in syscall fast-path making it increasingly common for a thread to take an *_unavailable exception soon after a syscall, not to mention potentially taking all three. The obvious overcompensation to this problem is to simply always load all the facilities on every exit to userspace. Loading up all FPU, VEC and VSX registers every time can be expensive and if a workload does avoid using them, it should not be forced to incur this penalty. An 8bit counter is used to detect if the registers have been used in the past and the registers are always loaded until the value wraps to back to zero. Several versions of the assembly in entry_64.S were tested: 1. Always calling C. 2. Performing a common case check and then calling C. 3. A complex check in asm. After some benchmarking it was determined that avoiding C in the common case is a performance benefit (option 2). The full check in asm (option 3) greatly complicated that codepath for a negligible performance gain and the trade-off was deemed not worth it. Signed-off-by: Cyril Bur <[email protected]> [mpe: Move load_vec in the struct to fill an existing hole, reword change log] Signed-off-by: Michael Ellerman <[email protected]> fixup
2016-03-02powerpc: Explicitly disable math features when copying threadCyril Bur1-0/+1
Currently when threads get scheduled off they always giveup the FPU, Altivec (VMX) and Vector (VSX) units if they were using them. When they are scheduled back on a fault is then taken to enable each facility and load registers. As a result explicitly disabling FPU/VMX/VSX has not been necessary. Future changes and optimisations remove this mandatory giveup and fault which could cause calls such as clone() and fork() to copy threads and run them later with FPU/VMX/VSX enabled but no registers loaded. This patch starts the process of having MSR_{FP,VEC,VSX} mean that a threads registers are hot while not having MSR_{FP,VEC,VSX} means that the registers must be loaded. This allows for a smarter return to userspace. Signed-off-by: Cyril Bur <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2016-03-02arm64: mm: check at build time that PAGE_OFFSET divides the VA space evenlyArd Biesheuvel1-0/+7
Commit 8439e62a1561 ("arm64: mm: use bit ops rather than arithmetic in pa/va translations") changed the boundary check against PAGE_OFFSET from an arithmetic comparison to a bit test. This means we now silently assume that PAGE_OFFSET is a power of 2 that divides the kernel virtual address space into two equal halves. So make that assumption explicit. Signed-off-by: Ard Biesheuvel <[email protected]> Signed-off-by: Catalin Marinas <[email protected]>
2016-03-02kvm: x86: Update tsc multiplier on change.Owen Hofmann1-5/+9
vmx.c writes the TSC_MULTIPLIER field in vmx_vcpu_load, but only when a vcpu has migrated physical cpus. Record the last value written and update in vmx_vcpu_load on any change, otherwise a cpu migration must occur for TSC frequency scaling to take effect. Cc: [email protected] Fixes: ff2c3a1803775cc72dc6f624b59554956396b0ee Signed-off-by: Owen Hofmann <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
2016-03-02mips/kvm: fix ioctl error handlingMichael S. Tsirkin1-2/+2
Returning directly whatever copy_to_user(...) or copy_from_user(...) returns may not do the right thing if there's a pagefault: copy_to_user/copy_from_user return the number of bytes not copied in this case, but ioctls need to return -EFAULT instead. Fix up kvm on mips to do return copy_to_user(...)) ? -EFAULT : 0; and return copy_from_user(...)) ? -EFAULT : 0; everywhere. Cc: [email protected] Signed-off-by: Michael S. Tsirkin <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
2016-03-02Merge tag 'kvm-arm-for-4.5-rc7' of ↵Paolo Bonzini2-2/+2
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master KVM/ARM fixes for 4.5-rc7 - Fix ioctl error handling on the timer path
2016-03-02ARM: dts: stm32f429: Enable Ethernet on Eval boardAlexandre TORGUE1-0/+15
MAC is connected to a PHY in MII mode. Signed-off-by: Alexandre TORGUE <[email protected]> Signed-off-by: Maxime Coquelin <[email protected]>
2016-03-01misc: at24: replace memory_accessor with nvmem_device_readAndrew Lunn2-4/+5
Now that the AT24 uses the NVMEM framework, replace the memory_accessor in the setup() callback with nvmem API calls. Signed-off-by: Andrew Lunn <[email protected]> Acked-by: Srinivas Kandagatla <[email protected]> Tested-by: Sekhar Nori <[email protected]> Acked-by: Wolfram Sang <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2016-03-01Merge tag 'lkdtm-next' of ↵Greg Kroah-Hartman9-6/+68
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into char-misc-testing Kees writes: Become maintainer, add hardening tests for use-after-free and atomic wrapping.
2016-03-01Merge tag 'extcon-next-for-4.6' of ↵Greg Kroah-Hartman1-2/+1
git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-testing Chanwoo writes: Update extcon for 4.6 Detailed description for patchset: 1. Add new EXTCON_CHG_USB_SDP type - SDP (Standard Downstream Port) USB Charging Port means the charging connector.a 2. Add the VBUS detection by using GPIO on extcon-palmas - Beaglex15 board uses the extcon-palmas driver But, beaglex15 board need the GPIO support for VBUS detection. 3. Fix the minor issue of extcon drivers
2016-03-02ARM: dts: porter: remove enable prop from HS-USB device nodeSergei Shtylyov1-1/+0
In the final versions of the Porter board (called "PORTER_C") Renesas decided to get rid of the Maxim Integrated MAX3355 OTG chip and didn't add any other provision to differ the host/gadget mode, so we'll have to remove no longer valid "renesas,enable-gpio" property from the HS-USB device node. Hopefully, the earlier revisions of the board were never seen in the wild... Fixes: c794f6a09a25 ("ARM: shmobile: porter: add HS-USB DT support") Reported-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Sergei Shtylyov <[email protected]> Signed-off-by: Simon Horman <[email protected]>
2016-03-02KVM: PPC: Add support for 64bit TCE windowsAlexey Kardashevskiy4-5/+41
The existing KVM_CREATE_SPAPR_TCE only supports 32bit windows which is not enough for directly mapped windows as the guest can get more than 4GB. This adds KVM_CREATE_SPAPR_TCE_64 ioctl and advertises it via KVM_CAP_SPAPR_TCE_64 capability. The table size is checked against the locked memory limit. Since 64bit windows are to support Dynamic DMA windows (DDW), let's add @bus_offset and @page_shift which are also required by DDW. Signed-off-by: Alexey Kardashevskiy <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2016-03-02KVM: PPC: Add @offset to kvmppc_spapr_tce_tableAlexey Kardashevskiy2-2/+6
This enables userspace view of TCE tables to start from non-zero offset on a bus. This will be used for huge DMA windows. This only changes the internal structure, the user interface needs to change in order to use an offset. Signed-off-by: Alexey Kardashevskiy <[email protected]> Reviewed-by: David Gibson <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>