Skip to content
Permalink
Shreeya-Patel/…
Switch branches/tags

Commits on Oct 18, 2021

  1. gpio: Return EPROBE_DEFER if gc->to_irq is NULL

    We are racing the registering of .to_irq when probing the
    i2c driver. This results in random failure of touchscreen
    devices.
    
    Following errors could be seen in dmesg logs when gc->to_irq is NULL
    
    [2.101857] i2c_hid i2c-FTS3528:00: HID over i2c has not been provided an Int IRQ
    [2.101953] i2c_hid: probe of i2c-FTS3528:00 failed with error -22
    
    To avoid this situation, defer probing until to_irq is registered.
    
    This issue has been reported many times in past and people have been
    using workarounds like changing the pinctrl_amd to built-in instead
    of loading it as a module or by adding a softdep for pinctrl_amd into
    the config file.
    
    References :-
    https://bugzilla.kernel.org/show_bug.cgi?id=209413
    Syniurge/i2c-amd-mp2#3
    
    Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com>
    Shreeya Patel authored and intel-lab-lkp committed Oct 18, 2021

Commits on Dec 16, 2020

  1. MAINTAINERS: Remove reference to non-existing file

    GPIO HiSilicon driver doesn't provide any platform data header.
    
    Fixes: a8f2523 ("MAINTAINERS: Add maintainer for HiSilicon GPIO driver")
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Link: https://lore.kernel.org/r/20201214165524.43843-2-andriy.shevchenko@linux.intel.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    andy-shev authored and linusw committed Dec 16, 2020
  2. gpio: hisi: Do not require ACPI for COMPILE_TEST

    Make it clear that ACPI needs to be present only to get driver functional.
    It is not required for compilation.
    
    Fixes: 356b01a ("gpio: gpio-hisi: Add HiSilicon GPIO support")
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Link: https://lore.kernel.org/r/20201214165524.43843-1-andriy.shevchenko@linux.intel.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    andy-shev authored and linusw committed Dec 16, 2020
  3. MAINTAINERS: Add maintainer for HiSilicon GPIO driver

    Here add maintainer information for HiSilicon GPIO driver.
    
    Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
    Link: https://lore.kernel.org/r/1607934255-52544-3-git-send-email-luojiaxing@huawei.com
    [Dropped some dead code when applying]
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Luojiaxing1991 authored and linusw committed Dec 16, 2020

Commits on Dec 14, 2020

  1. gpio: gpio-hisi: Add HiSilicon GPIO support

    This GPIO driver is for HiSilicon's ARM SoC.
    
    HiSilicon's GPIO controller support double-edge interrupt and multi-core
    concurrent access.
    
    ACPI table example for this GPIO controller:
    Device (GPO0)
    {
    	Name (_HID, "HISI0184")
    	Device (PRTA)
    	{
    		Name (_ADR, Zero)
    		Name (_UID, Zero)
    		Name (_DSD, Package (0x01)
    		{
    			Package (0x02)
    			{
    				"ngpios",
    				0x20
    			}
    		})
    	}
    }
    
    Signed-off-by: Luo Jiaxing <luojiaxing@huawei.com>
    Link: https://lore.kernel.org/r/1607934255-52544-2-git-send-email-luojiaxing@huawei.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Luojiaxing1991 authored and linusw committed Dec 14, 2020

Commits on Dec 12, 2020

  1. gpio: cs5535: Simplify the return expression of cs5535_gpio_probe()

    Simplify the return expression.
    
    Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
    Link: https://lore.kernel.org/r/20201210135609.1372-1-zhengyongjun3@huawei.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Zheng Yongjun authored and linusw committed Dec 12, 2020

Commits on Dec 11, 2020

  1. gpiolib: irq hooks: fix recursion in gpiochip_irq_unmask

    irqchip shared with multiple gpiochips, leads to recursive call of
    gpiochip_irq_mask/gpiochip_irq_unmask which was assigned to
    rqchip->irq_mask/irqchip->irq_unmask, these happens becouse of
    only irqchip->irq_enable == gpiochip_irq_enable is checked.
    
    Let's add an additional check to make sure shared irqchip is detected
    even if irqchip->irq_enable wasn't defined.
    
    Fixes: a817382 ("gpio: gpiolib: Allow GPIO IRQs to lazy disable")
    Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
    Link: https://lore.kernel.org/r/20201210070514.13238-1-nikita.shubin@maquefel.me
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    maquefel authored and linusw committed Dec 11, 2020
  2. dt-bindings: mt7621-gpio: convert bindings to YAML format

    Convert the mt7621-gpio device tree bindings to the new YAML format.
    
    Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/20201207081151.7489-1-sergio.paracuellos@gmail.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    paraka authored and linusw committed Dec 11, 2020

