21 May, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details you
    should have received a copy of the gnu general public license along
    with this program if not write to the free software foundation inc
    51 franklin street fifth floor boston ma 02110 1301 usa

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option [no]_[pad]_[ctrl] any later version this program is
    distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details you should have received a copy of the gnu general
    public license along with this program if not write to the free
    software foundation inc 51 franklin street fifth floor boston ma
    02110 1301 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 176 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Jilayne Lovejoy
    Reviewed-by: Steve Winslow
    Reviewed-by: Allison Randal
    Reviewed-by: Kate Stewart
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190519154040.652910950@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

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
     

01 Jan, 2017

1 commit

  • The ICOLL controller doesn't provide any facility to configure the
    wakeup sources. That's the reason why this implementation lacks
    the irq_set_wake implementation. But this prevent us from properly
    entering power management states like "suspend to idle".

    So enable the flags IRQCHIP_SKIP_SET_WAKE and
    IRQCHIP_MASK_ON_SUSPEND to let the irqchip core allows and handles
    the power management.

    Signed-off-by: Stefan Wahren
    Reviewed-by: Fabio Estevam
    Link: https://lkml.kernel.org/r/1482863397-11400-1-git-send-email-stefan.wahren@i2se.com
    Signed-off-by: Jason Cooper

    Stefan Wahren
     

10 Mar, 2016

1 commit

  • The of_io_request_and_map() returns a valid pointer in iomem region or
    ERR_PTR(), check for NULL always fails and may cause a NULL pointer
    dereference on error path.

    Fixes: 25e34b44313b ("irqchip/mxs: Prepare driver for hardware with different offsets")
    Signed-off-by: Vladimir Zapolskiy
    Cc: Jason Cooper
    Cc: Marc Zyngier
    Cc: Oleksij Rempel
    Cc: Sascha Hauer
    Cc: Shawn Guo
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/1457486500-10237-1-git-send-email-vz@mleia.com
    Signed-off-by: Thomas Gleixner

    Vladimir Zapolskiy
     

29 Jan, 2016

1 commit

  • The rework of the driver missed to move the call to set_handle_irq() into
    asm9260_of_init(). As a consequence no interrupt entry point is installed and
    no interrupts are delivered

    Solution is simple: Install the interrupt entry handler.

    Fixes: 7e4ac676ee ("irqchip/mxs: Add Alphascale ASM9260 support")
    Signed-off-by: Oleksij Rempel
    Cc: kernel@pengutronix.de
    Cc: jason@lakedaemon.net
    Cc: marc.zyngier@arm.com
    Cc: stable@vger.kernel.org
    Link: http://lkml.kernel.org/r/1454061473-24957-1-git-send-email-linux@rempel-privat.de
    Signed-off-by: Thomas Gleixner

    Oleksij Rempel
     

14 Oct, 2015

3 commits

  • Freescale iMX23/iMX28 and Alphascale ASM9260 have similar interrupt
    collectors. We already prepared the mxs driver to handle a different
    register layout. Add the actual ASM9260 support.

    Differences between these devices:
    - Different register offsets
    - Different count of interupt lines per register
    - ASM9260 does not provide reset bit
    - ASM9260 does not support FIQ.

    Signed-off-by: Oleksij Rempel
    Tested-by: Shawn Guo
    Cc: Sascha Hauer
    Cc: marc.zyngier@arm.com
    Cc: jason@lakedaemon.net
    Link: http://lkml.kernel.org/r/1444677334-12242-6-git-send-email-linux@rempel-privat.de
    Signed-off-by: Thomas Gleixner

    Oleksij Rempel
     
  • Alphascale asm9260 has similar functionality but different register
    offsets. To support asm9260 in the mxs driver we need to rework the
    hardcoded access mechanisms.

    - Define SET_REG and CLR_REG. These controllers support seperate CLR and
    SET offsets for each register.

    - Reimplement HW_ICOLL_INTERRUPT with SET_REG and CLR_REG to make it
    usable for both cases.

    - Instead of using icoll_base and adding the offsets at runtime,
    create a new data structure which contains base pointers to all
    required regitsters and use it.

    - Split out functionality, which is required for the init code of mxs
    and asm9260, into helper functions

    [ tglx: Massaged changelog and moved the return value change to the
    previous patch ]

    Signed-off-by: Oleksij Rempel
    Tested-by: Shawn Guo
    Cc: Sascha Hauer
    Cc: marc.zyngier@arm.com
    Cc: jason@lakedaemon.net
    Link: http://lkml.kernel.org/r/1444677334-12242-5-git-send-email-linux@rempel-privat.de
    Signed-off-by: Thomas Gleixner

    Oleksij Rempel
     
  • Current code will only warn and then dereference the NULL pointer or
    continue, which results in a fatal NULL pointer dereference later.

    If the initialization fails, the machine is unusable, so panic right
    away.

    [ tglx: Massaged changelog and picked the irqdomain panic from the
    next patch]

    Signed-off-by: Oleksij Rempel
    Tested-by: Shawn Guo
    Cc: Sascha Hauer
    Cc: marc.zyngier@arm.com
    Cc: jason@lakedaemon.net
    Link: http://lkml.kernel.org/r/1444677334-12242-2-git-send-email-linux@rempel-privat.de
    Signed-off-by: Thomas Gleixner

    Oleksij Rempel
     

