05 Apr, 2020

1 commit

  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of GPIO development for the v5.7 kernel cycle.

    Core and userspace API:

    - The userspace API KFIFOs have been imoproved with locks that do not
    block interrupts. This makes us better at getting events to
    userspace without blocking or disturbing new events arriving in the
    same time. This was reviewed by the KFIFO maintainer Stefani. This
    is a generic improvement which paves the road for similar
    improvements in other subsystems.

    - We provide a new ioctl() for monitoring changes in the line
    information, such as when multiple clients are taking lines and
    giving them back, possibly reconfiguring them in the process: we
    can now monitor that and not get stuck with stale static
    information.

    - An example tool 'gpio-watch' is provided to showcase this
    functionality.

    - Timestamps for events are switched to ktime_get_ns() which is
    monotonic. We previously had a 'realtime' stamp which could move
    forward and *backward* in time, which probably would just cause
    silent bugs and weird behaviour. In the long run we see two
    relevant timestamps: ktime_get_ns() or the timestamp sometimes
    provided by the GPIO hardware itself, if that exists.

    - Device Tree overlay support for GPIO hogs. On systems that load
    overlays, these overlays can now contain hogs, and will then be
    respected.

    - Handle pin control interaction with nonexisting pin ranges in the
    GPIO library core instead of in the individual drivers.

    New drivers:

    - New driver for the Mellanox BlueField 2 GPIO controller.

    Driver improvements:

    - Introduce the BGPIOF_NO_SET_ON_INPUT flag to the generic MMIO GPIO
    library and use this flag in the MT7621 driver.

    - Texas Instruments OMAP CPU power management improvements, such as
    blocking of idle on pending GPIO interrupts"

    * tag 'gpio-v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (59 commits)
    Revert "gpio: eic-sprd: Use devm_platform_ioremap_resource()"
    pinctrl: Unconditionally assign .request()/.free()
    gpio: Unconditionally assign .request()/.free()
    gpio: export of_pinctrl_get to modules
    pinctrl: Define of_pinctrl_get() dummy for !PINCTRL
    gpio: Rename variable in core APIs
    gpio: Avoid using pin ranges with !PINCTRL
    gpiolib: Remove unused gpio_chip parameter from gpio_set_bias()
    gpiolib: Pass gpio_desc to gpio_set_config()
    gpiolib: Introduce gpiod_set_config()
    tools: gpio: Fix out-of-tree build regression
    gpio: gpiolib: fix a doc warning
    gpio: tegra186: Add Tegra194 pin ranges for GG.0 and GG.1
    gpio: tegra186: Add support for pin ranges
    gpio: Support GPIO controllers without pin-ranges
    ARM: integrator: impd1: Use GPIO_LOOKUP() helper macro
    gpio: brcmstb: support gpio-line-names property
    tools: gpio: Fix typo in gpio-utils
    tools: gpio-hammer: Apply scripts/Lindent and retain good changes
    gpiolib: gpio_name_to_desc: factor out !name check
    ...

    Linus Torvalds
     

25 Mar, 2020

1 commit


12 Feb, 2020

1 commit


20 May, 2019

1 commit


11 Jan, 2017

1 commit