29 Apr, 2019

1 commit

  • This irqchip driver uses the hwspinlock framework (coprocessor HW regs
    access concurrency) for the stm32mp1-exti device.
    Hence, this driver needs to handle the hwspinlock driver dependency
    using the deferred probe mechanism which requires to move this driver
    into a platform one with a probe() ops.
    This applies only for the device which is "st,stm32mp1-exti" compatible,
    the management of the other devices (st,stm32h7-exti / st,stm32-exti) is
    kept unchanged (use IRQCHIP_DECLARE)

    Signed-off-by: Fabien Dessenne
    Signed-off-by: Marc Zyngier

    Fabien Dessenne
     

21 Mar, 2019

3 commits


18 Jan, 2019

1 commit


18 Dec, 2018

1 commit

  • If a hwspinlock is defined in device tree use it to protect
    configuration registers.

    Do not request for hwspinlock during the exti driver init since the
    hwspinlock driver is not probed yet at that stage and the exti driver
    does not support deferred probe.
    Instead of this, postpone the hwspinlock request at the first time the
    hwspinlock is actually needed.

    Use the hwspin_trylock_raw() API which is the most appropriated here
    Indeed:
    - hwspin_lock_() calls are under spin_lock protection (chip_data->rlock
    or gc->lock).
    - the _timeout() API relies on jiffies count which won't work if IRQs
    are disabled which is the case here (a large part of the IRQ setup is
    done atomically (see irq/manage.c))
    As a consequence implement the retry/timeout lock from here. And since
    all of this is done atomically, reduce the timeout delay to 1 ms.

    Signed-off-by: Benjamin Gaignard
    Signed-off-by: Fabien Dessenne
    Signed-off-by: Marc Zyngier

    Benjamin Gaignard
     

13 Dec, 2018

1 commit


24 Aug, 2018

1 commit


13 Aug, 2018

1 commit

  • If there are any errors in stm32_exti_host_init() then it leads to a
    NULL dereference in the callers. The function should clean up after
    itself.

    Fixes: f9fc1745501e ("irqchip/stm32: Add host and driver data structures")
    Reviewed-by: Ludovic Barre
    Signed-off-by: Dan Carpenter
    Signed-off-by: Marc Zyngier

    Dan Carpenter
     

19 Jul, 2018

1 commit


06 Jun, 2018

1 commit

  • A CONFIG_SMP=n build emits a harmless compile-time warning:

    drivers/irqchip/irq-stm32-exti.c:495:12: error: 'stm32_exti_h_set_affinity' defined but not used [-Werror=unused-function]

    The #ifdef is inconsistent here, and it's better to use an IS_ENABLED() check
    that lets the compiler silently drop that function.

    Fixes: 927abfc4461e ("irqchip/stm32: Add stm32mp1 support with hierarchy domain")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Thomas Gleixner
    Reviewed-by: Ludovic Barre
    Cc: Rob Herring
    Cc: Benjamin Gaignard
    Cc: Radoslaw Pietrzyk
    Cc: Jason Cooper
    Cc: Marc Zyngier
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Maxime Coquelin
    Cc: Alexandre Torgue
    Link: https://lkml.kernel.org/r/20180605114347.1347128-1-arnd@arndb.de

    Arnd Bergmann
     

24 May, 2018

8 commits


29 Jan, 2018

1 commit

  • Uniformize STMicroelectronics copyrights header and add SPDX identifier

    CC: Maxime Coquelin
    Signed-off-by: Benjamin Gaignard
    Signed-off-by: Thomas Gleixner
    Acked-by: Alexandre TORGUE
    Acked-by: Maxime Coquelin
    Cc: jason@lakedaemon.net
    Cc: marc.zyngier@arm.com
    Cc: linux-arm-kernel@lists.infradead.org
    Link: https://lkml.kernel.org/r/20171130084500.23439-1-benjamin.gaignard@st.com

    Benjamin Gaignard
     

07 Nov, 2017

4 commits


23 Aug, 2017

1 commit

  • Now that we have a custom printf format specifier, convert users of
    full_name to use %pOF instead. This is preparation to remove storing
    of the full path string for each node.

    Cc: Thomas Gleixner
    Cc: Jason Cooper
    Cc: Lee Jones
    Cc: Stefan Wahren
    Cc: Florian Fainelli
    Cc: Ray Jui
    Cc: Scott Branden
    Cc: bcm-kernel-feedback-list@broadcom.com
    Cc: Sylvain Lemieux
    Cc: Maxime Coquelin
    Cc: Chen-Yu Tsai
    Cc: Thierry Reding
    Cc: Jonathan Hunter
    Cc: Michal Simek
    Cc: "Sören Brinkmann"
    Cc: linux-rpi-kernel@lists.infradead.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-mediatek@lists.infradead.org
    Cc: linux-tegra@vger.kernel.org
    Acked-by: Eric Anholt
    Acked-by: Baruch Siach
    Acked-by: Vladimir Zapolskiy
    Acked-by: Matthias Brugger
    Acked-by: Alexandre Torgue
    Acked-by: Maxime Ripard
    Signed-off-by: Rob Herring
    Signed-off-by: Marc Zyngier

    Rob Herring
     

21 Sep, 2016

1 commit

  • The STM32 external interrupt controller consists of edge detectors that
    generate interrupts requests or wake-up events.

    Each line can be independently configured as interrupt or wake-up source,
    and triggers either on rising, falling or both edges. Each line can also
    be masked independently.

    Originally-from: Maxime Coquelin
    Signed-off-by: Alexandre TORGUE
    Cc: Mark Rutland
    Cc: devicetree@vger.kernel.org
    Cc: Daniel Thompson
    Cc: Jason Cooper
    Cc: arnd@arndb.de
    Cc: Marc Zyngier
    Cc: bruherrera@gmail.com
    Cc: Linus Walleij
    Cc: linux-gpio@vger.kernel.org
    Cc: Rob Herring
    Cc: lee.jones@linaro.org
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1474387259-18926-3-git-send-email-alexandre.torgue@st.com
    Signed-off-by: Thomas Gleixner

    Alexandre TORGUE