22 Aug, 2017

1 commit


23 Jun, 2016

1 commit


13 Jun, 2016

1 commit

  • The Kconfig currently controlling compilation of this code is:

    drivers/pinctrl/Kconfig:config PINCTRL_DIGICOLOR
    drivers/pinctrl/Kconfig: bool

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the modular code that is essentially orphaned, so that
    when reading the driver there is no doubt it is builtin-only.

    We explicitly disallow a driver unbind, since that doesn't have a
    sensible use case anyway, and it allows us to drop the ".remove"
    code for non-modular drivers.

    Since module_platform_driver() uses the same init level priority as
    builtin_platform_driver() the init ordering remains unchanged with
    this commit.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    Cc: linux-gpio@vger.kernel.org
    Signed-off-by: Paul Gortmaker
    Acked-by: Baruch Siach
    Signed-off-by: Linus Walleij

    Paul Gortmaker
     

31 May, 2016

1 commit


21 Apr, 2016

1 commit


01 Apr, 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
     

17 Oct, 2015

1 commit

  • Replace all trivial request/free callbacks that do nothing but call into
    pinctrl code with the generic versions.

    Signed-off-by: Jonas Gorski
    Acked-by: Bjorn Andersson
    Acked-by: Heiko Stuebner
    Acked-by: Eric Anholt
    Acked-by: Mika Westerberg
    Acked-by: Andrew Bresticker
    Acked-by: Baruch Siach
    Acked-by: Matthias Brugger
    Acked-by: Lee Jones
    Acked-by: Laxman Dewangan
    Acked-by: Maxime Ripard
    Signed-off-by: Linus Walleij

    Jonas Gorski
     

14 Sep, 2015

1 commit

  • Since commit 323de9efdf3e ("pinctrl: make pinctrl_register() return proper
    error code"), pinctrl_register returns an error code rather than NULL on
    failure. Update a driver that was introduced more recently.

    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression e,e1,e2;
    @@

    e = pinctrl_register(...)
    ... when != e = e1
    if (
    - e == NULL
    + IS_ERR(e)
    ) {
    ...
    return
    - e2
    + PTR_ERR(e)
    ;
    }
    //

    Signed-off-by: Julia Lawall
    Acked-by: Baruch Siach
    Signed-off-by: Linus Walleij

    Julia Lawall
     

27 Jul, 2015

1 commit

  • This adds pinctrl and gpio driver to the CX92755 SoC "General
    Purpose Pin Mapping" hardware block. The CX92755 is one SoC
    from the Conexant Digicolor series. Pin mapping hardware supports
    configuring pins as either GPIO, or up to 3 other "client select"
    functions. This driver adds support for pin muxing using the
    generic device tree binding, and a basic gpiolib driver for
    the GPIO functionality.

    This driver does not currently support GPIO interrupts, and
    pad configuration.

    v2:
    * Address review comments for Linus Walleij:
    - Add a pointer to pinctrl_desc in struct dc_pinmap
    - Drop the now redundant pinctrl_pin_desc field
    - Adapt dc_get_group_{name,pins} to these changes, and
    add a comment explaining the 1-to-1 pin-groups relation
    * Staticise dc_pmxops
    * Protect the GP_CLIENTSEL clct parameter with parenthesis

    Signed-off-by: Baruch Siach
    Signed-off-by: Linus Walleij

    Baruch Siach