1. 19 Feb, 2019 1 commit
    • Linus Walleij's avatar
      gpio: tegra: Fix offset of pinctrl calls · 11da9054
      Linus Walleij authored
      This patch hunk is a lightly modified version of a diff found
      in a Tegra code dump from a product tree. It makes a lot of
      sense because this is what most drivers do.
      
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Stefan Agner <stefan@agner.ch>
      Cc: Dmitry Osipenko <digetx@gmail.com>
      Cc: Jon Hunter <jonathanh@nvidia.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      11da9054
  2. 17 Feb, 2019 3 commits
    • Marek Vasut's avatar
      gpio: of: Apply regulator-gpio quirk only to enable-gpios · 0e7d6f94
      Marek Vasut authored
      Since commit d6cd33ad ("regulator: gpio: Convert to use descriptors")
      the GPIO regulator had inverted the polarity of the control GPIO. This
      problem manifested itself on systems with DT containing the following
      description (snippet from salvator-common.dtsi):
      
      	gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
      	gpios-states = <1>;
      	states = <3300000 1
      		  1800000 0>;
      
      Prior to the aforementioned commit, the gpio-regulator code used
      gpio_request_array() to claim the GPIO(s) specified in the "gpios"
      DT node, while the commit changed that to devm_gpiod_get_index().
      
      The legacy gpio_request_array() calls gpio_request_one() and then
      gpiod_request(), which parses the DT flags of the "gpios" node and
      populates the GPIO descriptor flags field accordingly.
      
      The new devm_gpiod_get_index() calls gpiod_get_index(), then
      of_find_gpio(), of_get_named_gpiod_flags() with flags != NULL,
      and then of_gpio_flags_quirks(). Since commit a603a2b8
      ("gpio: of: Add special quirk to parse regulator flags"),
      of_gpio_flags_quirks() contains a quirk for regulator-gpio
      which was never triggered by the legacy gpio_request_array()
      code path, but is triggered by devm_gpiod_get_index() code
      path.
      
      This quirk checks whether a GPIO is associated with a fixed
      or gpio-regulator and if so, checks two additional conditions.
      First, whether such GPIO is active-low, and if so, ignores the
      active-low flag. Second, whether the regulator DT node does
      have an "enable-active-high" property and if the property is
      NOT present, sets the GPIO flags as active-low.
      
      The second check triggers a problem, since it is applied to all
      GPIOs associated with a gpio-regulator, rather than only on the
      "enable" GPIOs, as the old code did. This changes the way the
      gpio-regulator interprets the DT description of the control
      GPIOs.
      
      The old code using gpio_request_array() explicitly parsed the
      "enable-active-high" DT property and only applied it to the
      GPIOs described in the "enable-gpios" DT node, and only if
      those were present.
      
      This patch fixes the quirk code by only applying the quirk
      to "enable-gpios", thus restoring the old behavior.
      Signed-off-by: default avatarMarek Vasut <marek.vasut+renesas@gmail.com>
      Cc: Geert Uytterhoeven <geert+renesas@glider.be>
      Cc: Jan Kotas <jank@cadence.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
      Cc: linux-renesas-soc@vger.kernel.org
      To: linux-gpio@vger.kernel.org
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      0e7d6f94
    • Linus Walleij's avatar
      Merge tag 'intel-gpio-v5.1-1' of... · 0248baca
      Linus Walleij authored
      Merge tag 'intel-gpio-v5.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel into devel
      
      intel-gpio for v5.1-1
      
      Small clean up for Intel PMIC GPIO drivers, includes:
       - optimizing IRQ handlers by usage of for_each_set_bit()
       - sorting headers alphabetically for better maintenance
       - conversion to SPDX identifier
      
      The following is an automated git shortlog grouped by driver:
      
      crystalcove:
       -  Convert to use SPDX identifier
       -  Sort headers alphabetically
       -  Use for_each_set_bit() in IRQ handler
      
      msic:
       -  Convert to use SPDX identifier
       -  Sort headers alphabetically
       -  Remove duplicate check in IRQ handler
      
      wcove:
       -  Convert to use SPDX identifier
       -  Fix indentation
       -  Sort headers alphabetically
       -  Allow return negative error code from to_reg()
      0248baca
    • Linus Walleij's avatar
      Merge tag 'gpio-v5.1-updates-for-linus' of... · 8fab3d71
      Linus Walleij authored
      Merge tag 'gpio-v5.1-updates-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into devel
      
      gpio updates for v5.1
      
      - support for a new variant of pca953x
      - documentation fix from Wolfram
      - some tegra186 name changes
      - two minor fixes for madera and altera-a10sr
      8fab3d71
  3. 14 Feb, 2019 9 commits
  4. 13 Feb, 2019 8 commits
  5. 11 Feb, 2019 1 commit
  6. 10 Feb, 2019 7 commits
  7. 09 Feb, 2019 11 commits
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · df3865f8
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "One PM related driver bugfix and a MAINTAINERS update"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        MAINTAINERS: Update the ocores i2c bus driver maintainer, etc
        i2c: omap: Use noirq system sleep pm ops to idle device for suspend
      df3865f8
    • Linus Torvalds's avatar
      Merge tag 'mips_fixes_5.0_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · e8b50608
      Linus Torvalds authored
      Pull MIPS fixes from Paul Burton:
       "A batch of MIPS fixes for 5.0, nothing too scary.
      
         - A workaround for a Loongson 3 CPU bug is the biggest change, but
           still fairly straightforward. It adds extra memory barriers (sync
           instructions) around atomics to avoid a CPU bug that can break
           atomicity.
      
         - Loongson64 also sees a fix for powering off some systems which
           would incorrectly reboot rather than waiting for the power down
           sequence to complete.
      
         - We have DT fixes for the Ingenic JZ4740 SoC & the JZ4780-based Ci20
           board, and a DT warning fix for the Nexsys4/MIPSfpga board.
      
         - The Cavium Octeon platform sees a further fix to the behaviour of
           the pcie_disable command line argument that was introduced in v3.3.
      
         - The VDSO, introduced in v4.4, sees build fixes for configurations
           of GCC that were built using the --with-fp-32= flag to specify a
           default 32-bit floating point ABI.
      
         - get_frame_info() sees a fix for configurations with
           CONFIG_KALLSYMS=n, for which it previously always returned an
           error.
      
         - If the MIPS Coherence Manager (CM) reports an error then we'll now
           clear that error correctly so that the GCR_ERROR_CAUSE register
           will be updated with information about any future errors"
      
      * tag 'mips_fixes_5.0_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        mips: cm: reprime error cause
        mips: loongson64: remove unreachable(), fix loongson_poweroff().
        MIPS: Remove function size check in get_frame_info()
        MIPS: Use lower case for addresses in nexys4ddr.dts
        MIPS: Loongson: Introduce and use loongson_llsc_mb()
        MIPS: VDSO: Include $(ccflags-vdso) in o32,n32 .lds builds
        MIPS: VDSO: Use same -m%-float cflag as the kernel proper
        MIPS: OCTEON: don't set octeon_dma_bar_type if PCI is disabled
        DTS: CI20: Fix bugs in ci20's device tree.
        MIPS: DTS: jz4740: Correct interrupt number of DMA core
      e8b50608
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20190209' of git://git.kernel.dk/linux-block · e5a8a116
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request from Christoph, fixing namespace locking when
         dealing with the effects log, and a rapid add/remove issue (Keith)
      
       - blktrace tweak, ensuring requests with -1 sectors are shown (Jan)
      
       - link power management quirk for a Smasung SSD (Hans)
      
       - m68k nfblock dynamic major number fix (Chengguang)
      
       - series fixing blk-iolatency inflight counter issue (Liu)
      
       - ensure that we clear ->private when setting up the aio kiocb (Mike)
      
       - __find_get_block_slow() rate limit print (Tetsuo)
      
      * tag 'for-linus-20190209' of git://git.kernel.dk/linux-block:
        blk-mq: remove duplicated definition of blk_mq_freeze_queue
        Blk-iolatency: warn on negative inflight IO counter
        blk-iolatency: fix IO hang due to negative inflight counter
        blktrace: Show requests without sector
        fs: ratelimit __find_get_block_slow() failure message.
        m68k: set proper major_num when specifying module param major_num
        libata: Add NOLPM quirk for SAMSUNG MZ7TE512HMHP-000L1 SSD
        nvme-pci: fix rapid add remove sequence
        nvme: lock NS list changes while handling command effects
        aio: initialize kiocb private in case any filesystems expect it.
      e5a8a116
    • Linus Torvalds's avatar
      Merge tag 'mtd/fixes-for-5.0-rc6' of git://git.infradead.org/linux-mtd · 5610789a
      Linus Torvalds authored
      Pull mtd fixes from Boris Brezillon:
      
       - Fix a problem with the imx28 ECC engine
      
       - Remove a debug trace introduced in 2b6f0090 ("mtd: Check
         add_mtd_device() ret code")
      
       - Make sure partitions of size 0 can be registered
      
       - Fix kernel-doc warning in the rawnand core
      
       - Fix the error path of spinand_init() (missing manufacturer cleanup in
         a few places)
      
       - Address a problem with the SPI NAND PROGRAM LOAD operation which does
         not work as expected on some parts.
      
      * tag 'mtd/fixes-for-5.0-rc6' of git://git.infradead.org/linux-mtd:
        mtd: rawnand: gpmi: fix MX28 bus master lockup problem
        mtd: Make sure mtd->erasesize is valid even if the partition is of size 0
        mtd: Remove a debug trace in mtdpart.c
        mtd: rawnand: fix kernel-doc warnings
        mtd: spinand: Fix the error/cleanup path in spinand_init()
        mtd: spinand: Handle the case where PROGRAM LOAD does not reset the cache
      5610789a
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 3e5e692f
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "Two very minor fixes: one remove of a #include for an unused header
        and a fix of the xen ML address in MAINTAINERS"
      
      * tag 'for-linus-5.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        MAINTAINERS: unify reference to xen-devel list
        arch/arm/xen: Remove duplicate header
      3e5e692f
    • Ingo Molnar's avatar
      Merge tag 'perf-urgent-for-mingo-5.0-20190205' of... · 3bb26006
      Ingo Molnar authored
      Merge tag 'perf-urgent-for-mingo-5.0-20190205' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
      
      perf trace:
      
        Arnaldo Carvalho de Melo:
      
          Fix handling of probe:vfs_getname when the probed routine is
          inlined in multiple places, fixing the collection of the 'filename'
          parameter in open syscalls.
      
      perf test:
      
        Gustavo A. R. Silva:
      
          Fix bitwise operator usage in evsel-tp-sched test, which made tat
          test always detect fields as signed.
      
        Jiri Olsa:
      
          Filter out hidden symbols from labels, added in systems where the
          annobin plugin is used, such as RHEL8, which, if left in place make
          the DWARF unwind 'perf test' to fail on PPC.
      
        Tony Jones:
      
          Fix 'perf_event_attr' tests when building with python3.
      
      perf mem/c2c:
      
        Ravi Bangoria:
      
          Fix perf_mem_events on PowerPC.
      
      tools headers UAPI:
      
        Arnaldo Carvalho de Melo:
      
          Sync linux/in.h copy from the kernel sources, silencing a perf build warning.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      3bb26006
    • Brian Masney's avatar
      spmi: pmic-arb: revert "validate type when mapping IRQ" · 25655c75
      Brian Masney authored
      Validation of the IRQ type was added to spmi pmic-arb, however spmi-mpp
      in device tree still uses IRQ_TYPE_NONE. This commit caused the
      spmi-mpp probe to fail since platform_irq_count() would return 0.
      Correct this by backing out the previous patch.
      Signed-off-by: default avatarBrian Masney <masneyb@onstation.org>
      Fixes: 135ef21a ("spmi: pmic-arb: validate type when mapping IRQ")
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      25655c75
    • Nikolaus Voss's avatar
      gpio: adp5588.c: Switch to events system · 5d643eda
      Nikolaus Voss authored
      Interupts were generated using GPIN interrupts of
      ADP5588. These interrupts have two important limitations:
      1. Interrupts can only be generated for either rising or
         falling edges but not both.
      2. Interrupts are reasserted as long as the interrupt condition
         persists (i.e. high or low level on that GPIN). This generates
         lots of interrupts unless the event is very short.
      
      To overcome this, ADP5588 provides an event system which queues
      up to 10 events in a buffer. GPIN events are queued whenever the
      GPIN is asserted or deasserted. This makes it possible to support
      generating GPIN interrupts for both edges and to generate only one
      interrupt per state change.
      Thus it is possible to chain the gpio-keys driver for some GPIOs.
      Signed-off-by: default avatarNikolaus Voss <nikolaus.voss@loewensteinmedical.de>
      Acked-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      5d643eda
    • Nikolaus Voss's avatar
      gpio: adp5588: Add device tree support · 9f22af11
      Nikolaus Voss authored
      Make platform data optional and add DT id table.
      Switch to dynamically mapped GPIOs and IRQs if not provided
      via platform data.
      Signed-off-by: default avatarNikolaus Voss <nikolaus.voss@loewensteinmedical.de>
      Acked-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      9f22af11
    • Wei Yongjun's avatar
      gpio: tqmx86: Drop unnecessary gpiochip_remove in tqmx86_gpio_probe() · 96be65d1
      Wei Yongjun authored
      It's not necessary to remove gpio_chip which added with
      devm_gpiochip_add_data().
      
      Fixes: b868db94 ("gpio: tqmx86: Add GPIO from for this IO controller")
      Signed-off-by: default avatarWei Yongjun <weiyongjun1@huawei.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      96be65d1
    • Linus Walleij's avatar
      gpio: Add a Gateworks PLD GPIO driver · 2a0b0a57
      Linus Walleij authored
      This adds a driver for Gateworks PLD GPIO, that exist in
      two instances on the Gateworks Cambria GW2358-4 router
      platform at least.
      
      Cc: Imre Kaloz <kaloz@openwrt.org>
      Cc: Tim Harvey <tharvey@gateworks.com>
      Reviewed-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      2a0b0a57