1. 14 10月, 2015 1 次提交
  2. 16 9月, 2015 2 次提交
    • R
      irqchip: Kill off set_irq_flags usage · d17cab44
      Rob Herring 提交于
      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: NRob Herring <robh@kernel.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Lee Jones <lee@kernel.org>
      Cc: Alexander Shiyan <shc_work@mail.ru>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      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.orgSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      d17cab44
    • T
      genirq: Remove irq argument from irq flow handlers · bd0b9ac4
      Thomas Gleixner 提交于
      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: NThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      bd0b9ac4
  3. 17 7月, 2015 1 次提交
  4. 12 7月, 2015 1 次提交
  5. 05 5月, 2015 1 次提交
  6. 03 9月, 2014 1 次提交
  7. 21 5月, 2014 1 次提交
  8. 29 4月, 2013 1 次提交
    • A
      irqchip: s3c24xx: add missing __init annotations · bc8fd900
      Arnd Bergmann 提交于
      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: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NHeiko Stuebner <heiko@sntech.de>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      bc8fd900
  9. 04 4月, 2013 7 次提交
  10. 27 3月, 2013 1 次提交
  11. 07 3月, 2013 5 次提交
    • H
      ARM: S3C24XX: add handle_irq function · 17453dd2
      Heiko Stuebner 提交于
      This removes the dependency on static irq mappings for basic irq handling
      and makes the s3c24xx entry-macro.S obsolete.
      
      Also the interrupts of the second full interrupt controller on the s3c2416
      are really handled now, which was forgotten when adding them.
      
      The handling itself does the same as the previous assembler-code in that
      it tries to get the interrupt offset from the offset register first and
      if that produces wrong results manually searches for the interrupt bit
      in the pending register value. It also saves the historic comment which
      explains the reason behind this.
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      17453dd2
    • H
      ARM: S3C24XX: make s3c24xx_init_intc static · 3d3eb5a4
      Heiko Stuebner 提交于
      It's not used anywhere else.
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      3d3eb5a4
    • H
      ARM: S3C24XX: move s3c24xx_init_irq to s3c2410_init_irq · f182aa1d
      Heiko Stuebner 提交于
      The s3c24xx_init_irq function that was the base for all irq inits
      is now only used to initialize the real s3c2410 irqs.
      
      Therefore rename it and also move its declaration from plat/cpu.h
      to common.h
      
      The eint declaration is used by the vast majority of the SoCs and
      gets therefore placed outside any ifdefs.
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      f182aa1d
    • H
      ARM: S3C24XX: fix irq parent check · 0fe3cb1e
      Heiko Stuebner 提交于
      The current parent_irq check checks for a value != 0. This does of course
      not work when the parent irq sits in the bit 0 of the parent register.
      This only affects the eint0 interrupt of the s3c2412.
      
      To fix this behaviour, check for the presence of a parent_intc in the
      structure. In an s3c24xx interrupt controller either all interrupts have
      parent interrupts or none have, so if a parent controller is available
      the parent_irq value always points to a parent_irq.
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      0fe3cb1e
    • H
      ARM: S3C24XX: fix redundant checks in the irq mapping function · 502a2989
      Heiko Stuebner 提交于
      The check during the parent handling itself was wrong, as it should have
      checked for parent_irq_data.
      
      The interrupt controller structs always contain an irq_data array with 32
      entries and the only possible error could be a parent_irq assignment of >31.
      
      As this would point to outside the irq_data array this could contain
      anything including non-NULL values. Therefore correct this to check
      the parent_irq value to be in the right range.
      
      With the same explanation of a valid interrupt controller always having a
      full irq_data array, the topmost irq_data check in s3c24xx_irq_map
      can also go away.
      
      Finally the mapping function is only called thru the irq_domain ops, in
      which case the intc struct is already successfully created, so there is
      no need to check for it again.
      Reported-by: NJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      502a2989
  12. 05 3月, 2013 12 次提交
  13. 04 2月, 2013 6 次提交