Skip to content

Commit ec2c082

Browse files
committed
ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ
Remove hardcoded IRQs in irqs.h and related files as these are no longer needed. Reviewed-by: Felipe Balbi <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
1 parent 7d7e1eb commit ec2c082

File tree

9 files changed

+10
-330
lines changed

9 files changed

+10
-330
lines changed

arch/arm/mach-omap2/common.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,13 @@
2626
#define __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H
2727
#ifndef __ASSEMBLER__
2828

29+
#include <linux/irq.h>
2930
#include <linux/delay.h>
3031
#include <linux/i2c/twl.h>
3132
#include <plat/common.h>
3233
#include <asm/proc-fns.h>
3334

34-
#define OMAP_INTC_START 0
35+
#define OMAP_INTC_START NR_IRQS
3536

3637
#ifdef CONFIG_SOC_OMAP2420
3738
extern void omap242x_map_common_io(void);
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
/*
22
* arch/arm/mach-omap2/include/mach/irqs.h
33
*/
4-
5-
#include <plat/irqs.h>

arch/arm/plat-omap/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ config ARCH_OMAP2PLUS
2525
bool "TI OMAP2/3/4"
2626
select CLKDEV_LOOKUP
2727
select GENERIC_IRQ_CHIP
28+
select SPARSE_IRQ
2829
select OMAP_DM_TIMER
2930
select USE_OF
3031
select PROC_DEVICETREE if PROC_FS

arch/arm/plat-omap/include/plat/irqs-44xx.h

Lines changed: 0 additions & 144 deletions
This file was deleted.

arch/arm/plat-omap/include/plat/irqs.h

Lines changed: 1 addition & 182 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@
2828
#ifndef __ASM_ARCH_OMAP15XX_IRQS_H
2929
#define __ASM_ARCH_OMAP15XX_IRQS_H
3030

