24 Jun, 2016

1 commit

  • Instead of using the __raw accessors, use the _relaxed versions
    to deal with any issues due to endian-ness of the CPU.

    Signed-off-by: Ben Dooks
    [jac: reformat subject line, fix commit message typo]
    Link: https://lkml.kernel.org/r/1466504432-24187-10-git-send-email-ben.dooks@codethink.co.uk
    Signed-off-by: Jason Cooper

    Ben Dooks
     

26 Jan, 2016

1 commit

  • The init_eint array in the s3c24xx irqchip driver is used by
    every individual chip variant, but Kconfig allows building
    the driver when they are all disabled, and that leads to
    a harmless compile-time warning:

    drivers/irqchip/irq-s3c24xx.c:608:28: error: 'init_eint' defined but not used [-Werror=unused-variable]

    This marks the array as __maybe_unused to avoid the warning.

    Signed-off-by: Arnd Bergmann
    Acked-by: Marc Zyngier
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Jason Cooper
    Link: http://lkml.kernel.org/r/1453737499-1960073-1-git-send-email-arnd@arndb.de
    Signed-off-by: Thomas Gleixner

    Arnd Bergmann
     

14 Oct, 2015

1 commit

  • The struct irq_domain contains a "struct device_node *" field
    (of_node) that is almost the only link between the irqdomain
    and the device tree infrastructure.

    In order to prepare for the removal of that field, convert all
    users to use irq_domain_get_of_node() instead.

    Signed-off-by: Marc Zyngier
    Reviewed-and-tested-by: Hanjun Guo
    Tested-by: Lorenzo Pieralisi
    Cc:
    Cc: Tomasz Nowicki
    Cc: Suravee Suthikulpanit
    Cc: Graeme Gregory
    Cc: Jake Oshins
    Cc: Jiang Liu
    Cc: Jason Cooper
    Cc: Rafael J. Wysocki
    Link: http://lkml.kernel.org/r/1444737105-31573-2-git-send-email-marc.zyngier@arm.com
    Signed-off-by: Thomas Gleixner

    Marc Zyngier
     

16 Sep, 2015

2 commits

  • 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
     
  • Most interrupt flow handlers do not use the irq argument. Those few
    which use it can retrieve the irq number from the irq descriptor.

    Remove the argument.

    Search and replace was done with coccinelle and some extra helper
    scripts around it. Thanks to Julia for her help!

    Signed-off-by: Thomas Gleixner
    Cc: Julia Lawall
    Cc: Jiang Liu

    Thomas Gleixner
     

17 Jul, 2015

1 commit


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


05 May, 2013

1 commit

  • Pull ARM SoC driver changes from Olof Johansson:
    "This is a rather large set of patches for device drivers that for one
    reason or another the subsystem maintainer preferred to get merged
    through the arm-soc tree. There are both new drivers as well as
    existing drivers that are getting converted from platform-specific
    code into standalone drivers using the appropriate subsystem specific
    interfaces.

    In particular, we can now have pinctrl, clk, clksource and irqchip
    drivers in one file per driver, without the need to call into platform
    specific interface, or to get called from platform specific code, as
    long as all information about the hardware is provided through a
    device tree.

    Most of the drivers we touch this time are for clocksource. Since now
    most of them are part of drivers/clocksource, I expect that we won't
    have to touch these again from arm-soc and can let the clocksource
    maintainers take care of these in the future.

    Another larger part of this series is specific to the exynos platform,
    which is seeing some significant effort in upstreaming and
    modernization of its device drivers this time around, which
    unfortunately is also the cause for the churn and a lot of the merge
    conflicts.

    There is one new subsystem that gets merged as part of this series:
    the reset controller interface, which is a very simple interface for
    taking devices on the SoC out of reset or back into reset. Patches to
    use this interface on i.MX follow later in this merge window, and we
    are going to have other platforms (at least tegra and sirf) get
    converted in 3.11. This will let us get rid of platform specific
    callbacks in a number of platform independent device drivers."

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (256 commits)
    irqchip: s3c24xx: add missing __init annotations
    ARM: dts: Disable the RTC by default on exynos5
    clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}
    ARM: exynos: restore mach/regs-clock.h for exynos5
    clocksource: exynos_mct: fix build error on non-DT
    pinctrl: vt8500: wmt: Fix checking return value of pinctrl_register()
    irqchip: vt8500: Convert arch-vt8500 to new irqchip infrastructure
    reset: NULL deref on allocation failure
    reset: Add reset controller API
    dt: describe base reset signal binding
    ARM: EXYNOS: Add arm-pmu DT binding for exynos421x
    ARM: EXYNOS: Add arm-pmu DT binding for exynos5250
    ARM: EXYNOS: Enable PMUs for exynos4
    irqchip: exynos-combiner: Correct combined IRQs for exynos4
    irqchip: exynos-combiner: Add set_irq_affinity function for combiner_irq
    ARM: EXYNOS: fix compilation error introduced due to common clock migration
    clk: exynos5250: Fix divider values for sclk_mmc{0,1,2,3}
    clk: exynos4: export clocks required for fimc-is
    clk: samsung: Fix compilation error
    clk: tegra: fix enum tegra114_clk to match binding
    ...

    Linus Torvalds
     

29 Apr, 2013

1 commit

  • The s3c24xx_init_intc and s3c2412_init_irq functions are only called
    at init time, and they call functions already marked __init, so they
    should be marked in the same way. This was reported as

    WARNING: vmlinux.o(.text+0x19e0b4): Section mismatch in reference from the function s3c2412_init_irq() to the function .init.text:s3c24xx_init_intc.constprop.8()
    The function s3c2412_init_irq() references
    the function __init s3c24xx_init_intc.constprop.8().
    This is often because s3c2412_init_irq lacks a __init
    annotation or the annotation of s3c24xx_init_intc.constprop.8 is wrong.

    Signed-off-by: Arnd Bergmann
    Acked-by: Heiko Stuebner
    Cc: Kukjin Kim

    Arnd Bergmann
     

04 Apr, 2013

7 commits