23 Feb, 2016

1 commit


05 Jan, 2016

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
     

13 May, 2015

1 commit


20 Jan, 2015

1 commit


16 Jan, 2015

1 commit


09 Jan, 2015

1 commit


07 Jan, 2015

2 commits

  • dln2_gpio_direction_output() ignored the state passed into it. Fix it.
    Also make dln2_gpio_pin_set_out_val return int, so we can check the error value.

    Signed-off-by: Axel Lin
    Tested-by: Daniel Baluta
    Acked-by: Alexandre Courbot
    Reviewed-by: Octavian Purdila
    Signed-off-by: Linus Walleij

    Axel Lin
     
  • As noticed during suspend/resume operations, the IRQ can be unmasked
    then disabled in suspend and eventually enabled in resume, but without
    being unmasked.

    The current implementation does not take into account interactions
    between mask/unmask and enable/disable interrupts, and thus in the
    above scenarios the IRQs remain unactive.

    To fix this we removed the enable/disable operations as they fallback
    to mask/unmask anyway.

    We also remove the pending bitmaks as it is already done in irq_data
    (i.e. IRQS_PENDING).

    Signed-off-by: Octavian Purdila
    Acked-by: Alexandre Courbot
    Signed-off-by: Linus Walleij

    Octavian Purdila
     

11 Nov, 2014

1 commit

  • This patch adds GPIO and IRQ support for the Diolan DLN-2 GPIO module.

    Information about the USB protocol interface can be found in the
    Programmer's Reference Manual [1], see section 2.9 for the GPIO
    module commands and responses.

    [1] https://www.diolan.com/downloads/dln-api-manual.pdf

    Signed-off-by: Daniel Baluta
    Signed-off-by: Octavian Purdila
    Acked-by: Linus Walleij
    Reviewed-by: Johan Hovold
    Signed-off-by: Lee Jones

    Daniel Baluta