06 Nov, 2020

3 commits

  • This enables the PEX8311 internal PCI wire interrupt and the PEX8311
    local interrupt input so the local interrupts are forwarded to the PCI.

    Fixes: 585562046628 ("gpio: Add GPIO support for the ACCES PCIe-IDIO-24 family")
    Cc: stable@vger.kernel.org
    Signed-off-by: Arnaud de Turckheim
    Reviewed-by: William Breathitt Gray
    Signed-off-by: Bartosz Golaszewski

    Arnaud de Turckheim
     
  • This fixes the COS Enable Register value for enabling/disabling the
    corresponding IRQs bank.

    Fixes: 585562046628 ("gpio: Add GPIO support for the ACCES PCIe-IDIO-24 family")
    Cc: stable@vger.kernel.org
    Signed-off-by: Arnaud de Turckheim
    Reviewed-by: William Breathitt Gray
    Signed-off-by: Bartosz Golaszewski

    Arnaud de Turckheim
     
  • Fix the bitwise operation to remove only the corresponding bit from the
    mask.

    Fixes: 585562046628 ("gpio: Add GPIO support for the ACCES PCIe-IDIO-24 family")
    Cc: stable@vger.kernel.org
    Signed-off-by: Arnaud de Turckheim
    Reviewed-by: William Breathitt Gray
    Signed-off-by: Bartosz Golaszewski

    Arnaud de Turckheim
     

23 Jul, 2020

1 commit

  • This makes the driver use the irqchip template to assign
    properties to the gpio_irq_chip instead of using the
    explicit call to gpiochip_irqchip_add().

    The irqchip is instead added while adding the gpiochip.

    Signed-off-by: Linus Walleij
    Acked-by: William Breathitt Gray
    Cc: William Breathitt Gray
    Link: https://lore.kernel.org/r/20200722110027.192782-1-linus.walleij@linaro.org

    Linus Walleij
     

05 Dec, 2019

1 commit

  • Replace verbose implementation in get_multiple/set_multiple callbacks
    with for_each_set_clump8 macro to simplify code and improve clarity.

    Link: http://lkml.kernel.org/r/d5d22fa9809dcf8330f4381dbe7e7ca37990e79f.1570641097.git.vilhelm.gray@gmail.com
    Signed-off-by: William Breathitt Gray
    Reviewed-by: Linus Walleij
    Cc: Andy Shevchenko
    Cc: Arnd Bergmann
    Cc: Bartosz Golaszewski
    Cc: Geert Uytterhoeven
    Cc: Geert Uytterhoeven
    Cc: Lukas Wunner
    Cc: Masahiro Yamada
    Cc: Mathias Duckeck
    Cc: Morten Hein Tiljeset
    Cc: Phil Reid
    Cc: Rasmus Villemoes
    Cc: Sean Nyekjaer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    William Breathitt Gray
     

07 Nov, 2019

1 commit

  • It's hard for occasional GPIO code reader/writer to know if values 0/1
    equal to IN or OUT. Use defined GPIO_LINE_DIRECTION_IN and
    GPIO_LINE_DIRECTION_OUT to help them out.

    NOTE - for gpio-amd-fch and gpio-bd9571mwv:
    This commit also changes the return value for direction get to equal 1
    for direction INPUT. Prior this commit these drivers might have
    returned some other positive value but 1 for INPUT.

    Signed-off-by: Matti Vaittinen
    Acked-by: Scott Branden
    Reviewed-by: Grygorii Strashko
    Reviewed-by: Michal Simek
    Reviewed-by: Geert Uytterhoeven
    Acked-by: Andy Shevchenko
    Acked-by: William Breathitt Gray
    Acked-by: Kuppuswamy Sathyanarayanan
    Signed-off-by: Linus Walleij

    Matti Vaittinen
     

05 Nov, 2018

1 commit


30 Apr, 2018

1 commit

  • The PCIe-IDIO-24 features 8 bits of TTL GPIO which may be configured for
    output or input. This patch fixes an off-by-one error in the loop
    conditional for the get_multiple callback so that the TTL GPIO are
    handled.

    Fixes: ca37081595a2 ("gpio: pcie-idio-24: Implement get_multiple/set_multiple callbacks")
    Signed-off-by: William Breathitt Gray
    Signed-off-by: Linus Walleij

    William Breathitt Gray
     

27 Apr, 2018

1 commit


26 Mar, 2018

1 commit

  • The ACCES I/O PCIe-IDIO-24 series of devices provides 24
    optically-isolated digital I/O accessed via six 8-bit ports. Since eight
    input lines are acquired on a single port input read -- and similarly
    eight output lines are set on a single port output write -- the
    PCIe-IDIO-24 GPIO driver may improve multiple I/O reads/writes by
    utilizing a get_multiple/set_multiple callbacks. This patch implements
    the idio_24_gpio_get_multiple function which serves as the respective
    get_multiple callback, and implements the idio_24_gpio_set_multiple
    function which serves as the respective set_multiple callback.

    Signed-off-by: William Breathitt Gray
    Signed-off-by: Linus Walleij

    William Breathitt Gray
     

10 Jan, 2018

1 commit

  • The ACCES PCIe-IDIO-24 device provides 56 lines of digital I/O (24 lines
    of optically-isolated non-polarized digital inputs for AC and DC control
    signals, 24 lines of isolated solid state FET digital outputs, and 8
    non-isolated TTL/CMOS compatible programmable I/O). An interrupt is
    generated when any of the inputs change state (low to high or high to
    low).

    Input filter control is not supported by this driver, and input filters
    are deactivated by this driver. These devices are capable of
    get_multiple and set_multiple functionality, but these functions have
    not yet been implemented for this driver. Change-Of-State (COS)
    detection functionality may be configured to fire interrupts on
    exclusively rising/falling edges, but this driver currently only
    implements COS detection for either both edges or none.

    Signed-off-by: William Breathitt Gray
    Signed-off-by: Linus Walleij

    William Breathitt Gray