31-
/* All OMAP4 specific defines are moved to irqs-44xx.h */
32-
#include "irqs-44xx.h"
33-
3431
/*
3532
* IRQ numbers for interrupt handler 1
3633
*
@@ -242,125 +239,6 @@
242239
#define INT_7XX_DMA_CH15 (62 + IH2_BASE)
243240
#define INT_7XX_NAND (63 + IH2_BASE)
244241

245-
#define INT_24XX_SYS_NIRQ 7
246-
#define INT_24XX_SDMA_IRQ0 12
247-
#define INT_24XX_SDMA_IRQ1 13
248-
#define INT_24XX_SDMA_IRQ2 14
249-
#define INT_24XX_SDMA_IRQ3 15
250-
#define INT_24XX_CAM_IRQ 24
251-
#define INT_24XX_DSS_IRQ 25
252-
#define INT_24XX_MAIL_U0_MPU 26
253-
#define INT_24XX_DSP_UMA 27
254-
#define INT_24XX_DSP_MMU 28
255-
#define INT_24XX_GPIO_BANK1 29
256-
#define INT_24XX_GPIO_BANK2 30
257-
#define INT_24XX_GPIO_BANK3 31
258-
#define INT_24XX_GPIO_BANK4 32
259-
#define INT_24XX_GPIO_BANK5 33
260-
#define INT_24XX_MAIL_U3_MPU 34
261-
#define INT_24XX_GPTIMER1 37
262-
#define INT_24XX_GPTIMER2 38
263-
#define INT_24XX_GPTIMER3 39
264-
#define INT_24XX_GPTIMER4 40
265-
#define INT_24XX_GPTIMER5 41
266-
#define INT_24XX_GPTIMER6 42
267-
#define INT_24XX_GPTIMER7 43
268-
#define INT_24XX_GPTIMER8 44
269-
#define INT_24XX_GPTIMER9 45
270-
#define INT_24XX_GPTIMER10 46
271-
#define INT_24XX_GPTIMER11 47
272-
#define INT_24XX_GPTIMER12 48
273-
#define INT_24XX_SHA1MD5 51
274-
#define INT_24XX_MCBSP4_IRQ_TX 54
275-
#define INT_24XX_MCBSP4_IRQ_RX 55
276-
#define INT_24XX_I2C1_IRQ 56
277-
#define INT_24XX_I2C2_IRQ 57
278-
#define INT_24XX_HDQ_IRQ 58
279-
#define INT_24XX_MCBSP1_IRQ_TX 59
280-
#define INT_24XX_MCBSP1_IRQ_RX 60
281-
#define INT_24XX_MCBSP2_IRQ_TX 62
282-
#define INT_24XX_MCBSP2_IRQ_RX 63
283-
#define INT_24XX_SPI1_IRQ 65
284-
#define INT_24XX_SPI2_IRQ 66
285-
#define INT_24XX_UART1_IRQ 72
286-
#define INT_24XX_UART2_IRQ 73
287-
#define INT_24XX_UART3_IRQ 74
288-
#define INT_24XX_USB_IRQ_GEN 75
289-
#define INT_24XX_USB_IRQ_NISO 76
290-
#define INT_24XX_USB_IRQ_ISO 77
291-
#define INT_24XX_USB_IRQ_HGEN 78
292-
#define INT_24XX_USB_IRQ_HSOF 79
293-
#define INT_24XX_USB_IRQ_OTG 80
294-
#define INT_24XX_MCBSP5_IRQ_TX 81
295-
#define INT_24XX_MCBSP5_IRQ_RX 82
296-
#define INT_24XX_MMC_IRQ 83
297-
#define INT_24XX_MMC2_IRQ 86
298-
#define INT_24XX_MCBSP3_IRQ_TX 89
299-
#define INT_24XX_MCBSP3_IRQ_RX 90
300-
#define INT_24XX_SPI3_IRQ 91
301-
302-
#define INT_243X_MCBSP2_IRQ 16
303-
#define INT_243X_MCBSP3_IRQ 17
304-
#define INT_243X_MCBSP4_IRQ 18
305-
#define INT_243X_MCBSP5_IRQ 19
306-
#define INT_243X_MCBSP1_IRQ 64
307-
#define INT_243X_HS_USB_MC 92
308-
#define INT_243X_HS_USB_DMA 93
309-
#define INT_243X_CARKIT_IRQ 94
310-
311-
#define INT_34XX_BENCH_MPU_EMUL 3
312-
#define INT_34XX_ST_MCBSP2_IRQ 4
313-
#define INT_34XX_ST_MCBSP3_IRQ 5
314-
#define INT_34XX_SSM_ABORT_IRQ 6
315-
#define INT_34XX_SYS_NIRQ 7
316-
#define INT_34XX_D2D_FW_IRQ 8
317-
#define INT_34XX_L3_DBG_IRQ 9
318-
#define INT_34XX_L3_APP_IRQ 10
319-
#define INT_34XX_PRCM_MPU_IRQ 11
320-
#define INT_34XX_MCBSP1_IRQ 16
321-
#define INT_34XX_MCBSP2_IRQ 17
322-
#define INT_34XX_GPMC_IRQ 20
323-
#define INT_34XX_MCBSP3_IRQ 22
324-
#define INT_34XX_MCBSP4_IRQ 23
325-
#define INT_34XX_CAM_IRQ 24
326-
#define INT_34XX_MCBSP5_IRQ 27
327-
#define INT_34XX_GPIO_BANK1 29
328-
#define INT_34XX_GPIO_BANK2 30
329-
#define INT_34XX_GPIO_BANK3 31
330-
#define INT_34XX_GPIO_BANK4 32
331-
#define INT_34XX_GPIO_BANK5 33
332-
#define INT_34XX_GPIO_BANK6 34
333-
#define INT_34XX_USIM_IRQ 35
334-
#define INT_34XX_WDT3_IRQ 36
335-
#define INT_34XX_SPI4_IRQ 48
336-
#define INT_34XX_SHA1MD52_IRQ 49
337-
#define INT_34XX_FPKA_READY_IRQ 50
338-
#define INT_34XX_SHA1MD51_IRQ 51
339-
#define INT_34XX_RNG_IRQ 52
340-
#define INT_34XX_I2C3_IRQ 61
341-
#define INT_34XX_FPKA_ERROR_IRQ 64
342-
#define INT_34XX_PBIAS_IRQ 75
343-
#define INT_34XX_OHCI_IRQ 76
344-
#define INT_34XX_EHCI_IRQ 77
345-
#define INT_34XX_TLL_IRQ 78
346-
#define INT_34XX_PARTHASH_IRQ 79
347-
#define INT_34XX_MMC3_IRQ 94
348-
#define INT_34XX_GPT12_IRQ 95
349-
350-
#define INT_36XX_UART4_IRQ 80
351-
352-
#define INT_35XX_HECC0_IRQ 24
353-
#define INT_35XX_HECC1_IRQ 28
354-
#define INT_35XX_EMAC_C0_RXTHRESH_IRQ 67
355-
#define INT_35XX_EMAC_C0_RX_PULSE_IRQ 68
356-
#define INT_35XX_EMAC_C0_TX_PULSE_IRQ 69
357-
#define INT_35XX_EMAC_C0_MISC_PULSE_IRQ 70
358-
#define INT_35XX_USBOTG_IRQ 71
359-
#define INT_35XX_UART4_IRQ 84
360-
#define INT_35XX_CCDC_VD0_IRQ 88
361-
#define INT_35XX_CCDC_VD1_IRQ 92
362-
#define INT_35XX_CCDC_VD2_IRQ 93
363-
364242
/* Max. 128 level 2 IRQs (OMAP1610), 192 GPIOs (OMAP730/850) and
365243
* 16 MPUIO lines */
366244
#define OMAP_MAX_GPIO_LINES 192
@@ -377,66 +255,7 @@
377255
#endif
378256
#define OMAP_FPGA_IRQ_END (OMAP_FPGA_IRQ_BASE + OMAP_FPGA_NR_IRQS)
379257

