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.
    Also move the IRQ initialization to the special .init_hw()
    callback.

    Signed-off-by: Linus Walleij
    Acked-by: William Breathitt Gray
    Cc: William Breathitt Gray
    Link: https://lore.kernel.org/r/20200722110649.202223-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/b30f131b4634caf5a70f12e01496f71631a17305.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
     

31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation this program is
    distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 655 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Kate Stewart
    Reviewed-by: Richard Fontana
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070034.575739538@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

05 Nov, 2018

1 commit


27 Apr, 2018

1 commit


26 Mar, 2018

1 commit

  • The ACCES I/O PCI-IDIO-16 series of devices provides 16
    optically-isolated digital inputs accessed via two 8-bit ports. Since
    eight input lines are acquired on a single port input read, the
    PCI-IDIO-16 GPIO driver may improve multiple input reads by utilizing a
    get_multiple callback. This patch implements the
    idio_16_gpio_get_multiple function which serves as the respective
    get_multiple callback.

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

    William Breathitt Gray
     

08 Nov, 2017

1 commit


28 Mar, 2017

1 commit

  • The pci-idio-16 gpio driver currently implements an irq_chip for handling
    interrupts; due to how irq_chip handling is done, it's necessary for the
    irq_chip methods to be invoked from hardirq context, even on a a
    real-time kernel. Because the spinlock_t type becomes a "sleeping"
    spinlock w/ RT kernels, it is not suitable to be used with irq_chips.

    A quick audit of the operations under the lock reveal that they do only
    minimal, bounded work, and are therefore safe to do under a raw spinlock.

    Signed-off-by: Julia Cartwright
    Acked-by: William Breathitt Gray
    Signed-off-by: Linus Walleij

    Julia Cartwright
     

13 Feb, 2017

2 commits

  • The PCI BAR0 and BAR1 for the PCI-IDIO-16 hold information for the PLX
    9052 bridge chip on the device. The PCI BAR2 holds the necessary base
    address for I/O control of the PCI-IDIO-16. This patch corrects the PCI
    BAR index mismatch for the PCI-IDIO-16 GPIO driver.

    Fixes: 02e74fc0401a ("gpio: Add GPIO support for the ACCES PCI-IDIO-16")
    Signed-off-by: William Breathitt Gray
    Signed-off-by: Linus Walleij

    William Breathitt Gray
     
  • The ACCES PCI-IDIO-16 has a PCI device ID code of 0x0DC8. It is
    incorrect to use the PCI device ID code of the ACCES PCI-IIRO-8
    (0x0F00). This patch fixes the said PCI device ID code mismatch.

    Fixes: 02e74fc0401a ("gpio: Add GPIO support for the ACCES PCI-IDIO-16")
    Signed-off-by: William Breathitt Gray
    Signed-off-by: Linus Walleij

    William Breathitt Gray
     

06 Feb, 2017

1 commit

  • The ACCES PCI-IDIO-16 device provides 32 lines of digital I/O (16 lines
    of optically-isolated digital inputs for AC and DC control signals, and
    16 lines of solid state switch digital outputs). 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.

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

    William Breathitt Gray