]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Merge branch 'sh/dynamic-irq-cleanup' into sh-latest
authorPaul Mundt <lethal@linux-sh.org>
Wed, 13 Jun 2012 03:12:41 +0000 (12:12 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 13 Jun 2012 03:12:41 +0000 (12:12 +0900)
Conflicts:
drivers/sh/intc/dynamic.c

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
1  2 
arch/sh/boards/Kconfig
arch/sh/boards/mach-se/7722/setup.c
arch/sh/include/mach-se/mach/se7343.h
arch/sh/include/mach-se/mach/se7722.h

diff --combined arch/sh/boards/Kconfig
index 1f56b35d32481b04de59a7415b0f0abe73b58db0,1a280048e2c3607750c6df4630429b8384f0ba9b..7048c03490d9a06d48cff04ed6821db9a76e08d4
@@@ -44,6 -44,8 +44,8 @@@ config SH_7721_SOLUTION_ENGIN
  config SH_7722_SOLUTION_ENGINE
        bool "SolutionEngine7722"
        select SOLUTION_ENGINE
+       select GENERIC_IRQ_CHIP
+       select IRQ_DOMAIN
        depends on CPU_SUBTYPE_SH7722
        help
          Select 7722 SolutionEngine if configuring for a Hitachi SH772
@@@ -54,7 -56,6 +56,7 @@@ config SH_7724_SOLUTION_ENGIN
        select SOLUTION_ENGINE
        depends on CPU_SUBTYPE_SH7724
        select ARCH_REQUIRE_GPIOLIB
 +      select SND_SOC_AK4642 if SND_SIMPLE_CARD
        help
          Select 7724 SolutionEngine if configuring for a Hitachi SH7724
          evaluation board.
@@@ -80,6 -81,8 +82,8 @@@ config SH_7780_SOLUTION_ENGIN
  config SH_7343_SOLUTION_ENGINE
        bool "SolutionEngine7343"
        select SOLUTION_ENGINE
+       select GENERIC_IRQ_CHIP
+       select IRQ_DOMAIN
        depends on CPU_SUBTYPE_SH7343
        help
          Select 7343 SolutionEngine if configuring for a Hitachi
@@@ -134,8 -137,7 +138,8 @@@ config SH_RTS7751R2
  
  config SH_RSK
        bool "Renesas Starter Kit"
 -      depends on CPU_SUBTYPE_SH7201 || CPU_SUBTYPE_SH7203
 +      depends on CPU_SUBTYPE_SH7201 || CPU_SUBTYPE_SH7203 || \
 +        CPU_SUBTYPE_SH7264 || CPU_SUBTYPE_SH7269
        help
         Select this option if configuring for any of the RSK+ MCU
         evaluation platforms.
@@@ -225,7 -227,6 +229,7 @@@ config SH_ECOVE
        bool "EcoVec"
        depends on CPU_SUBTYPE_SH7724
        select ARCH_REQUIRE_GPIOLIB
 +      select SND_SOC_DA7210 if SND_SIMPLE_CARD
        help
          Renesas "R0P7724LC0011/21RL (EcoVec)" support.
  
@@@ -295,6 -296,7 +299,7 @@@ config SH_X3PROT
        bool "SH-X3 Prototype board"
        depends on CPU_SUBTYPE_SHX3
        select NO_IOPORT if !PCI
+       select IRQ_DOMAIN
  
  config SH_MAGIC_PANEL_R2
        bool "Magic Panel R2"
@@@ -341,6 -343,8 +346,6 @@@ config SH_APSH4AD0
        help
          Select AP-SH4AD-0A if configuring for an ALPHAPROJECT AP-SH4AD-0A.
  
 -endmenu
 -
  source "arch/sh/boards/mach-r2d/Kconfig"
  source "arch/sh/boards/mach-highlander/Kconfig"
  source "arch/sh/boards/mach-sdk7780/Kconfig"
@@@ -360,5 -364,3 +365,5 @@@ config SH_MAGIC_PANEL_R2_VERSIO
  endmenu
  
  endif
 +
 +endmenu
index 8f7f0550cfded7dcc2751db7e63e933d353bd510,2ec0111fdf9b5854a13dbb12860d36a6f4d99806..e04e2bc4698481374b2e6c16f9580d70021e9382
@@@ -2,6 -2,7 +2,7 @@@
   * linux/arch/sh/boards/se/7722/setup.c
   *
   * Copyright (C) 2007 Nobuhiro Iwamatsu
+  * Copyright (C) 2012 Paul Mundt
   *
   * Hitachi UL SolutionEngine 7722 Support.
   *
@@@ -15,8 -16,8 +16,9 @@@
  #include <linux/ata_platform.h>
  #include <linux/input.h>
  #include <linux/input/sh_keysc.h>
+ #include <linux/irqdomain.h>
  #include <linux/smc91x.h>
 +#include <linux/sh_intc.h>
  #include <mach-se/mach/se7722.h>
  #include <mach-se/mach/mrshpc.h>
  #include <asm/machvec.h>
@@@ -115,7 -116,7 +117,7 @@@ static struct resource sh_keysc_resourc
                .flags  = IORESOURCE_MEM,
        },
        [1] = {
 -              .start  = 79,
 +              .start  = evt2irq(0xbe0),
                .flags  = IORESOURCE_IRQ,
        },
  };
