1. 04 4月, 2013 5 次提交
  2. 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
  3. 05 3月, 2013 12 次提交
  4. 04 2月, 2013 8 次提交
  5. 30 1月, 2013 1 次提交
    • H
      ARM: S3C24XX: transform irq handling into a declarative form · 1f629b7a
      Heiko Stuebner 提交于
      The irqs available on the machine and even the bit settings in the
      irq registers differ a lot through all the s3c24xx subarchitectures.
      This results in each subarch having its own irq init which adds its
      specific irqs to the base ones created in plat-s3c24xx/irq.c.
      
      This of course makes a future move to devicetree hard to implement.
      
      Therefore this patch transforms the base irq handling to a declarative
      style, where the irq types as well as its parent/child relationship
      gets read from a predefined datastructure, which later on can hopefully
      be easily represented in devicetree too.
      
      It should also be easy to include the subarch specific irqs here
      in later patches, reducing code size and duplication.
      
      It should not affect anything outside of the file, as the original
      irq numbers and their handling are preserved (hopefully) correctly.
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      1f629b7a
  6. 01 7月, 2012 1 次提交
    • S
      ARM: fiq: change FIQ_START to a variable · bc89663a
      Shawn Guo 提交于
      The commit a2be01b1 (ARM: only include mach/irqs.h for !SPARSE_IRQ)
      makes mach/irqs.h only be included for !SPARSE_IRQ build.  There are
      a nubmer of platforms have FIQ_START defined in mach/irqs.h for FIQ
      support.
      
        arch/arm/mach-rpc/include/mach/irqs.h:#define FIQ_START         64
        arch/arm/mach-s3c24xx/include/mach/irqs.h:#define FIQ_START             IRQ_EINT0
        arch/arm/plat-mxc/include/mach/irqs.h:#define FIQ_START 0
      
      If SPARSE_IRQ is enabled for any of these platforms, the following
      compile error will be seen.
      
        arch/arm/kernel/fiq.c: In function ‘enable_fiq’:
        arch/arm/kernel/fiq.c:127:19: error: ‘FIQ_START’ undeclared (first use in this function)
        arch/arm/kernel/fiq.c:127:19: note: each undeclared identifier is reported only once for each function it appears in
        arch/arm/kernel/fiq.c: In function ‘disable_fiq’:
        arch/arm/kernel/fiq.c:132:20: error: ‘FIQ_START’ undeclared (first use in this function)
      
      The patch changes fiq code to have init_FIQ take FIQ_START from
      platforms as a parameter and assign it to variable fiq_start which
      is to replace FIQ_START uses in enable_fiq/disable_fiq.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      bc89663a
  7. 22 12月, 2011 1 次提交
    • K
      driver-core: remove sysdev.h usage. · edbaa603
      Kay Sievers 提交于
      The sysdev.h file should not be needed by any in-kernel code, so remove
      the .h file from these random files that seem to still want to include
      it.
      
      The sysdev code will be going away soon, so this include needs to be
      removed no matter what.
      
      Cc: Jiandong Zheng <jdzheng@broadcom.com>
      Cc: Scott Branden <sbranden@broadcom.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: David Brown <davidb@codeaurora.org>
      Cc: Daniel Walker <dwalker@fifo99.com>
      Cc: Bryan Huntsman <bryanh@codeaurora.org>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Wan ZongShun <mcuos.com@gmail.com>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Cc: "Venkatesh Pallipadi
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Matthew Garrett <mjg@redhat.com>
      Signed-off-by: NKay Sievers <kay.sievers@vrfy.org>
      edbaa603
  8. 04 6月, 2011 1 次提交
  9. 29 3月, 2011 2 次提交
  10. 03 1月, 2011 1 次提交
  11. 30 12月, 2010 1 次提交
  12. 08 12月, 2009 1 次提交
  13. 01 12月, 2009 1 次提交