1. 23 Oct, 2018 7 commits
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 114b5f8f
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v4.20 series:
      
        Core changes:
      
         - A patch series from Hans Verkuil to make it possible to
           enable/disable IRQs on a GPIO line at runtime and drive GPIO lines
           as output without having to put/get them from scratch.
      
           The irqchip callbacks have been improved so that they can use only
           the fastpatch callbacks to enable/disable irqs like any normal
           irqchip, especially the gpiod_lock_as_irq() has been improved to be
           callable in fastpath context.
      
           A bunch of rework had to be done to achieve this but it is a big
           win since I never liked to restrict this to slowpath. The only call
           requireing slowpath was try_module_get() and this is kept at the
           .request_resources() slowpath callback. In the GPIO CEC driver this
           is a big win sine a single line is used for both outgoing and
           incoming traffic, and this needs to use IRQs for incoming traffic
           while actively driving the line for outgoing traffic.
      
         - Janusz Krzysztofik improved the GPIO array API to pass a "cookie"
           (struct gpio_array) and a bitmap for setting or getting multiple
           GPIO lines at once.
      
           This improvement orginated in a specific need to speed up an OMAP1
           driver and has led to a much better API and real performance gains
           when the state of the array can be used to bypass a lot of checks
           and code when we want things to go really fast.
      
           The previous code would minimize the number of calls down to the
           driver callbacks assuming the CPU speed was orders of magnitude
           faster than the I/O latency, but this assumption was wrong on
           several platforms: what we needed to do was to profile and improve
           the speed on the hot path of the array functions and this change is
           now completed.
      
         - Clean out the painful and hard to grasp BNF experiments from the
           device tree bindings. Future approaches are looking into using JSON
           schema for this purpose. (Rob Herring is floating a patch series.)
      
        New drivers:
      
         - The RCAR driver now supports r8a774a1 (RZ/G2M).
      
         - Synopsys GPIO via CREGs driver.
      
        Major improvements:
      
         - Modernization of the EP93xx driver to use irqdomain and other
           contemporary concepts.
      
         - The ingenic driver has been merged into the Ingenic pin control
           driver and removed from the GPIO subsystem.
      
         - Debounce support in the ftgpio010 driver"
      
      * tag 'gpio-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (116 commits)
        gpio: Clarify kerneldoc on gpiochip_set_chained_irqchip()
        gpio: Remove unused 'irqchip' argument to gpiochip_set_cascaded_irqchip()
        gpio: Drop parent irq assignment during cascade setup
        mmc: pwrseq_simple: Fix incorrect handling of GPIO bitmap
        gpio: fix SNPS_CREG kconfig dependency warning
        gpiolib: Initialize gdev field before is used
        gpio: fix kernel-doc after devres.c file rename
        gpio: fix doc string for devm_gpiochip_add_data() to not talk about irq_chip
        gpio: syscon: Fix possible NULL ptr usage
        gpiolib: Show correct direction from the beginning
        pinctrl: msm: Use init_valid_mask exported function
        gpiolib: Add init_valid_mask exported function
        GPIO: add single-register GPIO via CREG driver
        dt-bindings: Document the Synopsys GPIO via CREG bindings
        gpio: mockup: use device properties instead of platform_data
        gpio: Slightly more helpful debugfs
        gpio: omap: Remove set but not used variable 'dev'
        gpio: omap: drop omap_gpio_list
        Accept partial 'gpio-line-names' property.
        gpio: omap: get rid of the conditional PM runtime calls
        ...
      114b5f8f
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · b0b6a28b
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for the v4.20 series:
      
        There were no significant changes to the core this time! Bur the new
        Qualcomm, Mediatek and Broadcom drivers are quite interesting as they
        will be used in a few million embedded devices the coming years as it
        seems.
      
        New drivers:
      
         - Broadcom Northstar pin control driver.
      
         - Mediatek MT8183 subdriver.
      
         - Mediatek MT7623 subdriver.
      
         - Mediatek MT6765 subdriver.
      
         - Meson g12a subdriver.
      
         - Nuvoton NPCM7xx pin control and GPIO driver.
      
         - Qualcomm QCS404 pin control and GPIO subdriver.
      
         - Qualcomm SDM660 pin control and GPIO subdriver.
      
         - Renesas R8A7744 PFC subdriver.
      
         - Renesas R8A774C0 PFC subdriver.
      
         - Renesas RZ/N1 pinctrl driver
      
        Major improvements:
      
         - Pulled the GPIO support for Ingenic over from the GPIO subsystem
           and consolidated it all in the Ingenic pin control driver.
      
         - Major cleanups and consolidation work in all Intel drivers.
      
         - Major cleanups and consolidation work in all Mediatek drivers.
      
         - Lots of incremental improvements to the Renesas PFC pin controller
           family.
      
         - All drivers doing GPIO now include <linux/gpio/driver.h> and
           nothing else"
      
      * tag 'pinctrl-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (153 commits)
        pinctrl: sunxi: Fix a memory leak in 'sunxi_pinctrl_build_state()'
        gpio: uniphier: include <linux/bits.h> instead of <linux/bitops.h>
        pinctrl: uniphier: include <linux/bits.h> instead of <linux/bitops.h>
        dt-bindings: pinctrl: bcm4708-pinmux: improve example binding
        pinctrl: geminilake: Sort register offsets by value
        pinctrl: geminilake: Get rid of unneeded ->probe() stub
        pinctrl: geminilake: Update pin list for B0 stepping
        pinctrl: renesas: Fix platform_no_drv_owner.cocci warnings
        pinctrl: mediatek: Make eint_m u16
        pinctrl: bcm: ns: Use uintptr_t for casting data
        pinctrl: madera: Fix uninitialized variable bug in madera_mux_set_mux
        pinctrl: gemini: Fix up TVC clock group
        pinctrl: gemini: Drop noisy debug prints
        pinctrl: gemini: Mask and set properly
        pinctrl: mediatek: select GPIOLIB
        pinctrl: rza1: don't manually release devm managed resources
        MAINTAINERS: update entry for Mediatek pin controller
        pinctrl: bcm: add Northstar driver
        dt-bindings: pinctrl: document Broadcom Northstar pin mux controller
        pinctrl: qcom: fix 'const' pointer handling
        ...
      b0b6a28b
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 1650ac53
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Introduce a host helper function to share re-tuning progress
      
        MMC host:
         - sdhci: Add support for v4 host mode
         - sdhci-of-arasan: Add Support for AM654 MMC and PHY
         - sdhci-sprd: Add support for Spreadtrum's host controller
         - sdhci-tegra: Add support for HS400 enhanced strobe
         - sdhci-tegra: Enable UHS/HS200 modes for Tegra186/210
         - sdhci-tegra: Add support for HS400 delay line calibration
         - sdhci-tegra: Add support for pad calibration
         - sdhci-of-dwcmshc: Address 128MB DMA boundary limitation
         - sdhci-of-esdhc: Add support for tuning erratum A008171
         - sdhci-iproc: Add ACPI support
         - mediatek: Add support for MT8183
         - mediatek: Improve the support for tuning
         - mediatek: Add bus clock control for MT2712
         - jz4740: Add support for the JZ4725B
         - mmci: Add support for the stm32 sdmmc variant
         - mmci: Add support for an optional reset control
         - mmci: Add some new variant specific properties/callbacks
         - mmci: Re-structure DMA code to prepare for new variants
         - renesas_sdhi: Add support for r8a77470, r8a7744 and r8a774a1
         - renesas_sdhi_internal_dmac: Whitelist r8a77970 and r8a774a1
         - tmio/uniphier-sd: Add new UniPhier SD/eMMC controller driver
         - tmio/renesas_sdhi: Deal properly with SCC detection during re-tune
         - tmio/renesas_sdhi: Refactor/consolidate clock management
         - omap_hsmmc: Drop cover detection and some unused platform data
         - dw_mmc-exynos: Enable tuning for more speed modes
         - sunxi: Clarify the new timing mode and enable it for the A64 controller
         - various: Convert to slot GPIO descriptors"
      
      * tag 'mmc-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (129 commits)
        mmc: mediatek: drop too much code of tuning method
        mmc: mediatek: add MT8183 MMC driver support
        mmc: mediatek: tune CMD/DATA together
        mmc: mediatek: fix cannot receive new request when msdc_cmd_is_ready fail
        mmc: mediatek: fill the actual clock for mmc debugfs
        mmc: dt-bindings: add support for MT8183 SoC
        mmc: uniphier-sd: avoid using broken DMA RX channel
        mmc: uniphier-sd: fix DMA disabling
        mmc: tmio: simplify the DMA mode test
        mmc: tmio: remove TMIO_MMC_HAVE_HIGH_REG flag
        mmc: tmio: move MFD variant reset to a platform hook
        mmc: renesas_sdhi: Add r8a77470 SDHI1 support
        dt-bindings: mmc: renesas_sdhi: Add r8a77470 support
        mmc: mmci: add stm32 sdmmc variant
        dt-bindings: mmci: add stm32 sdmmc variant
        mmc: mmci: add stm32 sdmmc registers
        mmc: mmci: add clock divider for stm32 sdmmc
        mmc: mmci: add optional reset property
        dt-bindings: mmci: add optional reset property
        mmc: mmci: add variant property to not read datacnt
        ...
      1650ac53
    • Linus Torvalds's avatar
      Merge tag 'regulator-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · ca9eb48f
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "The biggest chunk of the regulator changes for this release outside of
        the new drivers is the conversion of the fixed regulator to use the
        GPIO descriptor API, there's a small addition to the GPIO API plus a
        bunch of updates to board files to implement it. This is some really
        welcome work from Linus Walleij that's had a bunch of review and has
        been sitting in -next for a while so I'm fairly happy there's no major
        issues.
      
         - Helpers for overlapping linear ranges.
      
         - Display opmode and consumer requested load in the regualtor_summary
           file in debugfs, plus a fix there.
      
         - Support for the fun and entertaining power off mechanism that the
           pfuze100 hardware implements.
      
         - Conversion of the fixed regulator API to use GPIO descriptors,
           including pulling in a bunch of patches to a bunch of board files.
      
         - New drivers for Cirrus Logic Lochnagar, Qualcomm PMS405, Rohm
           BD71847, ST PMIC1, and TI LM363x devices"
      
      * tag 'regulator-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (36 commits)
        regulator: lochnagar: Use a consisent comment style for SPDX header
        regulator: bd718x7: Remove struct bd718xx_pmic
        regulator: Fetch enable gpiods nonexclusive
        regulator/gpio: Allow nonexclusive GPIO access
        regulator: lochnagar: Add support for the Cirrus Logic Lochnagar
        regulator: stpmic1: Return REGULATOR_MODE_INVALID for invalid mode
        regulator: stpmic1: add stpmic1 regulator driver
        dt-bindings: regulator: document stpmic1 pmic regulators
        regulator: axp20x: Mark expected switch fall-throughs
        regulator: bd718xx: fix build warning on x86_64
        regulator: fixed: Default enable high on DT regulators
        regulator: bd718xx: rename bd71837 to 718xx
        regulator: bd718XX use pickable ranges
        regulator/mfd: bd718xx: rename bd71837/bd71847 common instances
        regulator: Support regulators where voltage ranges are selectable
        mfd: dt bindings: add BD71847 device-tree binding documentation
        regulator: dt bindings: add BD71847 device-tree binding documentation
        regulator/mfd: Support ROHM BD71847 power management IC
        regulator: da905{2,5}: Remove unnecessary array check
        regulator: qcom: Add PMS405 regulators
        ...
      ca9eb48f
    • Linus Torvalds's avatar
      Merge tag 'spi-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · b537149a
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "One new core feature here, a small collection of new drivers and a
        bunch of small improvements in existing drivers:
      
         - A new CS_WORD flag for transfers where the chip select is toggled
           at every word, with both a generic implementation and the ability
           for controllers to do this automatically (including a DaVinci one).
      
         - New drivers for Mediatek MT2712, Qualcomm GENI and QSPI, Spreadtrum
           SPI and ST STM32 QSPI plus new IDs for several existing ones"
      
      * tag 'spi-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (86 commits)
        spi: lpspi: add imx8qxp compatible string
        spi: Allow building SPI_BCM63XX_HSSPI on ARM-based SoCs
        spi: omap2-mcspi: Add slave mode support
        spi: omap2-mcspi: Set FIFO DMA trigger level to word length
        spi: omap2-mcspi: Switch to readl_poll_timeout()
        spi: spi-mem: add stm32 qspi controller
        dt-bindings: spi: add stm32 qspi controller
        spi: sh-msiof: document R8A779{7|8}0 bindings
        spi: pic32-sqi: don't pass GFP_DMA32 to dma_alloc_coherent
        MAINTAINERS: Add entry for Broadcom SPI controller
        spi: sh-msiof: fix deferred probing
        spi: imx: use PIO mode if size is small
        spi: imx: correct wml as the last sg length
        spi: imx: move wml setting to later than setup_transfer
        PCI: Provide pci_match_id() with CONFIG_PCI=n
        spi: Make GPIO CSs honour the SPI_NO_CS flag
        spi/spi-pxa2xx: add PXA2xx SSP SPI Controller
        spi: pxa2xx: Add devicetree support
        spi: pxa2xx: Use an enum for type
        spi: spi-geni-qcom: Add SPI driver support for GENI based QUP
        ...
      b537149a
    • Linus Torvalds's avatar
      Merge tag 'regmap-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 6214a9fe
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A small update with a couple of new APIs that are useful for some
        small sets of devices:
      
         - Split up the single_rw flagging to map read and write separately as
           some devices support bulk operations for only read or only write.
      
         - Add a write version of the noinc API.
      
         - Clean up the code for LOG_DEVICE a bit"
      
      * tag 'regmap-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: use less #ifdef for LOG_DEVICE
        regmap: Add regmap_noinc_write API
        regmap: split up regmap_config.use_single_rw
        regmap: fix comment for regmap.use_single_write
      6214a9fe
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-4.20' of git://git.infradead.org/linux-mtd · a36cf686
      Linus Torvalds authored
      Pull mtd updates from Boris Brezillon:
       "SPI NOR core changes:
         - Support non-uniform erase size
         - Support controllers with limited TX fifo size
      
       Driver changes:
         - m25p80: Re-issue a WREN command after each write access
         - cadence: Pass a proper dir value to dma_[un]map_single()
         - fsl-qspi: Check fsl_qspi_get_seqid() return val make sure 4B
           addressing opcodes are properly handled
         - intel-spi: Add a new PCI entry for Ice Lake
      
       Raw NAND core changes:
         - Two batchs of cleanups of the NAND API, including:
            * Deprecating a lot of interfaces (now replaced by ->exec_op()).
            * Moving code in separate drivers (JEDEC, ONFI), in private files
              (internals), in platform drivers, etc.
            * Functions/structures reordering.
            * Exclusive use of the nand_chip structure instead of the MTD one
              all across the subsystem.
         - Addition of the nand_wait_readrdy/rdy_op() helpers.
      
       Raw NAND controllers drivers changes:
         - Various coccinelle patches.
         - Marvell:
            * Use regmap_update_bits() for syscon access.
            * More documentation.
            * BCH failure path rework.
            * More layouts to be supported.
            * IRQ handler complete() condition fixed.
         - Fsl_ifc:
            * SRAM initialization fixed for newer controller versions.
         - Denali:
            * Fix licenses mismatch and use a SPDX tag.
            * Set SPARE_AREA_SKIP_BYTES register to 8 if unset.
         - Qualcomm:
            * Do not include dma-direct.h.
         - Docg4:
            * Removed.
         - Ams-delta:
            * Use of a GPIO lookup table
            * Internal machinery changes.
      
       Raw NAND chip drivers changes:
         - Toshiba:
            * Add support for Toshiba memory BENAND
            * Pass a single nand_chip object to the status helper.
         - ESMT:
            * New driver to retrieve the ECC requirements from the 5th ID
              byte.
      
        MTD changes:
         - physmap cleanups/fixe
         - gpio-addr-flash cleanups/fixes"
      
      * tag 'mtd/for-4.20' of git://git.infradead.org/linux-mtd: (93 commits)
        jffs2: free jffs2_sb_info through jffs2_kill_sb()
        mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB
        mtd: spi-nor: intel-spi: Add support for Intel Ice Lake SPI serial flash
        mtd: maps: gpio-addr-flash: Convert to gpiod
        mtd: maps: gpio-addr-flash: Replace array with an integer
        mtd: maps: gpio-addr-flash: Use order instead of size
        mtd: spi-nor: fsl-quadspi: Don't let -EINVAL on the bus
        mtd: devices: m25p80: Make sure WRITE_EN is issued before each write
        mtd: spi-nor: Support controllers with limited TX FIFO size
        mtd: spi-nor: cadence-quadspi: Use proper enum for dma_[un]map_single
        mtd: spi-nor: parse SFDP Sector Map Parameter Table
        mtd: spi-nor: add support to non-uniform SFDP SPI NOR flash memories
        mtd: rawnand: marvell: fix the IRQ handler complete() condition
        mtd: rawnand: denali: set SPARE_AREA_SKIP_BYTES register to 8 if unset
        mtd: rawnand: r852: fix spelling mistake "card_registred" -> "card_registered"
        mtd: rawnand: toshiba: Pass a single nand_chip object to the status helper
        mtd: maps: gpio-addr-flash: Use devm_* functions
        mtd: maps: gpio-addr-flash: Fix ioremapped size
        mtd: maps: gpio-addr-flash: Replace custom printk
        mtd: physmap_of: Release resources on error
        ...
      a36cf686
  2. 22 Oct, 2018 13 commits
  3. 21 Oct, 2018 13 commits
  4. 20 Oct, 2018 7 commits