1. 01 Oct, 2015 2 commits
  2. 26 Mar, 2015 1 commit
  3. 20 May, 2014 1 commit
  4. 12 Mar, 2014 1 commit
  5. 06 Mar, 2014 1 commit
  6. 10 Jan, 2013 1 commit
    • Thomas Petazzoni's avatar
      irqchip: add basic infrastructure · f6e916b8
      Thomas Petazzoni authored
      With the recent creation of the drivers/irqchip/ directory, it is
      desirable to move irq controller drivers here. At the moment, the only
      driver here is irq-bcm2835, the driver for the irq controller found in
      the ARM BCM2835 SoC, present in Rasberry Pi systems. This irq
      controller driver was exporting its initialization function and its
      irq handling function through a header file in
      <linux/irqchip/bcm2835.h>.
      
      When proposing to also move another irq controller driver in
      drivers/irqchip, Rob Herring raised the very valid point that moving
      things to drivers/irqchip was good in order to remove more stuff from
      arch/arm, but if it means adding gazillions of headers files in
      include/linux/irqchip/, it would not be very nice.
      
      So, upon the suggestion of Rob Herring and Arnd Bergmann, this commit
      introduces a small infrastructure that defines a central
      irqchip_init() function in drivers/irqchip/irqchip.c, which is meant
      to be called as the ->init_irq() callback of ARM platforms. This
      function calls of_irq_init() with an array of match strings and init
      functions generated from a special linker section.
      
      Note that the irq controller driver initialization function is
      responsible for setting the global handle_arch_irq() variable, so that
      ARM platforms no longer have to define the ->handle_irq field in their
      DT_MACHINE structure.
      
      A global header, <linux/irqchip.h> is also added to expose the single
      irqchip_init() function to the reset of the kernel.
      
      A further commit moves the BCM2835 irq controller driver to this new
      small infrastructure, therefore removing the include/linux/irqchip/
      directory.
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Reviewed-by: default avatarStephen Warren <swarren@wwwdotorg.org>
      Reviewed-by: default avatarRob Herring <rob.herring@calxeda.com>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      [rob.herring: reword commit message to reflect use of linker sections.]
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      f6e916b8