@@@ -143,10 -144,10 +145,10 @@@ static int __init se7722_devices_setup(
  
        /* Wire-up dynamic vectors */
        cf_ide_resources[2].start = cf_ide_resources[2].end =
-               se7722_fpga_irq[SE7722_FPGA_IRQ_MRSHPC0];
+               irq_find_mapping(se7722_irq_domain, SE7722_FPGA_IRQ_MRSHPC0);
  
        smc91x_eth_resources[1].start = smc91x_eth_resources[1].end =
-               se7722_fpga_irq[SE7722_FPGA_IRQ_SMC];
+               irq_find_mapping(se7722_irq_domain, SE7722_FPGA_IRQ_SMC);
  
        return platform_add_devices(se7722_devices, ARRAY_SIZE(se7722_devices));
  }
index 50b5d575dff090ccf0b081e3ab4b41fb98cd976c,2ec6f75a44de7e940e3409db1fe002ce85bce8a1..542521c970c6ef4a0deee858c57c664c2155bd6d
@@@ -8,7 -8,6 +8,7 @@@
   *
   * SH-Mobile SolutionEngine 7343 support
   */
 +#include <linux/sh_intc.h>
  
  /* Box specific addresses.  */
  
@@@ -50,9 -49,6 +50,6 @@@
  #define PA_LED                0xb0C00000      /* LED */
  #define LED_SHIFT       0
  #define PA_DIPSW      0xb0900000      /* Dip switch 31 */
- #define PA_CPLD_MODESET       0xb1400004      /* CPLD Mode set register */
- #define PA_CPLD_ST    0xb1400008      /* CPLD Interrupt status register */
- #define PA_CPLD_IMSK  0xb140000a      /* CPLD Interrupt mask register */
  /* Area 5 */
  #define PA_EXT5               0x14000000
  #define PA_EXT5_SIZE  0x04000000
  #define FPGA_IN               0xb1400000
  #define FPGA_OUT      0xb1400002
  
 -#define IRQ0_IRQ        32
 -#define IRQ1_IRQ        33
 -#define IRQ4_IRQ        36
 -#define IRQ5_IRQ        37
 +#define IRQ0_IRQ        evt2irq(0x600)
 +#define IRQ1_IRQ        evt2irq(0x620)
 +#define IRQ4_IRQ        evt2irq(0x680)
 +#define IRQ5_IRQ        evt2irq(0x6a0)
  
  #define SE7343_FPGA_IRQ_MRSHPC0       0
  #define SE7343_FPGA_IRQ_MRSHPC1       1
  
  #define SE7343_FPGA_IRQ_NR    12
  
+ struct irq_domain;
  /* arch/sh/boards/se/7343/irq.c */
- extern unsigned int se7343_fpga_irq[];
+ extern struct irq_domain *se7343_irq_domain;
  
  void init_7343se_IRQ(void);
  
index 201081ebdbce7f8ef881a591d23029f93777739e,5508dc42e4d29f4816839cc96a77fc7e2872cb64..637e7ac753f84c8187d7ef1800d673cd3050f071
@@@ -13,7 -13,6 +13,7 @@@
   * for more details.
   *
   */
 +#include <linux/sh_intc.h>
  #include <asm/addrspace.h>
  
  /* Box specific addresses.  */
@@@ -32,7 -31,7 +32,7 @@@
  
  #define PA_PERIPHERAL 0xB0000000
  
 -#define PA_PCIC         PA_PERIPHERAL                 /* MR-SHPC-01 PCMCIA */
 +#define PA_PCIC         PA_PERIPHERAL         /* MR-SHPC-01 PCMCIA */
  #define PA_MRSHPC       (PA_PERIPHERAL + 0x003fffe0)    /* MR-SHPC-01 PCMCIA controller */
  #define PA_MRSHPC_MW1   (PA_PERIPHERAL + 0x00400000)    /* MR-SHPC-01 memory window base */
  #define PA_MRSHPC_MW2   (PA_PERIPHERAL + 0x00500000)    /* MR-SHPC-01 attribute window base */
@@@ -52,7 -51,7 +52,7 @@@
  #define MRSHPC_PCIC_INFO (PA_MRSHPC + 30)
  
  #define PA_LED                (PA_PERIPHERAL + 0x00800000)    /* 8bit LED */
 -#define PA_FPGA               (PA_PERIPHERAL + 0x01800000)    /* FPGA base address */
 +#define PA_FPGA               (PA_PERIPHERAL + 0x01800000)    /* FPGA base address */
  
  #define PA_LAN                (PA_AREA6_IO + 0)               /* SMC LAN91C111 */
  /* GPIO */
  #define PORT_HIZCRC     0xA405015CUL
  
  /* IRQ */
 -#define IRQ0_IRQ        32
 -#define IRQ1_IRQ        33
 +#define IRQ0_IRQ        evt2irq(0x600)
 +#define IRQ1_IRQ        evt2irq(0x620)
  
- #define IRQ01_MODE      0xb1800000
- #define IRQ01_STS       0xb1800004
- #define IRQ01_MASK      0xb1800008
- /* Bits in IRQ01_* registers */
  #define SE7722_FPGA_IRQ_USB   0 /* IRQ0 */
  #define SE7722_FPGA_IRQ_SMC   1 /* IRQ0 */
  #define SE7722_FPGA_IRQ_MRSHPC0       2 /* IRQ1 */
  #define SE7722_FPGA_IRQ_MRSHPC3       5 /* IRQ1 */
  #define SE7722_FPGA_IRQ_NR    6
  
+ struct irq_domain;
  /* arch/sh/boards/se/7722/irq.c */
- extern unsigned int se7722_fpga_irq[];
+ extern struct irq_domain *se7722_irq_domain;
  
  void init_se7722_IRQ(void);