380-
/* External TWL4030 can handle interrupts on 2430 and 34xx boards */
381-
#define TWL4030_IRQ_BASE (OMAP_FPGA_IRQ_END)
382-
#ifdef CONFIG_TWL4030_CORE
383-
#define TWL4030_BASE_NR_IRQS 8
384-
#define TWL4030_PWR_NR_IRQS 8
385-
#else
386-
#define TWL4030_BASE_NR_IRQS 0
387-
#define TWL4030_PWR_NR_IRQS 0
388-
#endif
389-
#define TWL4030_IRQ_END (TWL4030_IRQ_BASE + TWL4030_BASE_NR_IRQS)
390-
#define TWL4030_PWR_IRQ_BASE TWL4030_IRQ_END
391-
#define TWL4030_PWR_IRQ_END (TWL4030_PWR_IRQ_BASE + TWL4030_PWR_NR_IRQS)
392-
393-
/* External TWL4030 gpio interrupts are optional */
394-
#define TWL4030_GPIO_IRQ_BASE TWL4030_PWR_IRQ_END
395-
#ifdef CONFIG_GPIO_TWL4030
396-
#define TWL4030_GPIO_NR_IRQS 18
397-
#else
398-
#define TWL4030_GPIO_NR_IRQS 0
399-
#endif
400-
#define TWL4030_GPIO_IRQ_END (TWL4030_GPIO_IRQ_BASE + TWL4030_GPIO_NR_IRQS)
401-
402-
#define TWL6030_IRQ_BASE (OMAP_FPGA_IRQ_END)
403-
#ifdef CONFIG_TWL4030_CORE
404-
#define TWL6030_BASE_NR_IRQS 20
405-
#else
406-
#define TWL6030_BASE_NR_IRQS 0
407-
#endif
408-
#define TWL6030_IRQ_END (TWL6030_IRQ_BASE + TWL6030_BASE_NR_IRQS)
409-
410-
#define TWL6040_CODEC_IRQ_BASE TWL6030_IRQ_END
411-
#ifdef CONFIG_TWL6040_CODEC
412-
#define TWL6040_CODEC_NR_IRQS 6
413-
#else
414-
#define TWL6040_CODEC_NR_IRQS 0
415-
#endif
416-
#define TWL6040_CODEC_IRQ_END (TWL6040_CODEC_IRQ_BASE + TWL6040_CODEC_NR_IRQS)
417-
418-
/* Total number of interrupts depends on the enabled blocks above */
419-
#if (TWL4030_GPIO_IRQ_END > TWL6040_CODEC_IRQ_END)
420-
#define TWL_IRQ_END TWL4030_GPIO_IRQ_END
421-
#else
422-
#define TWL_IRQ_END TWL6040_CODEC_IRQ_END
423-
#endif
424-
425-
/* GPMC related */
426-
#define OMAP_GPMC_IRQ_BASE (TWL_IRQ_END)
427-
#define OMAP_GPMC_NR_IRQS 8
428-
#define OMAP_GPMC_IRQ_END (OMAP_GPMC_IRQ_BASE + OMAP_GPMC_NR_IRQS)
429-
430-
/* PRCM IRQ handler */
431-
#ifdef CONFIG_ARCH_OMAP2PLUS
432-
#define OMAP_PRCM_IRQ_BASE (OMAP_GPMC_IRQ_END)
433-
#define OMAP_PRCM_NR_IRQS 64
434-
#define OMAP_PRCM_IRQ_END (OMAP_PRCM_IRQ_BASE + OMAP_PRCM_NR_IRQS)
435-
#else
436-
#define OMAP_PRCM_IRQ_END OMAP_GPMC_IRQ_END
437-
#endif
438-
439-
#define NR_IRQS OMAP_PRCM_IRQ_END
258+
#define NR_IRQS OMAP_FPGA_IRQ_END
440259

441260
#define OMAP_IRQ_BIT(irq) (1 << ((irq) % 32))
442261

drivers/media/video/omap/omap_vout.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
#include <media/v4l2-device.h>
4545
#include <media/v4l2-ioctl.h>
4646

47+
#include <plat/cpu.h>
4748
#include <plat/dma.h>
4849
#include <plat/vrfb.h>
4950
#include <video/omapdss.h>

drivers/media/video/omap3isp/isp.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@
7070
#include <media/v4l2-common.h>
7171
#include <media/v4l2-device.h>
7272

73+
#include <plat/cpu.h>
74+
7375
#include "isp.h"
7476
#include "ispreg.h"
7577
#include "ispccdc.h"

0 commit comments

Comments
 (0)