diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-12 16:00:54 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-12 16:00:54 -0800 | 
| commit | dca1d9f6d7ae428c193f32bd3e9a4ca13176648b (patch) | |
| tree | 02de8c3503c1c811754423d2fa3f3b4978044f6e /drivers/pcmcia | |
| parent | 9ff99339447de403a46be5e3f23d0c794d540b06 (diff) | |
| parent | 91e013827c0bcbb187ecf02213c5446b6f62d445 (diff) | |
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (370 commits)
  ARM: S3C2443: Add set_rate and round_rate calls for armdiv clock
  ARM: S3C2443: Remove #if 0 for clk_mpll
  ARM: S3C2443: Update notes on MPLLREF clock
  ARM: S3C2443: Further clksrc-clk conversions
  ARM: S3C2443: Change to using plat-samsung clksrc-clk implementation
  USB: Fix s3c-hsotg build following Samsung platform header moves
  ARM: S3C64XX: Reintroduce unconditional build of audio device
  ARM: 5961/1: ux500: fix CLKRST addresses
  ARM: 5977/1: arm: Enable backtrace printing on oops when PC is corrupted
  ASoC: Fix S3C64xx IIS driver for Samsung header reorg
  ARM: S3C2440: Fix plat-s3c24xx move of s3c2440/s3c2442 support
  [ARM] pxa: fix typo in mxm8x10.h
  [ARM] pxa/raumfeld: set GPIO drive bits for LED pins
  [ARM] pxa/zeus: Add support for mcp2515 CAN bus
  [ARM] pxa/zeus: Add support for onboard max6369 watchdog
  [ARM] pxa/zeus: Add Eurotech as the manufacturer
  [ARM] pxa/zeus: Correct the USB host initialisation flags
  [ARM] pxa/zeus: Allow usage of 8250-compatible UART in uncompress
  [ARM] pxa: refactor uncompress.h for non-PXA uarts
  [ARM] mmp2: fix incorrect calling of chip->mask_ack() for 2nd level cascaded IRQs
  ...
Diffstat (limited to 'drivers/pcmcia')
| -rw-r--r-- | drivers/pcmcia/sa1111_generic.c | 25 | 
1 files changed, 20 insertions, 5 deletions
| diff --git a/drivers/pcmcia/sa1111_generic.c b/drivers/pcmcia/sa1111_generic.c index de6bc333d299..db79ca61cf96 100644 --- a/drivers/pcmcia/sa1111_generic.c +++ b/drivers/pcmcia/sa1111_generic.c @@ -21,11 +21,18 @@  #include "sa1111_generic.h" +#define IDX_IRQ_S0_READY_NINT	(0) +#define IDX_IRQ_S0_CD_VALID	(1) +#define IDX_IRQ_S0_BVD1_STSCHG	(2) +#define IDX_IRQ_S1_READY_NINT	(3) +#define IDX_IRQ_S1_CD_VALID	(4) +#define IDX_IRQ_S1_BVD1_STSCHG	(5) +  static struct pcmcia_irqs irqs[] = { -	{ 0, IRQ_S0_CD_VALID,    "SA1111 PCMCIA card detect" }, -	{ 0, IRQ_S0_BVD1_STSCHG, "SA1111 PCMCIA BVD1"        }, -	{ 1, IRQ_S1_CD_VALID,    "SA1111 CF card detect"     }, -	{ 1, IRQ_S1_BVD1_STSCHG, "SA1111 CF BVD1"            }, +	{ 0, NO_IRQ, "SA1111 PCMCIA card detect" }, +	{ 0, NO_IRQ, "SA1111 PCMCIA BVD1"        }, +	{ 1, NO_IRQ, "SA1111 CF card detect"     }, +	{ 1, NO_IRQ, "SA1111 CF BVD1"            },  };  static int sa1111_pcmcia_hw_init(struct soc_pcmcia_socket *skt) @@ -136,7 +143,9 @@ int sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,  		s->soc.ops = ops;  		s->soc.socket.owner = ops->owner;  		s->soc.socket.dev.parent = &dev->dev; -		s->soc.socket.pci_irq = s->soc.nr ? IRQ_S1_READY_NINT : IRQ_S0_READY_NINT; +		s->soc.socket.pci_irq = s->soc.nr ? +				dev->irq[IDX_IRQ_S0_READY_NINT] : +				dev->irq[IDX_IRQ_S1_READY_NINT];  		s->dev = dev;  		ret = add(&s->soc); @@ -162,6 +171,12 @@ static int pcmcia_probe(struct sa1111_dev *dev)  	base = dev->mapbase; +	/* Initialize PCMCIA IRQs */ +	irqs[0].irq = dev->irq[IDX_IRQ_S0_CD_VALID]; +	irqs[1].irq = dev->irq[IDX_IRQ_S0_BVD1_STSCHG]; +	irqs[2].irq = dev->irq[IDX_IRQ_S1_CD_VALID]; +	irqs[3].irq = dev->irq[IDX_IRQ_S1_BVD1_STSCHG]; +  	/*  	 * Initialise the suspend state.  	 */ | 
