OMAP: Update nr_irqs field in machine descriptors
Subsystems (4)
cover OMAP: Update nr_irqs field in machine descriptors
As part of an effort to get single ARM kernel binary [1], multiple definitions of NR_IRQS under various platforms have to be reconciled and abstracted away from common code.
This patch series takes the small step of populating the machine descriptors with the pre-existing nr_irqs field. Eventually, the common irq handler code will only look at this field and not the compile time constant.
[1]: https://blueprints.launchpad.net/ubuntu/+spec/kernel-maverick-arm-single-zimage
Venkatraman S (2):
omap2+: Populate nr_irqs field in machine descriptors
omap1: Populate nr_irqs field in machine descriptors
arch/arm/mach-omap1/board-ams-delta.c | 1 + arch/arm/mach-omap1/board-fsample.c | 1 + arch/arm/mach-omap1/board-generic.c | 1 + arch/arm/mach-omap1/board-h2.c | 1 + arch/arm/mach-omap1/board-h3.c | 1 + arch/arm/mach-omap1/board-htcherald.c | 1 + arch/arm/mach-omap1/board-innovator.c | 1 + arch/arm/mach-omap1/board-nokia770.c | 1 + arch/arm/mach-omap1/board-osk.c | 1 + arch/arm/mach-omap1/board-palmte.c | 1 + arch/arm/mach-omap1/board-palmtt.c | 1 + arch/arm/mach-omap1/board-palmz71.c | 1 + arch/arm/mach-omap1/board-perseus2.c | 1 + arch/arm/mach-omap1/board-sx1.c | 1 + arch/arm/mach-omap1/board-voiceblue.c | 1 + arch/arm/mach-omap2/board-2430sdp.c | 1 + arch/arm/mach-omap2/board-3430sdp.c | 1 + arch/arm/mach-omap2/board-3630sdp.c | 1 + arch/arm/mach-omap2/board-4430sdp.c | 1 + arch/arm/mach-omap2/board-am3517crane.c | 1 + arch/arm/mach-omap2/board-am3517evm.c | 1 + arch/arm/mach-omap2/board-apollon.c | 1 + arch/arm/mach-omap2/board-cm-t35.c | 2 ++ arch/arm/mach-omap2/board-cm-t3517.c | 1 + arch/arm/mach-omap2/board-devkit8000.c | 1 + arch/arm/mach-omap2/board-generic.c | 1 + arch/arm/mach-omap2/board-h4.c | 1 + arch/arm/mach-omap2/board-igep0020.c | 2 ++ arch/arm/mach-omap2/board-ldp.c | 1 + arch/arm/mach-omap2/board-n8x0.c | 3 +++ arch/arm/mach-omap2/board-omap3beagle.c | 1 + arch/arm/mach-omap2/board-omap3evm.c | 1 + arch/arm/mach-omap2/board-omap3logic.c | 2 ++ arch/arm/mach-omap2/board-omap3pandora.c | 1 + arch/arm/mach-omap2/board-omap3stalker.c | 1 + arch/arm/mach-omap2/board-omap3touchbook.c | 1 + arch/arm/mach-omap2/board-omap4panda.c | 1 + arch/arm/mach-omap2/board-overo.c | 1 + arch/arm/mach-omap2/board-rm680.c | 1 + arch/arm/mach-omap2/board-rx51.c | 1 + arch/arm/mach-omap2/board-ti8168evm.c | 1 + arch/arm/mach-omap2/board-zoom.c | 2 ++ 42 files changed, 48 insertions(+), 0 deletions(-)
PATCH 1/2 omap2+: Populate nr_irqs field in machine descriptors
Machine descriptors in board files should have valid nr_irqs value so that irq handler code can probe it.
--- arch/arm/mach-omap2/board-2430sdp.c | 1 + arch/arm/mach-omap2/board-3430sdp.c | 1 + arch/arm/mach-omap2/board-3630sdp.c | 1 + arch/arm/mach-omap2/board-4430sdp.c | 1 + arch/arm/mach-omap2/board-am3517crane.c | 1 + arch/arm/mach-omap2/board-am3517evm.c | 1 + arch/arm/mach-omap2/board-apollon.c | 1 + arch/arm/mach-omap2/board-cm-t35.c | 2 ++ arch/arm/mach-omap2/board-cm-t3517.c | 1 + arch/arm/mach-omap2/board-devkit8000.c | 1 + arch/arm/mach-omap2/board-generic.c | 1 + arch/arm/mach-omap2/board-h4.c | 1 + arch/arm/mach-omap2/board-igep0020.c | 2 ++ arch/arm/mach-omap2/board-ldp.c | 1 + arch/arm/mach-omap2/board-n8x0.c | 3 +++ arch/arm/mach-omap2/board-omap3beagle.c | 1 + arch/arm/mach-omap2/board-omap3evm.c | 1 + arch/arm/mach-omap2/board-omap3logic.c | 2 ++ arch/arm/mach-omap2/board-omap3pandora.c | 1 + arch/arm/mach-omap2/board-omap3stalker.c | 1 + arch/arm/mach-omap2/board-omap3touchbook.c | 1 + arch/arm/mach-omap2/board-omap4panda.c | 1 + arch/arm/mach-omap2/board-overo.c | 1 + arch/arm/mach-omap2/board-rm680.c | 1 + arch/arm/mach-omap2/board-rx51.c | 1 + arch/arm/mach-omap2/board-ti8168evm.c | 1 + arch/arm/mach-omap2/board-zoom.c | 2 ++ 27 files changed, 33 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/board-2430sdp.c +1 -0
@@ -263,4 +263,5 @@ MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board") .init_irq = omap2_init_irq, .init_machine = omap_2430sdp_init, .timer = &omap2_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-3430sdp.c +1 -0
@@ -736,4 +736,5 @@ MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board") .init_irq = omap3_init_irq, .init_machine = omap_3430sdp_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-3630sdp.c +1 -0
@@ -222,4 +222,5 @@ MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board") .init_irq = omap3_init_irq, .init_machine = omap_sdp_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-4430sdp.c +1 -0
@@ -845,4 +845,5 @@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") .init_irq = gic_init_irq, .init_machine = omap_4430sdp_init, .timer = &omap4_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-am3517crane.c +1 -0
@@ -105,4 +105,5 @@ MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD") .init_irq = omap3_init_irq, .init_machine = am3517_crane_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-am3517evm.c +1 -0
@@ -497,4 +497,5 @@ MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM") .init_irq = omap3_init_irq, .init_machine = am3517_evm_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-apollon.c +1 -0
@@ -357,4 +357,5 @@ MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") .init_irq = omap2_init_irq, .init_machine = omap_apollon_init, .timer = &omap2_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-cm-t35.c +2 -0
@@ -641,6 +641,7 @@ MACHINE_START(CM_T35, "Compulab CM-T35") .init_irq = omap3_init_irq, .init_machine = cm_t35_init, .timer = &omap3_timer, + .nr_irqs = NR_IRQS, MACHINE_ENDMACHINE_START (CM_T3730 ,"Compulab CM-T3730" )
@@ -651,4 +652,5 @@ MACHINE_START(CM_T3730, "Compulab CM-T3730") .init_irq = omap3_init_irq, .init_machine = cm_t3730_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-cm-t3517.c +1 -0
@@ -306,4 +306,5 @@ MACHINE_START(CM_T3517, "Compulab CM-T3517") .init_irq = omap3_init_irq, .init_machine = cm_t3517_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-devkit8000.c +1 -0
@@ -674,4 +674,5 @@ MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000") .init_irq = devkit8000_init_irq, .init_machine = devkit8000_init, .timer = &omap3_secure_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-generic.c +1 -0
@@ -73,4 +73,5 @@ MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx") .init_irq = omap2_init_irq, .init_machine = omap_generic_init, .timer = &omap2_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-h4.c +1 -0
@@ -389,4 +389,5 @@ MACHINE_START(OMAP_H4, "OMAP2420 H4 board") .init_irq = omap_h4_init_irq, .init_machine = omap_h4_init, .timer = &omap2_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-igep0020.c +2 -0
@@ -679,6 +679,7 @@ MACHINE_START(IGEP0020, "IGEP v2 board") .init_irq = omap3_init_irq, .init_machine = igep_init, .timer = &omap3_timer, + .nr_irqs = NR_IRQS, MACHINE_ENDMACHINE_START (IGEP0030 ,"IGEP OMAP3 module" )
@@ -689,4 +690,5 @@ MACHINE_START(IGEP0030, "IGEP OMAP3 module") .init_irq = omap3_init_irq, .init_machine = igep_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-ldp.c +1 -0
@@ -340,4 +340,5 @@ MACHINE_START(OMAP_LDP, "OMAP LDP board") .init_irq = omap3_init_irq, .init_machine = omap_ldp_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-n8x0.c +3 -0
@@ -702,6 +702,7 @@ MACHINE_START(NOKIA_N800, "Nokia N800") .init_irq = omap2_init_irq, .init_machine = n8x0_init_machine, .timer = &omap2_timer, + .nr_irqs = NR_IRQS, MACHINE_ENDMACHINE_START (NOKIA_N810 ,"Nokia N810" )
@@ -712,6 +713,7 @@ MACHINE_START(NOKIA_N810, "Nokia N810") .init_irq = omap2_init_irq, .init_machine = n8x0_init_machine, .timer = &omap2_timer, + .nr_irqs = NR_IRQS, MACHINE_ENDMACHINE_START (NOKIA_N810_WIMAX ,"Nokia N810 WiMAX" )
@@ -722,4 +724,5 @@ MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX") .init_irq = omap2_init_irq, .init_machine = n8x0_init_machine, .timer = &omap2_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-omap3beagle.c +1 -0
@@ -564,4 +564,5 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") .init_irq = omap3_beagle_init_irq, .init_machine = omap3_beagle_init, .timer = &omap3_secure_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-omap3evm.c +1 -0
@@ -688,4 +688,5 @@ MACHINE_START(OMAP3EVM, "OMAP3 EVM") .init_irq = omap3_init_irq, .init_machine = omap3_evm_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-omap3logic.c +2 -0
@@ -215,6 +215,7 @@ MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board") .init_irq = omap3_init_irq, .init_machine = omap3logic_init, .timer = &omap3_timer, + .nr_irqs = NR_IRQS, MACHINE_ENDMACHINE_START (OMAP3530_LV_SOM ,"OMAP Logic 3530 LV SOM board" )
@@ -224,4 +225,5 @@ MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board") .init_irq = omap3_init_irq, .init_machine = omap3logic_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-omap3pandora.c +1 -0
@@ -613,4 +613,5 @@ MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console") .init_irq = omap3_init_irq, .init_machine = omap3pandora_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-omap3stalker.c +1 -0
@@ -500,4 +500,5 @@ MACHINE_START(SBC3530, "OMAP3 STALKER") .init_irq = omap3_stalker_init_irq, .init_machine = omap3_stalker_init, .timer = &omap3_secure_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-omap3touchbook.c +1 -0
@@ -411,4 +411,5 @@ MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board") .init_irq = omap3_touchbook_init_irq, .init_machine = omap3_touchbook_init, .timer = &omap3_secure_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-omap4panda.c +1 -0
@@ -590,4 +590,5 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board") .init_irq = gic_init_irq, .init_machine = omap4_panda_init, .timer = &omap4_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-overo.c +1 -0
@@ -568,4 +568,5 @@ MACHINE_START(OVERO, "Gumstix Overo") .init_irq = omap3_init_irq, .init_machine = overo_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-rm680.c +1 -0
@@ -160,4 +160,5 @@ MACHINE_START(NOKIA_RM680, "Nokia RM-680 board") .init_irq = omap3_init_irq, .init_machine = rm680_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-rx51.c +1 -0
@@ -163,4 +163,5 @@ MACHINE_START(NOKIA_RX51, "Nokia RX-51 board") .init_irq = omap3_init_irq, .init_machine = rx51_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-ti8168evm.c +1 -0
@@ -54,4 +54,5 @@ MACHINE_START(TI8168EVM, "ti8168evm") .init_irq = ti816x_init_irq, .timer = &omap3_timer, .init_machine = ti8168_evm_init, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap2/board-zoom.c +2 -0
@@ -140,6 +140,7 @@ MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") .init_irq = omap3_init_irq, .init_machine = omap_zoom_init, .timer = &omap3_timer, + .nr_irqs = NR_IRQS, MACHINE_ENDMACHINE_START (OMAP_ZOOM3 ,"OMAP Zoom3 board" )
@@ -150,4 +151,5 @@ MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board") .init_irq = omap3_init_irq, .init_machine = omap_zoom_init, .timer = &omap3_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
Signature · 1 line
1.7.1
PATCH 2/2 omap1: Populate nr_irqs field in machine descriptors
In reply to Venkatraman SMachine descriptors in board files should have valid nr_irqs value so that irq handler code can probe it.
--- arch/arm/mach-omap1/board-ams-delta.c | 1 + arch/arm/mach-omap1/board-fsample.c | 1 + arch/arm/mach-omap1/board-generic.c | 1 + arch/arm/mach-omap1/board-h2.c | 1 + arch/arm/mach-omap1/board-h3.c | 1 + arch/arm/mach-omap1/board-htcherald.c | 1 + arch/arm/mach-omap1/board-innovator.c | 1 + arch/arm/mach-omap1/board-nokia770.c | 1 + arch/arm/mach-omap1/board-osk.c | 1 + arch/arm/mach-omap1/board-palmte.c | 1 + arch/arm/mach-omap1/board-palmtt.c | 1 + arch/arm/mach-omap1/board-palmz71.c | 1 + arch/arm/mach-omap1/board-perseus2.c | 1 + arch/arm/mach-omap1/board-sx1.c | 1 + arch/arm/mach-omap1/board-voiceblue.c | 1 + 15 files changed, 15 insertions(+), 0 deletions(-)
arch/arm/mach-omap1/board-ams-delta.c +1 -0
@@ -392,6 +392,7 @@ MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)") .init_irq = ams_delta_init_irq, .init_machine = ams_delta_init, .timer = &omap1_timer, + .nr_irqs = NR_IRQS,MACHINE_END EXPORT_SYMBOL (ams_delta_latch1_write );
arch/arm/mach-omap1/board-fsample.c +1 -0
@@ -395,4 +395,5 @@ MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample") .init_irq = omap_fsample_init_irq, .init_machine = omap_fsample_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-generic.c +1 -0
@@ -100,4 +100,5 @@ MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710") .init_irq = omap_generic_init_irq, .init_machine = omap_generic_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-h2.c +1 -0
@@ -467,4 +467,5 @@ MACHINE_START(OMAP_H2, "TI-H2") .init_irq = h2_init_irq, .init_machine = h2_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-h3.c +1 -0
@@ -455,4 +455,5 @@ MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board") .init_irq = h3_init_irq, .init_machine = h3_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-htcherald.c +1 -0
@@ -617,4 +617,5 @@ MACHINE_START(HERALD, "HTC Herald") .init_irq = htcherald_init_irq, .init_machine = htcherald_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-innovator.c +1 -0
@@ -465,4 +465,5 @@ MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") .init_irq = innovator_init_irq, .init_machine = innovator_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-nokia770.c +1 -0
@@ -270,4 +270,5 @@ MACHINE_START(NOKIA770, "Nokia 770") .init_irq = omap_nokia770_init_irq, .init_machine = omap_nokia770_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-osk.c +1 -0
@@ -589,4 +589,5 @@ MACHINE_START(OMAP_OSK, "TI-OSK") .init_irq = osk_init_irq, .init_machine = osk_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-palmte.c +1 -0
@@ -281,4 +281,5 @@ MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E") .init_irq = omap_palmte_init_irq, .init_machine = omap_palmte_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-palmtt.c +1 -0
@@ -327,4 +327,5 @@ MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T") .init_irq = omap_palmtt_init_irq, .init_machine = omap_palmtt_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-palmz71.c +1 -0
@@ -347,4 +347,5 @@ MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71") .init_irq = omap_palmz71_init_irq, .init_machine = omap_palmz71_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-perseus2.c +1 -0
@@ -356,4 +356,5 @@ MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") .init_irq = omap_perseus2_init_irq, .init_machine = omap_perseus2_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-sx1.c +1 -0
@@ -427,4 +427,5 @@ MACHINE_START(SX1, "OMAP310 based Siemens SX1") .init_irq = omap_sx1_init_irq, .init_machine = omap_sx1_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
arch/arm/mach-omap1/board-voiceblue.c +1 -0
@@ -307,4 +307,5 @@ MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910") .init_irq = voiceblue_init_irq, .init_machine = voiceblue_init, .timer = &omap1_timer, + .nr_irqs =NR_IRQS ,MACHINE_END
Signature · 1 line
1.7.1
cover OMAP: Update nr_irqs field in machine descriptors
In reply to Venkatraman SHi Venkat,
Quoted 8 lines · Venkatraman
As part of an effort to get single ARM kernel binary [1], multiple definitions of
NR_IRQSunder various platforms have to be reconciled and abstracted away from common code.This patch series takes the small step of populating the machine descriptors with the pre-existing
nr_irqsfield. Eventually, the common irq handler code will only look at this field and not the compile time constant.
Not related to this patch, but still on that topic. The current NR_IRQS depends as well on board stuff, like for example : the Phoenix IRQs:TWL6030_IRQ_BASE, TWL6040_CODEC_IRQ_BASE.
Is there a plan to get rid of this static defines?
Thanks,
Benoit
cover OMAP: Update nr_irqs field in machine descriptors
Quoted 13 lines · Benoit
Hi Venkat,
Quoted 9 lines · Venkatraman
As part of an effort to get single ARM kernel binary [1], multiple ?definitions of
NR_IRQSunder various platforms have to be reconciled and abstracted away from common code.This patch series takes the small step of populating the machine descriptors with the pre-existing
nr_irqsfield. Eventually, the common irq handler code will only look at this field and not the compile time constant.
Quoted 5 lines
Not related to this patch, but still on that topic. The current
NR_IRQSdepends as well on board stuff, like for example : the Phoenix IRQs:TWL6030_IRQ_BASE,TWL6040_CODEC_IRQ_BASE.
Is there a plan to get rid of this static defines?
Currently, the goal is to get rid of the singleton nature of NR_IRQS. Then it just becomes a property of the platform, and the arm common code should not see this define. This cleanup has to be done across multiple SoCs, not just OMAP.
After I get to complete some meaningful cleanup of NR_IRQS, I can look into the static defines that you mention.
Best regards,
Venkat.
Tony Lindgren
maintainercover OMAP: Update nr_irqs field in machine descriptors
Quoted 20 lines · S, Venkatraman
Quoted 13 lines · Benoit
Hi Venkat,
Quoted 9 lines · Venkatraman
As part of an effort to get single ARM kernel binary [1], multiple ?definitions of
NR_IRQSunder various platforms have to be reconciled and abstracted away from common code.This patch series takes the small step of populating the machine descriptors with the pre-existing
nr_irqsfield. Eventually, the common irq handler code will only look at this field and not the compile time constant.Quoted 5 lines
Not related to this patch, but still on that topic. The current
NR_IRQSdepends as well on board stuff, like for example : the Phoenix IRQs:TWL6030_IRQ_BASE,TWL6040_CODEC_IRQ_BASE.
Is there a plan to get rid of this static defines?
Quoted 7 lines
Currently, the goal is to get rid of the singleton nature of
NR_IRQS. Then it just becomes a property of the platform, and the arm common code should not see this define. This cleanup has to be done across multiple SoCs, not just OMAP.After I get to complete some meaningful cleanup of
NR_IRQS, I can look into the static defines that you mention.
I suggest we wait on this patch as the NR_IRQS should be the board specific true number of interrupts including chained interrupts from external devices like twl. So just setting it to NR_IRQS does not help much. Also, the board-*.c files will be going aways with device tree at some point.
Regards,
Tony
cover OMAP: Update nr_irqs field in machine descriptors
Quoted 26 lines · Tony Lindgren
Quoted 25 lines · S, Venkatraman
Quoted 13 lines · Benoit
Hi Venkat,
Quoted 9 lines · Venkatraman
As part of an effort to get single ARM kernel binary [1], multiple ?definitions of
NR_IRQSunder various platforms have to be reconciled and abstracted away from common code.This patch series takes the small step of populating the machine descriptors with the pre-existing
nr_irqsfield. Eventually, the common irq handler code will only look at this field and not the compile time constant.Quoted 5 lines
Not related to this patch, but still on that topic. The current
NR_IRQSdepends as well on board stuff, like for example : the Phoenix IRQs:TWL6030_IRQ_BASE,TWL6040_CODEC_IRQ_BASE.
Is there a plan to get rid of this static defines?Currently, the goal is to get rid of the singleton nature of
NR_IRQS. Then it just becomes a property of the platform, and the arm common code should not see this define. This cleanup has to be done across multiple SoCs, not just OMAP.
Quoted 8 lines
Quoted 2 lines
After I get to complete some meaningful cleanup of
NR_IRQS, I can look into the static defines that you mention.I suggest we wait on this patch as the
NR_IRQSshould be the board specific true number of interrupts including chained interrupts from external devices like twl. So just setting it toNR_IRQSdoes not help much. Also, the board-*.c files will be going aways with device tree at some point.
This is prerequisite to some other cleanup orthogonal to DT being worked in parallel. I would prefer if DT wasn't a serialization point for this.
Nicolas
Tony Lindgren
maintainercover OMAP: Update nr_irqs field in machine descriptors
Quoted 37 lines · Nicolas Pitre
Quoted 26 lines · Tony Lindgren
Quoted 25 lines · S, Venkatraman
Quoted 13 lines · Benoit
Hi Venkat,
Quoted 9 lines · Venkatraman
As part of an effort to get single ARM kernel binary [1], multiple ?definitions of
NR_IRQSunder various platforms have to be reconciled and abstracted away from common code.This patch series takes the small step of populating the machine descriptors with the pre-existing
nr_irqsfield. Eventually, the common irq handler code will only look at this field and not the compile time constant.Quoted 5 lines
Not related to this patch, but still on that topic. The current
NR_IRQSdepends as well on board stuff, like for example : the Phoenix IRQs:TWL6030_IRQ_BASE,TWL6040_CODEC_IRQ_BASE.
Is there a plan to get rid of this static defines?Currently, the goal is to get rid of the singleton nature of
NR_IRQS. Then it just becomes a property of the platform, and the arm common code should not see this define. This cleanup has to be done across multiple SoCs, not just OMAP.Quoted 8 lines
Quoted 2 lines
After I get to complete some meaningful cleanup of
NR_IRQS, I can look into the static defines that you mention.I suggest we wait on this patch as the
NR_IRQSshould be the board specific true number of interrupts including chained interrupts from external devices like twl. So just setting it toNR_IRQSdoes not help much. Also, the board-*.c files will be going aways with device tree at some point.
Quoted 3 lines
This is prerequisite to some other cleanup orthogonal to DT being worked in parallel. I would prefer if DT wasn't a serialization point for this.
I see. How about let's populate the real number of interrupts for the known boards then while at it.
Tony
cover OMAP: Update nr_irqs field in machine descriptors
Quoted 38 lines · Tony Lindgren
Quoted 37 lines · Nicolas Pitre
Quoted 34 lines · Tony Lindgren
Quoted 20 lines · S, Venkatraman
Quoted 13 lines · Benoit
Hi Venkat,
Quoted 9 lines · Venkatraman
As part of an effort to get single ARM kernel binary [1], multiple ?definitions of
NR_IRQSunder various platforms have to be reconciled and abstracted away from common code.This patch series takes the small step of populating the machine descriptors with the pre-existing
nr_irqsfield. Eventually, the common irq handler code will only look at this field and not the compile time constant.Quoted 5 lines
Not related to this patch, but still on that topic. The current
NR_IRQSdepends as well on board stuff, like for example : the Phoenix IRQs:TWL6030_IRQ_BASE,TWL6040_CODEC_IRQ_BASE.
Is there a plan to get rid of this static defines?Quoted 7 lines
Currently, the goal is to get rid of the singleton nature of
NR_IRQS. Then it just becomes a property of the platform, and the arm common code should not see this define. This cleanup has to be done across multiple SoCs, not just OMAP.After I get to complete some meaningful cleanup of
NR_IRQS, I can look into the static defines that you mention.I suggest we wait on this patch as the
NR_IRQSshould be the board specific true number of interrupts including chained interrupts from external devices like twl. So just setting it toNR_IRQSdoes not help much. Also, the board-*.c files will be going aways with device tree at some point.
Quoted 6 lines
Quoted 3 lines
This is prerequisite to some other cleanup orthogonal to DT being worked in parallel. I would prefer if DT wasn't a serialization point for this.
I see. How about let's populate the real number of interrupts for the known boards then while at it.
Sure, if you know what you are doing (which I'm sure you do). Otherwise using NR_IRQS is more or less a functional no-op wrt the current situation, and therefore what I would have used myself because I don't know much about the various OMAP boards.
Nicolas