16 Sep, 2015

1 commit

  • set_irq_flags is ARM specific with custom flags which have genirq
    equivalents. Convert drivers to use the genirq interfaces directly, so we
    can kill off set_irq_flags. The translation of flags is as follows:

    IRQF_VALID -> !IRQ_NOREQUEST
    IRQF_PROBE -> !IRQ_NOPROBE
    IRQF_NOAUTOEN -> IRQ_NOAUTOEN

    For IRQs managed by an irqdomain, the irqdomain core code handles clearing
    and setting IRQ_NOREQUEST already, so there is no need to do this in
    .map() functions and we can simply remove the set_irq_flags calls. Some
    users also modify IRQ_NOPROBE and this has been maintained although it
    is not clear that is really needed. There appears to be a great deal of
    blind copy and paste of this code.

    Signed-off-by: Rob Herring
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Russell King
    Cc: Jason Cooper
    Cc: Kukjin Kim
    Cc: Krzysztof Kozlowski
    Cc: Stephen Warren
    Cc: Lee Jones
    Cc: Alexander Shiyan
    Cc: Maxime Ripard
    Cc: linux-rpi-kernel@lists.infradead.org
    Cc: linux-samsung-soc@vger.kernel.org
    Link: http://lkml.kernel.org/r/1440889285-5637-3-git-send-email-robh@kernel.org
    Signed-off-by: Thomas Gleixner

    Rob Herring
     

12 Jul, 2015

1 commit

  • The IRQCHIP_DECLARE macro moved to to 'include/linux/irqchip.h', so
    the local irqchip.h became an empty shell, which solely includes
    include/linux/irqchip.h

    Include the global header in all irqchip drivers instead of the local
    header, so we can remove it.

    Signed-off-by: Joel Porquet
    Cc: vgupta@synopsys.com
    Cc: monstr@monstr.eu
    Cc: ralf@linux-mips.org
    Cc: jason@lakedaemon.net
    Link: http://lkml.kernel.org/r/1882096.X39jVG8e0D@joel-zenbook
    Signed-off-by: Thomas Gleixner

    Joel Porquet
     

05 May, 2015

1 commit

  • The irq_domain_ops are not modified by the driver and the irqdomain core
    code accepts pointer to a const data.

    Signed-off-by: Krzysztof Kozlowski
    Cc: Jason Cooper
    Cc: Kukjin Kim
    Cc: Stephen Warren
    Cc: Lee Jones
    Cc: Matthias Brugger
    Cc: Maxime Ripard
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-rpi-kernel@lists.infradead.org
    Cc: linux-mediatek@lists.infradead.org
    Link: http://lkml.kernel.org/r/1430139264-4362-2-git-send-email-k.kozlowski.k@gmail.com
    Signed-off-by: Thomas Gleixner

    Krzysztof Kozlowski
     

03 Sep, 2014

1 commit


21 May, 2014

1 commit


03 Jun, 2013

1 commit

  • The mxs interrupt controller does not support polling for interrupts,
    but the driver still does it, which is a relict from
    pre-MULTI_IRQ_HANDLER times.

    The existing code assumes that 0x7f means no interrupt, but this value
    is an actually valid irq number, namely gpio bank 0's irq. This results
    in the driver not detecting when irq 0x7f is active which makes the
    machine effectively dead lock.

    This patch removes the interrupt poll loop and allows usage of gpio0
    interrupt without an infinite loop.

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Markus Pargmann
    Cc: stable@vger.kernel.org
    Signed-off-by: Shawn Guo

    Markus Pargmann
     

01 Apr, 2013

1 commit