10 Oct, 2014

1 commit

  • Pull GPIO changes from Linus Walleij:
    "This is the bulk of GPIO changes for the v3.18 development cycle:

    - Increase the default ARCH_NR_GPIO from 256 to 512. This was done
    to avoid having a custom header for the x86
    architecture - GPIO is custom and complicated enough as it is
    already! We want to move to a radix to store the descriptors going
    forward, and finally get rid of this fixed array size altogether.

    - Endgame patching of the gpio_remove() semantics initiated by
    Abdoulaye Berthe. It is not accepted by the system that the
    removal of a GPIO chip fails during eg reboot or shutdown, and
    therefore the return value has now painfully been refactored away.
    For special cases like GPIO expanders on a hot-pluggable bus like
    USB, we may later add some gpiochip_try_remove() call, but for the
    cases we have now, return values are moot.

    - Some incremental refactoring of the gpiolib core and ACPI GPIO
    library for more descriptor usage.

    - Refactor the chained IRQ handler set-up method to handle also
    threaded, nested interrupts and set up the parent IRQ correctly.
    Switch STMPE and TC3589x drivers to use this registration method.

    - Add a .irq_not_threaded flag to the struct gpio_chip, so that also
    GPIO expanders that block but are still not using threaded IRQ
    handlers.

    - New drivers for the ARM64 X-Gene SoC GPIO controller.

    - The syscon GPIO driver has been improved to handle the "DSP GPIO"
    found on the TI Keystone 2 SoC:s.

    - ADNP driver switched to use gpiolib irqchip helpers.

    - Refactor the DWAPB driver to support being instantiated from and
    MFD cell (platform device).

    - Incremental feature improvement in the Zynq, MCP23S08, DWAPB, OMAP,
    Xilinx and Crystalcove drivers.

    - Various minor fixes"

    * tag 'gpio-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (52 commits)
    gpio: pch: Build context save/restore only for PM
    pinctrl: abx500: get rid of unused variable
    gpio: ks8695: fix 'else should follow close brace '}''
    gpio: stmpe: add verbose debug code
    gpio: stmpe: fix up interrupt enable logic
    gpio: staticize xway_stp_init()
    gpio: handle also nested irqchips in the chained handler set-up
    gpio: set parent irq on chained handlers
    gpiolib: irqchip: use irq_find_mapping while removing irqchip
    gpio: crystalcove: support virtual GPIO
    pinctrl: bcm281xx: make Kconfig dependency more strict
    gpio: kona: enable only on BCM_MOBILE or for compile testing
    gpio, bcm-kona, LLVMLinux: Remove use of __initconst
    gpio: Fix ngpio in gpio-xilinx driver
    gpio: dwapb: fix pointer to integer cast
    gpio: xgene: Remove unneeded #ifdef CONFIG_OF guard
    gpio: xgene: Remove unneeded forward declation for struct xgene_gpio
    gpio: xgene: Fix missing spin_lock_init()
    gpio: ks8695: fix switch case indentation
    gpiolib: add irq_not_threaded flag to gpio_chip
    ...

    Linus Torvalds
     

26 Sep, 2014

1 commit

  • By converting to the restart_notifier mechanism for restart, we allow
    for other mechanisms, like the watchdog, to be used for restart in the
    case where PS_HOLD has failed to reset the chip.

    Since this mechanism may be one of several mechanisms registered, change
    the post-ps_hold write timeout to be a more reasonable 1 second instead
    of 10 seconds.

    Choose priority 128, as according to documentation, this mechanism "is
    sufficient to restart the entire system".

    Tested-by: Pramod Gurav
    Signed-off-by: Josh Cartwright
    Acked-by: Bjorn Andersson
    Reviewed-by: Guenter Roeck
    Signed-off-by: Linus Walleij

    Josh Cartwright
     

23 Sep, 2014

1 commit


05 Sep, 2014

2 commits

  • Currently the value used to specify that interrupts from the gpio should
    be routed to the application processor is hardcoded for all Qualcomm SoCs.
    But the new APQ8084 SoC uses a different value. To resolve this, we make
    this value configurable for each SoC. For all existing SoCs we continue
    to use the current value, and only for APQ8084 we use the new value.

    Suggested-by: Bjorn Andersson
    Acked-by: Bjorn Andersson
    Signed-off-by: Georgi Djakov
    Signed-off-by: Linus Walleij

    Georgi Djakov
     
  • This patchset adds pinctrl support for the Qualcomm APQ8084 platform.

    This set of patches adds pinctrl support for the Qualcomm APQ8084 platform.
    The first patch adds the pin definitions. The second patch contains the
    devicetree binding documentation. The third patch adds the DT node.
    The last patch makes the INTR_TARGET_PROC_APPS value configurable and
    defines it for each existing SoC.

    Tested on IFC6540 board.

    Changes since v3:
    - Fixed the sdc valid pin values in the binding documentation - sdc2
    instead of sdc3. (suggested by Bjorn Andersson)

    Changes since v2:
    - Fixed some incorrect bits and offsets. (suggested by Bjorn Andersson)
    - Updated binding documentation to follow the format of msm8960.
    (suggested by Bjorn Andersson)
    - Added fourth patch, which removes the hardcoded INTR_TARGET_PROC_APPS
    value and makes it configurable. Also we keep the current value for
    existing SoCs. (suggested by Bjorn Andersson)

    Changes since v1:
    - Updated the total number of pins (suggested by Bjorn Andersson)
    - Added the missing pin info (provided by Andy Gross)
    - Updated groups and functions to be consistent with other pinctrls.
    (suggested by Andy Gross)
    - Removed unused functions, qdss and test pins. (suggested by Andy Gross)
    - Updated the documentation with the possible functions.

    Reviewed-by: Andy Gross
    Acked-by: Bjorn Andersson
    Signed-off-by: Georgi Djakov
    Signed-off-by: Linus Walleij

    Georgi Djakov
     

04 Sep, 2014

1 commit

  • commit 2243a87d90b42eb38bc281957df3e57c712b5e56
    "pinctrl: avoid duplicated calling enable_pinmux_setting for a pin"
    removed the .disable callback from the struct pinmux_ops,
    making the .enable() callback the only remaining callback.

    However .enable() is a bad name as it seems to imply that a
    muxing can also be disabled. Rename the callback to .set_mux()
    and also take this opportunity to clean out any remaining
    mentions of .disable() from the documentation.

    Acked-by: Stephen Warren
    Acked-by: Bjorn Andersson
    Acked-by: Fan Wu
    Signed-off-by: Linus Walleij

    Linus Walleij
     

02 Sep, 2014

2 commits


23 Jul, 2014

1 commit

  • [linux-3.16-rc5/drivers/pinctrl/pinctrl-msm.c:145]: (style) Checking if
    unsigned variable 'mux_bit' is less than zero.

    if (WARN_ON(g->mux_bit < 0))
    return -EINVAL;

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=80491
    Reported-by: David Binderman
    Signed-off-by: Andrey Utkin
    Signed-off-by: Linus Walleij

    Andrey Utkin
     

22 Jul, 2014

1 commit


11 Jul, 2014

1 commit