Commits on Dec 9, 2020

  1. Merge tag 'gpio-updates-for-v5.11' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/brgl/linux into devel
    
    gpio updates for v5.11-rc1
    
    - several refactoring patches of the core gpiolib code
    - add support for NXP PCAL9554B/C to gpio-pca953x
    - allow probing mockup devices from device tree
    - refactoring and improvements to gpio-rcar
    - improvements to locking in gpio-tegra
    - code shrink in gpiolib devres
    - get the irq offset from device tree in gpio-sifive
    - major refactoring of gpio-exar
    - convert gpio-mvebu pwm access to regmap
    - create a new submenu for virtual GPIO drivers
    - fix clang fall-through warnings treewide
    - minor driver refactoring and tweaks sprinkled all over
    linusw committed Dec 9, 2020
  2. gpiolib: cdev: Flag invalid GPIOs as used

    When reporting the state of a GPIO to userspace, we never check
    for the actual validity of the line, meaning we report invalid
    lines as being usable. A subsequent request will fail though,
    which is an inconsistent behaviour from a userspace perspective.
    
    Instead, let's check for the validity of the line and report it
    as used if it is invalid. This allows a tool such as gpioinfo
    to report something sensible:
    
    gpiochip3 - 4 lines:
    	line   0:      unnamed       unused   input  active-high
    	line   1:      unnamed       kernel   input  active-high [used]
    	line   2:      unnamed       kernel   input  active-high [used]
    	line   3:      unnamed       unused   input  active-high
    
    In this example, lines 1 and 2 are invalid, and cannot be used by
    userspace.
    
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Link: https://lore.kernel.org/r/20201204164739.781812-2-maz@kernel.org
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Marc Zyngier authored and linusw committed Dec 9, 2020

Commits on Dec 8, 2020

  1. gpio: put virtual gpio device into their own submenu

    Since we already have a few virtual GPIO drivers, and more to come,
    this category deserves its own submenu.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    metux authored and brgl committed Dec 8, 2020
  2. drivers: gpio: amd8111: use SPDX-License-Identifier

    Prefer SPDX-License-Identifier over hand-written texts.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
    Link: https://lore.kernel.org/r/20201203182423.5499-3-info@metux.net
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    metux authored and linusw committed Dec 8, 2020
  3. drivers: gpio: amd8111: prefer dev_err()/dev_info() over raw printk

    For logging in device contexts, dev_*() functions are preferred over
    raw printk(), which also print out device name.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
    Link: https://lore.kernel.org/r/20201203182423.5499-2-info@metux.net
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    metux authored and linusw committed Dec 8, 2020
  4. drivers: gpio: bt8xx: prefer dev_err()/dev_warn() over of raw printk

    For logging in device contexts, dev_*() functions are preferred over
    raw printk(), which also print out device name.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
    Link: https://lore.kernel.org/r/20201203182423.5499-1-info@metux.net
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    metux authored and linusw committed Dec 8, 2020

