Skip to content
Tags give the ability to mark specific points in history as being important
  • gpio-v3.18-1
    This is the bulk of GPIO changes for the v3.18 development
    cycle:
    
    - Increase the default ARCH_NR_GPIO from 256 to 512. This
      was done to avoid having a custom <asm/gpio.h> header for
      the x86 architecture - GPIO is custom and complicated
      enough as it is already! We want to move to a radix to
      store the descriptors going forward, and finally get rid
      of this fixed array size altogether.
    
    - Endgame patching of the gpio_remove() semantics initiated
      by Abdoulaye Berthe. It is not accepted by the system that
      the removal of a GPIO chip fails during e.g. reboot or
      shutdown, and therefore the return value has now painfully
      been refactored away. For special cases like GPIO expanders
      on a hot-pluggable bus like USB, we may later add some
      gpiochip_try_remove() call, but for the cases we have now,
      return values are moot.
    
    - Some incremental refactoring of the gpiolib core and ACPI
      GPIO library for more descriptor usage.
    
    - Refactor the chained IRQ handler set-up method to handle
      also threaded, nested interrupts and set up the parent IRQ
      correctly. Switch STMPE and TC3589x drivers to use this
      registration method.
    
    - Add a .irq_not_threaded flag to the struct gpio_chip, so
      that also GPIO expanders that block but are still not
      using threaded IRQ handlers.
    
    - New drivers for the ARM64 X-Gene SoC GPIO controller.
    
    - The syscon GPIO driver has been improved to handle the
      "DSP GPIO" found on the TI Keystone 2 SoC:s.
    
    - ADNP driver switched to use gpiolib irqchip helpers.
    
    - Refactor the DWAPB driver to support being instantiated
      from and MFD cell (platform device).
    
    - Incremental feature improvement in the Zynq, MCP23S08,
      DWAPB, OMAP, Xilinx and Crystalcove drivers.
    
    - Various minor fixes.
    
  • gpio-v3.19-1
    This is the bulk of GPIO changes for the v3.19 series:
    
    - A new API that allows setting more than one GPIO at the
      time. This is implemented for the new descriptor-based
      API only and makes it possible to e.g. toggle a clock and
      data line at the same time, if the hardware can do this
      with a single register write. Both consumers and drivers
      need new calls, and the core will fall back to driving
      individual lines where needed. Implemented for the MPC8xxx
      driver initially.
    - Patched the mdio-mux-gpio and the serial mctrl driver
      that drives modems to use the new multiple-setting API
      to set several signals simultaneously.
    - Get rid of the global GPIO descriptor array, and instead
      allocate descriptors dynamically for each GPIO on a certain
      GPIO chip. This moves us closer to getting rid of the
      limitation of using the global, static GPIO numberspace.
    - New driver and device tree bindings for 74xx ICs.
    - New driver and device tree bindings for the VF610 Vybrid.
    - Support the RCAR r8a7793 and r8a7794.
    - Guidelines for GPIO device tree bindings trying to get
      things a bit more strict with the advent of combined
      device properties.
    - Suspend/resume support for the MVEBU driver.
    - A slew of minor fixes and improvements.
    
  • gpio-v3.19-2
    This is the bulk of GPIO changes for the v3.19 series:
    
    - A new API that allows setting more than one GPIO at the
      time. This is implemented for the new descriptor-based
      API only and makes it possible to e.g. toggle a clock and
      data line at the same time, if the hardware can do this
      with a single register write. Both consumers and drivers
      need new calls, and the core will fall back to driving
      individual lines where needed. Implemented for the MPC8xxx
      driver initially.
    - Patched the mdio-mux-gpio and the serial mctrl driver
      that drives modems to use the new multiple-setting API
      to set several signals simultaneously.
    - Get rid of the global GPIO descriptor array, and instead
      allocate descriptors dynamically for each GPIO on a certain
      GPIO chip. This moves us closer to getting rid of the
      limitation of using the global, static GPIO numberspace.
    - New driver and device tree bindings for 74xx ICs.
    - New driver and device tree bindings for the VF610 Vybrid.
    - Support the RCAR r8a7793 and r8a7794.
    - Guidelines for GPIO device tree bindings trying to get
      things a bit more strict with the advent of combined
      device properties.
    - Suspend/resume support for the MVEBU driver.
    - A slew of minor fixes and improvements.
    
  • gpio-v3.19-3
    Some GPIO fixes for the v3.19 series:
    - Three patches fixing IRQ handling for the DLN2
    - Null pointer handling for grgpio
    
  • gpio-v3.19-4
    A slew of fixes dealing with some irritating bugs (non-regressions)
    that have been around forever in the GPIO subsystem, most of them
    also tagged for stable:
    
    - A large slew of fixes from Johan Hovold who is finally testing and
      reviewing the removal path of the GPIO drivers.
    
    - Fix of_get_named_gpiod_flags() so it works as expected.
    
    - Fix an IRQ handling bug in the crystalcove driver.
    
  • gpio-v3.19-5
    Yet more GPIO fixes for the v3.19 series:
    - Two fixes stabilizing that which was never stable before:
      removal of GPIO chips, now let's stop leaking memory.
    - Make sure OMAP IRQs are usable when the irqchip API
      is used orthogonally to the gpiochip API.
    - Provide a default GPIO base for the mcp23s08 driver.
    
  • gpio-v3.20-1
    This is the GPIO bulk changes for the v3.20 series:
    - GPIOLIB core changes:
      - Create and use of_mm_gpiochip_remove() for removing
        memory-mapped OF GPIO chips
      - GPIO MMIO library suppports bgpio_set_multiple for
        switching several lines at once, a feature merged in
        the last cycle.
    - New drivers:
      - New driver for the APM X-gene standby GPIO controller
      - New driver for the Fujitsu MB86S7x GPIO controller
    - Cleanups:
      - Moved rcar driver to use gpiolib irqchip
      - Moxart converted to the GPIO MMIO library
      - GE driver converted to GPIO MMIO library
      - Move sx150x to irqdomain
      - Move max732x to irqdomain
      - Move vx855 to use managed resources
      - Move dwapb to use managed resources
      - Clean tc3589x from platform data
      - Clean stmpe driver to use device tree only probe
    - New subtypes:
      - sx1506 support in the sx150x driver
      - Quark 1000 SoC support in the SCH driver
      - Support X86 in the Xilinx driver
      - Support PXA1928 in the PXA driver
    - Extended drivers:
      - max732x supports device tree probe
      - sx150x supports device tree probe
    - Various minor cleanups and bug fixes
    
  • gpio-v4.0-2
    Two GPIO fixes for the v4.0 kernel series:
    
    - Fix a translation problem in of_get_named_gpiod_flags()
    - Fix a long standing container_of() mistake in the TPS65912
      driver.
    
  • gpio-v4.0-3
    Late GPIO fixes:
    - Syscon GPIO fix for Keystone DSP GPIOs
    - Pin number translation fix for ACPI GPIO
    - A smallish compiler warning fix on the mpc8xxx driver
    
  • gpio-v4.1-1
    This is the bulk of GPIO changes for the v4.1 development
    cycle:
    
    - A new GPIO hogging mechanism has been added. This can
      be used on boards that want to drive some GPIO line high,
      low, or set it as input on boot and then never touch it
      again. For some embedded systems this is bliss and
      simplifies things to a great extent.
    
    - Some API cleanup and closure: gpiod_get_array() and
      gpiod_put_array() has been added to get and put GPIOs
      in bulk as was possible with the non-descriptor API.
    
    - Encapsulate cross-calls to the pin control subsystem in
      <linux/gpio/driver.h>. Now this should be the only header
      any GPIO driver needs to include or something is wrong.
      Cleanups restricting drivers to this include are welcomed
      if tested.
    
    - Sort the GPIO Kconfig and split it into submenus, as
      it was becoming and unstructured, illogical and
      unnavigatable mess. I hope this is easier to follow.
      Menus that require a certain subsystem like I2C can
      now be hidden nicely for example, still working on
      others.
    
    - New drivers:
    
        - New driver for the Altera Soft GPIO.
    
        - The F7188x driver now handles the F71869 and
          F71869A variants.
    
        - The MIPS Loongson driver has been moved to
          drivers/gpio for consolidation and cleanup.
    
    - Cleanups:
    
       - The MAX732x is converted to use the GPIOLIB_IRQCHIP
         infrastructure.
    
       - The PCF857x is converted to use the GPIOLIB_IRQCHIP
         infrastructure.
    
       - Radical cleanup of the OMAP driver.
    
    - Misc:
    
       - Enable the DWAPB GPIO for all architectures. This is
         a "hard IP" block from Synopsys which has started to
         turn up in so diverse architectures as X86 Quark, ARC
         and a slew of ARM systems. So even though it's not an
         expander, it's generic enough to be available for all.
    
       - We add a mock GPIO on Crystalcove PMIC after a long
         discussion with Daniel Vetter et al, tracing back to
         the shootout at the kernel summit where DRM drivers
         and sub-componentization was discussed. In this case
         a mock GPIO is assumed to be the best compromise
         gaining some reuse of infrastructure without making
         DRM drivers overly complex at the same time. Let's
         see.
    
  • gpio-v4.1-2
    These are some GPIO fixes for the v4.1 series:
    
    - Fix a memory leak for GPIO hotplug.
    
    - Fix a signedness bug in the ACPI GPIO pin validation.
    
    - Driver fixes: Qualcomm SPMI and OMAP MPUIO IRQ issues.
    
  • gpio-v4.1-3
    GPIO fixes for the v4.1 series:
    
    - A leak in gpiochip_add path destined for stable.
    - A kempld driver bug destined for stable.
    
  • gpio-v4.2-1
    This is the big bulk of GPIO changes queued for the v4.2
    kernel series:
    
    - A big set of cleanups to the aged sysfs interface from
      Johan Hovold. To get these in, v4.1-rc3 was merged into
      the tree as the first patch in that series had to go
      into stable. This makes the locking much more fine-grained
      (get rid of the "big GPIO lock(s)" and store states in the
      GPIO descriptors.
    
    - Rename gpiod_[g|s]et_array() to gpiod_[g|s]et_array_value()
      to avoid confusions.
    
    - New drivers for:
      - NXP LPC18xx (currently LPC1850)
      - NetLogic XLP
      - Broadcom STB SoC's
      - Axis ETRAXFS
      - Zynq Ultrascale+ (subdriver)
    
    - ACPI:
      - Make it possible to retrieve GpioInt resources from
        a GPIO device using acpi_dev_gpio_irq_get()
      - Merge some dependent I2C changes exploiting this.
      - Support the ARM X-Gene GPIO standby driver.
    
    - Make it possible for the generic GPIO driver to read
      back the value set registers to reflect current
      status.
    
    - Loads of OMAP IRQ handling fixes.
    
    - Incremental improvements to Kona, max732x, OMAP, MXC, RCAR,
      PCA953x, STP-XWAY, PCF857x, Crystalcove, TB10x.
    
    - Janitorial (contification, checkpatch cleanups)
    
  • gpio-v4.2-2
    This is a first set of GPIO fixes for the v4.2 series, all
    hitting individual drivers and nothing else.
    
  • gpio-v4.3-1
    This is the bulk of GPIO changes for the v4.3 kernel cycle:
    
    Core changes:
    
    - Root out the wrapper devm_gpiod_get() and gpiod_get() etc
      versions of the descriptor calls that did not use the flags
      argument on the end. This was around for too long and eventually
      Uwe Kleine-König took the time to clean it out and the last
      users are removed along with the macros in this tag. In several
      cases the use of flags simplifies the code. For this reason we
      have (ACKed) patches hitting in DRM, IIO, media, NFC, USB+PHY
      up until we hammer in the nail with removing the macros.
    
    - Add a fat document describing how much ready-made GPIO stuff
      we have i the kernel to discourage people from reinventing
      a square wheel in userspace, as so often happens.
    
    - Create a separate lockdep class for each instance of a GPIO
      IRQ chip instead of using one class for all chips, as the current
      code will not work with systems with several GPIO chips doing
      lockdep debugging.
    
    - Protect against driver unloading also when a GPIO line is only
      used as IRQ for the GPIOLIB_IRQCHIP helpers.
    
    - If the GPIO chip has no designated owner, assign the parent
      device driver owner as owner.
    
    - Consolidation of chained IRQ handler install/remove replacing
      all call sites where irq_set_handler_data() and
      irq_set_chained_handler() were done in succession with a
      combined call to irq_set_chained_handler_and_data(). This
      series was created by Thomas Gleixner after the problem was
      observed by Russell King.
    
    - Tglx also made another series of patches switching
      __irq_set_handler_locked() for irq_set_handler_locked() which
      is way cleaner.
    
    - Tglx and Jiang Liu wrote a good bunch of patches to make use of
      irq_desc_get_xxx() accessors and avoid looking up irq_descs
      from IRQ numbers. The goal is to get rid of the irq number
      from the handlers in the IRQ flow which is nice.
    
    - Rob Herring killed off the set_irq_flags() for all GPIO
      drivers. This was an ARM specific function that is replaced
      with the generic irq_modify_status() where special flags
      are actually needed.
    
    - When an OF node has a pin range for its GPIOs, return
      -EPROBE_DEFER if the pin controller isn't available.
      Pretty logical, yet needed to be fixed.
    
    - If a driver using GPIOLIB_IRQCHIP has its own
      irq_*_resources call back, then call these instead of the
      defaults provided by the GPIOLIB.
    
    - Fix an undocumented ABI hole: named GPIOs were not
      properly documented.
    
    Driver improvements:
    
    - Add get_direction() support to the generic GPIO driver, it's
      strange that we didn't have that before.
    
    - Make it possible to have input-only GPIO chips using the
      generic GPIO driver.
    
    - Clean out platform data support from the Emma Mobile (EM)
      driver
    
    - Finegrained runtime PM support for the RCAR driver.
    
    - Support r8a7795 (R-car H3) in the RCAR driver.
    
    - Support interrupts on GPIOs 16 thru 31 in the DaVinci driver.
    
    - Some consolidation and new support in the MPC8xxx driver,
      we now support MPC5125.
    
    - Preempt-RT-friendly patches: the OMAP, MPC8xxx, drivers uses raw
      spinlocks making it work better with the realime patches.
    
    - Interrupt support for the EXTRAXFS GPIO driver.
    
    - Make the ETRAXFS GPIO driver support also ARTPEC-3.
    
    - Interrupt and wakeup support for the BRCMSTB driver, also for
      wakeup from S5 cold boot.
    
    - Mask MXC IRQs during suspend.
    
    - Improve OMAP2 GPIO set_debounce() to work according to spec.
    
    - The VF610 driver handles IRQs properly.
    
    New drivers:
    
    - ZTE ZX GPIO driver.
    
  • gpio-v4.3-2
    This is the first round of GPIO fixes for v4.3:
    
    - Return value checks and thus nicer errorpath for two drivers.
    
    - Make GPIO_RCAR arch neutral.
    
    - Propagate errors from GPIO chip ->get() vtable call. It turned
      out these can actually fail sometimes, especially on slowpath
      controllers doing I2C traffic and similar.
    
    - Update documentation to be in sync with the massive changes in
      the v4.3 merge window, phew.
    
    - Handle deferred probe properly in the OMAP driver.
    
    - Get rid of surplus MODULE_ALIAS() from sx150x.
    
  • gpio-v4.4-1
    0963670a · gpio: fix up SPI submenu ·
    This is the bulk of GPIO changes for v4.4:
    
    GPIO core:
    - Define and handle flags for open drain/open collector
      and open source/open emitter, also know as "single-ended"
      configurations.
    - Generic request/free operations that handle calling out
      to the (optional) pin control backend.
    - Some refactoring related to an ABI change that did not
      happen, yet provide useful.
    - Added a real-time compliance checklist. Many GPIO chips
      have irqchips, and need to think this over with the RT
      patches going upstream.
    - Restructure, fix and clean up Kconfig menus a bit.
    
    New drivers:
    - New driver for AMD Promony.
    - New driver for ACCES 104-IDIO-16, a port-mapped I/O
      card, ISA-style. Very retro.
    
    Subdriver changes:
    - OMAP changes to handle real time requirements.
    - Handle trigger types for edge and level IRQs on PL061
      properly. As this hardware is very common it needs to
      set a proper example for others to follow.
    - Some container_of() cleanups.
    - Delete the unused MSM driver in favor of the driver that
      is embedded inside the pin control driver.
    - Cleanup of the ath79 GPIO driver used by many, many
      OpenWRT router targets.
    - A consolidated IT87xx driver replacing the earlier
      very specific IT8761e driver.
    - Handle the TI TCA9539 in the PCA953x driver. Also
      handle ACPI devices in this subdriver.
    - Drop xilinx arch dependencies as these FPGAs seem to
      profilate over a few different architectures. MIPS and
      ARM come to mind.
    
  • next-20150814
    next-20150814
    
  • next-20150817
    next-20150817
    
  • next-20150818
    next-20150818