05 Jan, 2016

1 commit


27 Dec, 2015

1 commit

  • As we want gpio_chip .get() calls to be able to return negative
    error codes and propagate to drivers, we need to go over all
    drivers and make sure their return values are clamped to [0,1].
    We do this by using the ret = !!(val) design pattern.

    Acked-by: James Hogan
    Signed-off-by: Linus Walleij

    Linus Walleij
     

11 Dec, 2015

1 commit


19 Nov, 2015

1 commit

  • The name .dev in a struct is normally reserved for a struct device
    that is let us say a superclass to the thing described by the struct.
    struct gpio_chip stands out by confusingly using a struct device *dev
    to point to the parent device (such as a platform_device) that
    represents the hardware. As we want to give gpio_chip:s real devices,
    this is not working. We need to rename this member to parent.

    This was done by two coccinelle scripts, I guess it is possible to
    combine them into one, but I don't know such stuff. They look like
    this:

    @@
    struct gpio_chip *var;
    @@
    -var->dev
    +var->parent

    and:

    @@
    struct gpio_chip var;
    @@
    -var.dev
    +var.parent

    and:

    @@
    struct bgpio_chip *var;
    @@
    -var->gc.dev
    +var->gc.parent

    Plus a few instances of bgpio that I couldn't figure out how
    to teach Coccinelle to rewrite.

    This patch hits all over the place, but I *strongly* prefer this
    solution to any piecemal approaches that just exercise patch
    mechanics all over the place. It mainly hits drivers/gpio and
    drivers/pinctrl which is my own backyard anyway.

    Cc: Haavard Skinnemoen
    Cc: Rafał Miłecki
    Cc: Richard Purdie
    Cc: Mauro Carvalho Chehab
    Cc: Alek Du
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Acked-by: Dmitry Torokhov
    Acked-by: Greg Kroah-Hartman
    Acked-by: Lee Jones
    Acked-by: Jiri Kosina
    Acked-by: Hans-Christian Egtvedt
    Acked-by: Jacek Anaszewski
    Signed-off-by: Linus Walleij

    Linus Walleij
     

17 Oct, 2015

1 commit


29 Jan, 2015

1 commit


20 Oct, 2014

1 commit


21 Jul, 2013

1 commit

  • Add a GPIO driver for the low-power Powerdown Controller GPIOs in the
    TZ1090 SoC.

    The driver is instantiated by device tree and supports interrupts for
    the SysWake GPIOs only.

    Changes in v4:
    - fix typos in DT bindings compatible properties
    - reference Documentation/devicetree/bindings/gpio/gpio.txt in
    gpio-ranges description in DT bindings
    - fix gpio-ranges examples in DT bindings (it must now have 3 cells)

    Changes in v3:
    - separated from irq-imgpdc and removed arch/metag changes to allow
    these patches to go upstream separately via the pinctrl[/gpio] trees
    (particularly the pinctrl drivers depend on the new pinconf DT
    bindings).
    - some s/unsigned/unsigned int/.
    - gpio-tz1090*: refer to and
    flags in bindings.
    - gpio-tz1090*: move initcall from postcore to subsys.

    Changes in v2:
    - gpio-tz1090-pdc: remove references to Linux flags in dt bindings
    - gpio-tz1090-pdc: make use of BIT() from linux/bitops.h
    - gpio-tz1090-pdc: make register accessors inline to match pinctrl
    - gpio-tz1090-pdc: update gpio-ranges to use 3 cells after recent ABI
    breakage

    Signed-off-by: James Hogan
    Cc: Grant Likely
    Cc: Rob Herring
    Cc: Rob Landley
    Cc: Linus Walleij
    Cc: linux-doc@vger.kernel.org
    Cc: devicetree-discuss@lists.ozlabs.org
    Signed-off-by: Linus Walleij

    James Hogan