Commits on Dec 5, 2020

  1. gpio: Add TODO item for debugfs interface

    The idea to create a debugfs to replace the aging and
    dangerous sysfs ABI for hacking and tinkering came up
    on the list.
    
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Cc: Geert Uytterhoeven <geert+renesas@glider.be>
    Link: https://lore.kernel.org/r/20201204083533.65830-1-linus.walleij@linaro.org
    linusw committed Dec 5, 2020
  2. gpio: just plain warning when nonexisting gpio requested

    When trying to export an nonexisting gpio ID, the kernel prints out a
    big warning w/ stacktrace, sounding like a huge problem. In fact it's
    a pretty normal situation, like file or device not found.
    
    So, just print a more relaxed warning instead.
    
    changes v2: drop defining pr_fmt()
    
    Signed-off-by: Enrico Weigelt <info@metux.net>
    Link: https://lore.kernel.org/r/20201202133754.32045-1-info@metux.net
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    metux authored and linusw committed Dec 5, 2020
  3. tools: gpio: add option to report wall-clock time to gpio-event-mon

    Add support for selecting the realtime clock for events.
    
    Signed-off-by: Kent Gibson <warthog618@gmail.com>
    Link: https://lore.kernel.org/r/20201014231158.34117-4-warthog618@gmail.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    warthog618 authored and linusw committed Dec 5, 2020
  4. tools: gpio: add support for reporting realtime event clock to lsgpio

    Add support for reporting if a line is configured to report realtime
    timestamps in events.
    
    Signed-off-by: Kent Gibson <warthog618@gmail.com>
    Link: https://lore.kernel.org/r/20201014231158.34117-3-warthog618@gmail.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    warthog618 authored and linusw committed Dec 5, 2020
  5. gpiolib: cdev: allow edge event timestamps to be configured as REALTIME

    Using CLOCK_REALTIME as the source for event timestamps is crucial for
    some specific applications, particularly those requiring timetamps
    relative to a PTP clock, so provide an option to switch the event
    timestamp source from the default CLOCK_MONOTONIC to CLOCK_REALTIME.
    
    Note that CLOCK_REALTIME was the default source clock for GPIO until
    Linux 5.7 when it was changed to CLOCK_MONOTONIC due to issues with the
    shifting of the realtime clock.
    Providing this option maintains the CLOCK_MONOTONIC as the default,
    while also providing a path forward for those dependent on the pre-5.7
    behaviour.
    
    Suggested-by: Jack Winch <sunt.un.morcov@gmail.com>
    Signed-off-by: Kent Gibson <warthog618@gmail.com>
    Link: https://lore.kernel.org/r/20201014231158.34117-2-warthog618@gmail.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    warthog618 authored and linusw committed Dec 5, 2020
  6. gpio: msc313: MStar MSC313 GPIO driver

    This adds a driver that supports the GPIO block found in
    MStar/SigmaStar ARMv7 SoCs.
    
    The controller seems to have enough register for 128 lines
    but where they are wired up differs between chips and
    no currently known chip uses anywhere near 128 lines so there
    needs to be some per-chip data to collect together what lines
    actually have physical pins attached and map the right names to them.
    
    The core peripherals seem to use the same lines on the
    currently known chips but the lines used for the sensor
    interface, lcd controller etc pins seem to be totally
    different between the infinity and mercury chips
    
    The code tries to collect all of the re-usable names,
    offsets etc together so that it's easy to build the extra
    per-chip data for other chips in the future.
    
    So far this only supports the MSC313 and MSC313E chips.
    
    Support for the SSC8336N (mercury5) is trivial to add once
    all of the lines have been mapped out.
    
    Signed-off-by: Daniel Palmer <daniel@0x0f.com>
    Link: https://lore.kernel.org/r/20201129110803.2461700-4-daniel@0x0f.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    fifteenhex authored and linusw committed Dec 5, 2020
  7. dt-bindings: gpio: Binding for MStar MSC313 GPIO controller

    Add a binding description for the MStar/SigmaStar GPIO controller
    found in the MSC313 and later ARMv7 SoCs.
    
    Signed-off-by: Daniel Palmer <daniel@0x0f.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/20201129110803.2461700-3-daniel@0x0f.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    fifteenhex authored and linusw committed Dec 5, 2020
  8. dt-bindings: gpio: Add a binding header for the MSC313 GPIO driver

    Header adds defines for the gpio number of each pad from the driver view.
    
    The gpio block seems to have enough registers for 128 lines but what line
    is mapped to a physical pin depends on the chip. The gpio block also seems
    to contain some registers that are not related to gpio but needed somewhere
    to go.
    
    Because of the above the driver itself uses the index of a pin's offset in
    an array of the possible offsets for a chip as the gpio number.
    
    Signed-off-by: Daniel Palmer <daniel@0x0f.com>
    Reviewed-by: Rob Herring <robh@kernel.org>
    Link: https://lore.kernel.org/r/20201129110803.2461700-2-daniel@0x0f.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    fifteenhex authored and linusw committed Dec 5, 2020
  9. dt-bindings: gpio: Use Tegra186-specific include guard

    Use a unique include guard for the Tegra186 GPIO DT bindings header to
    avoid clashes with the DT bindings header for earlier chips.
    
    Signed-off-by: Thierry Reding <treding@nvidia.com>
    Link: https://lore.kernel.org/r/20201127140852.123192-2-thierry.reding@gmail.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Thierry Reding authored and linusw committed Dec 5, 2020
  10. Documentation: gpio: fix typo and unclear legacy API section

    The "Interacting With the Legacy GPIO Subsystem" of the documentation
    was unclear at best, and even included a sentence that seems to say the
    opposite of what it should say about the lifetime of the return value of
    the conversion functions.
    
    Try to clarify things a bit and hopefully make that section more
    readable.
    
    Reported-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    BugLink: https://stackoverflow.com/q/64455505/2511795
    Signed-off-by: Alexandre Courbot <gnurou@gmail.com>
    Link: https://lore.kernel.org/r/20201122092548.61979-1-gnurou@gmail.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Gnurou authored and linusw committed Dec 5, 2020

Commits on Dec 4, 2020

  1. gpio: mxs: Remove unused .id_table support

    mxs is a devicetree-only platform and hence it does not make use
    of the id_table mechanism.
    
    Get rid of the .id_table as it is unused.
    
    Signed-off-by: Fabio Estevam <festevam@gmail.com>
    Link: https://lore.kernel.org/r/20201118191938.32693-1-festevam@gmail.com
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    fabioestevam authored and linusw committed Dec 4, 2020
  2. gpio: tegra186: Set affinity callback to parent

    This assigns the .irq_set_affinity to the parent callback.
    I assume the Tegra186 is an SMP system so this would be
    beneficial.
    
    I used the pattern making the hirerarchy tolerant for missing
    parent as in Marc's earlier patch.
    
    Suggested-by: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Cc: Thierry Reding <treding@nvidia.com>
    Cc: Vidya Sagar <vidyas@nvidia.com>
    Link: https://lore.kernel.org/r/20201117213351.249668-2-linus.walleij@linaro.org
    linusw committed Dec 4, 2020
  3. gpio: sifive: Set affinity callback to parent

    This assigns the .irq_set_affinity to the parent callback.
    I assume the sifive GPIO can be used in systems with
    SMP.
    
    I used the pattern making the hirerarchy tolerant for missing
    parent as in Marc's earlier patches.
    
    Suggested-by: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Cc: Yash Shah <yash.shah@sifive.com>
    Cc: Wesley W. Terpstra <wesley@sifive.com>
    Link: https://lore.kernel.org/r/20201117213351.249668-1-linus.walleij@linaro.org
    linusw committed Dec 4, 2020
  4. gpio: sysfs: Enforce character device

    If users select sysfs support they get the character device
    as well so that end-users cannot complain that they
    "only have sysfs on my system". They should have the
    character device at all times.
    
    If someone is in so dire need of stripping out the
    character device while still enabling the sysfs ABI they
    can very well patch the kernel.
    
    Also only show this obsolete option to expert users.
    
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Link: https://lore.kernel.org/r/20201110142724.14760-1-linus.walleij@linaro.org
    linusw committed Dec 4, 2020

Commits on Dec 2, 2020

  1. gpio: mvebu: switch pwm duration registers to regmap

    Commit 2233bf7 ("gpio: mvebu: switch to regmap for register access")
    changed most readl/writel registers access calls to the regmap API in
    preparation for Armada 7K/8K support. PWM duration registers were left using
    readl/writel, as the driver does not support PWM for Armada 7K/8K.
    
    Switch PWM duration registers to regmap as first step in adding Armada 7K/8K
    PWM functionality support.
    
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: Baruch Siach <baruch@tkos.co.il>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    baruchsiach authored and brgl committed Dec 2, 2020
  2. gpio: mvebu: update Armada XP per-CPU comment

    Commit 2233bf7 ("gpio: mvebu: switch to regmap for register access")
    introduced percpu_regs to replace percpu_membase. Update the comment to
    match.
    
    Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
    Fixes: 2233bf7 ("gpio: mvebu: switch to regmap for register access")
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: Baruch Siach <baruch@tkos.co.il>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    baruchsiach authored and brgl committed Dec 2, 2020

Commits on Dec 1, 2020

  1. gpiolib: do not print err message for EPROBE_DEFER

    The gpiochip may have dependencies from pinmux and so got deferred. Now it
    will print error message every time -EPROBE_DEFER is returned which is
    unnecessary:
    
    "gpiochip_add_data_with_key: GPIOs 0..31 (gpio-0-31) failed to register, -517"
    
    Hence, do suppress error message for -EPROBE_DEFER case.
    
    Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    grygoriyS authored and brgl committed Dec 1, 2020
  2. gpio: ath79: Fix fall-through warning for Clang

    In preparation to enable -Wimplicit-fallthrough for Clang, fix a
    warning by explicitly adding a fallthrough pseudo-keyword to indicate
    that the code is intended to fall through to the next case.
    
    Link: KSPP#115
    Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    GustavoARSilva authored and brgl committed Dec 1, 2020
  3. gpiolib: acpi: Fix fall-through warnings for Clang

    In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
    by explicitly adding a break statement instead of letting the code fall
    through to the next case.
    
    Link: KSPP#115
    Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    GustavoARSilva authored and brgl committed Dec 1, 2020

Commits on Nov 30, 2020

  1. gpio: omap: handle deferred probe with dev_err_probe() for gpiochip_a…

    …dd_data()
    
    The gpiochip_add_data() may return -EPROBE_DEFER which is not handled
    properly by TI GPIO driver and causes unnecessary boot log messages.
    
    Hence, add proper deferred probe handling with new dev_err_probe() API.
    
    Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    grygoriyS authored and brgl committed Nov 30, 2020
  2. gpio: xra1403: remove unneeded spi_set_drvdata()

    There is no matching spi_get_drvdata() call in the driver, so there is no
    need to do spi_set_drvdata(). This looks like it probably was copied from a
    driver that used both spi_set_drvdata() & spi_get_drvdata().
    
    Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    commodo authored and brgl committed Nov 30, 2020
Older