diff options
author | Tony Lindgren <tony@atomide.com> | 2017-10-10 17:27:19 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2017-10-10 17:27:19 -0400 |
commit | fe97874a41bf911350bae6bda7fc044d12c76a4a (patch) | |
tree | eea07fbd29d510bef970d923cf9db611bf4b6ebf | |
parent | 3da521672568702c58767de69b5b0b58c8095fae (diff) |
ARM: OMAP2+: Drop omap_hwmod_irq_info
With the previous patches removing the need for legacy IRQs
now that all of mach-omap2 is booting in device tree only mode,
we can drop struct omap_hwmod_irq_info.
Note that we can now also finally drop omap4_xlate_irq.
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/mach-omap2/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap4-common.c | 24 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 100 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.h | 17 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2420_data.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2430_data.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c | 15 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 38 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_common_data.h | 21 |
11 files changed, 4 insertions, 226 deletions
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h index b5ad7fcb80ed..bc202835371b 100644 --- a/arch/arm/mach-omap2/common.h +++ b/arch/arm/mach-omap2/common.h | |||
@@ -225,7 +225,6 @@ extern struct device *omap2_get_iva_device(void); | |||
225 | extern struct device *omap2_get_l3_device(void); | 225 | extern struct device *omap2_get_l3_device(void); |
226 | extern struct device *omap4_get_dsp_device(void); | 226 | extern struct device *omap4_get_dsp_device(void); |
227 | 227 | ||
228 | unsigned int omap4_xlate_irq(unsigned int hwirq); | ||
229 | void omap_gic_of_init(void); | 228 | void omap_gic_of_init(void); |
230 | 229 | ||
231 | #ifdef CONFIG_CACHE_L2X0 | 230 | #ifdef CONFIG_CACHE_L2X0 |
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c index cf65ab8bb004..b226c8aaf8b1 100644 --- a/arch/arm/mach-omap2/omap4-common.c +++ b/arch/arm/mach-omap2/omap4-common.c | |||
@@ -299,30 +299,6 @@ static const struct of_device_id intc_match[] = { | |||
299 | 299 | ||
300 | static struct device_node *intc_node; | 300 | static struct device_node *intc_node; |
301 | 301 | ||
302 | unsigned int omap4_xlate_irq(unsigned int hwirq) | ||
303 | { | ||
304 | struct of_phandle_args irq_data; | ||
305 | unsigned int irq; | ||
306 | |||
307 | if (!intc_node) | ||
308 | intc_node = of_find_matching_node(NULL, intc_match); | ||
309 | |||
310 | if (WARN_ON(!intc_node)) | ||
311 | return hwirq; | ||
312 | |||
313 | irq_data.np = intc_node; | ||
314 | irq_data.args_count = 3; | ||
315 | irq_data.args[0] = 0; | ||
316 | irq_data.args[1] = hwirq - OMAP44XX_IRQ_GIC_START; | ||
317 | irq_data.args[2] = IRQ_TYPE_LEVEL_HIGH; | ||
318 | |||
319 | irq = irq_create_of_mapping(&irq_data); | ||
320 | if (WARN_ON(!irq)) | ||
321 | irq = hwirq; | ||
322 | |||
323 | return irq; | ||
324 | } | ||
325 | |||
326 | void __init omap_gic_of_init(void) | 302 | void __init omap_gic_of_init(void) |
327 | { | 303 | { |
328 | struct device_node *np; | 304 | struct device_node *np; |
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index de69fb37098c..5a0fbdec339a 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
@@ -1102,29 +1102,6 @@ static int _omap4_wait_target_disable(struct omap_hwmod *oh) | |||
1102 | } | 1102 | } |
1103 | 1103 | ||
1104 | /** | 1104 | /** |
1105 | * _count_mpu_irqs - count the number of MPU IRQ lines associated with @oh | ||
1106 | * @oh: struct omap_hwmod *oh | ||
1107 | * | ||
1108 | * Count and return the number of MPU IRQs associated with the hwmod | ||
1109 | * @oh. Used to allocate struct resource data. Returns 0 if @oh is | ||
1110 | * NULL. | ||
1111 | */ | ||
1112 | static int _count_mpu_irqs(struct omap_hwmod *oh) | ||
1113 | { | ||
1114 | struct omap_hwmod_irq_info *ohii; | ||
1115 | int i = 0; | ||
1116 | |||
1117 | if (!oh || !oh->mpu_irqs) | ||
1118 | return 0; | ||
1119 | |||
1120 | do { | ||
1121 | ohii = &oh->mpu_irqs[i++]; | ||
1122 | } while (ohii->irq != -1); | ||
1123 | |||
1124 | return i-1; | ||
1125 | } | ||
1126 | |||
1127 | /** | ||
1128 | * _count_sdma_reqs - count the number of SDMA request lines associated with @oh | 1105 | * _count_sdma_reqs - count the number of SDMA request lines associated with @oh |
1129 | * @oh: struct omap_hwmod *oh | 1106 | * @oh: struct omap_hwmod *oh |
1130 | * | 1107 | * |
@@ -1171,50 +1148,6 @@ static int _count_ocp_if_addr_spaces(struct omap_hwmod_ocp_if *os) | |||
1171 | } | 1148 | } |
1172 | 1149 | ||
1173 | /** | 1150 | /** |
1174 | * _get_mpu_irq_by_name - fetch MPU interrupt line number by name | ||
1175 | * @oh: struct omap_hwmod * to operate on | ||
1176 | * @name: pointer to the name of the MPU interrupt number to fetch (optional) | ||
1177 | * @irq: pointer to an unsigned int to store the MPU IRQ number to | ||
1178 | * | ||
1179 | * Retrieve a MPU hardware IRQ line number named by @name associated | ||
1180 | * with the IP block pointed to by @oh. The IRQ number will be filled | ||
1181 | * into the address pointed to by @dma. When @name is non-null, the | ||
1182 | * IRQ line number associated with the named entry will be returned. | ||
1183 | * If @name is null, the first matching entry will be returned. Data | ||
1184 | * order is not meaningful in hwmod data, so callers are strongly | ||
1185 | * encouraged to use a non-null @name whenever possible to avoid | ||
1186 | * unpredictable effects if hwmod data is later added that causes data | ||
1187 | * ordering to change. Returns 0 upon success or a negative error | ||
1188 | * code upon error. | ||
1189 | */ | ||
1190 | static int _get_mpu_irq_by_name(struct omap_hwmod *oh, const char *name, | ||
1191 | unsigned int *irq) | ||
1192 | { | ||
1193 | int i; | ||
1194 | bool found = false; | ||
1195 | |||
1196 | if (!oh->mpu_irqs) | ||
1197 | return -ENOENT; | ||
1198 | |||
1199 | i = 0; | ||
1200 | while (oh->mpu_irqs[i].irq != -1) { | ||
1201 | if (name == oh->mpu_irqs[i].name || | ||
1202 | !strcmp(name, oh->mpu_irqs[i].name)) { | ||
1203 | found = true; | ||
1204 | break; | ||
1205 | } | ||
1206 | i++; | ||
1207 | } | ||
1208 | |||
1209 | if (!found) | ||
1210 | return -ENOENT; | ||
1211 | |||
1212 | *irq = oh->mpu_irqs[i].irq; | ||
1213 | |||
1214 | return 0; | ||
1215 | } | ||
1216 | |||
1217 | /** | ||
1218 | * _get_sdma_req_by_name - fetch SDMA request line ID by name | 1151 | * _get_sdma_req_by_name - fetch SDMA request line ID by name |
1219 | * @oh: struct omap_hwmod * to operate on | 1152 | * @oh: struct omap_hwmod * to operate on |
1220 | * @name: pointer to the name of the SDMA request line to fetch (optional) | 1153 | * @name: pointer to the name of the SDMA request line to fetch (optional) |
@@ -3452,9 +3385,6 @@ int omap_hwmod_count_resources(struct omap_hwmod *oh, unsigned long flags) | |||
3452 | { | 3385 | { |
3453 | int ret = 0; | 3386 | int ret = 0; |
3454 | 3387 | ||
3455 | if (flags & IORESOURCE_IRQ) | ||
3456 | ret += _count_mpu_irqs(oh); | ||
3457 | |||
3458 | if (flags & IORESOURCE_DMA) | 3388 | if (flags & IORESOURCE_DMA) |
3459 | ret += _count_sdma_reqs(oh); | 3389 | ret += _count_sdma_reqs(oh); |
3460 | 3390 | ||
@@ -3481,25 +3411,10 @@ int omap_hwmod_count_resources(struct omap_hwmod *oh, unsigned long flags) | |||
3481 | int omap_hwmod_fill_resources(struct omap_hwmod *oh, struct resource *res) | 3411 | int omap_hwmod_fill_resources(struct omap_hwmod *oh, struct resource *res) |
3482 | { | 3412 | { |
3483 | struct omap_hwmod_ocp_if *os; | 3413 | struct omap_hwmod_ocp_if *os; |
3484 | int i, j, mpu_irqs_cnt, sdma_reqs_cnt, addr_cnt; | 3414 | int i, j, sdma_reqs_cnt, addr_cnt; |
3485 | int r = 0; | 3415 | int r = 0; |
3486 | 3416 | ||
3487 | /* For each IRQ, DMA, memory area, fill in array.*/ | 3417 | /* For each DMA, memory area, fill in array.*/ |
3488 | |||
3489 | mpu_irqs_cnt = _count_mpu_irqs(oh); | ||
3490 | for (i = 0; i < mpu_irqs_cnt; i++) { | ||
3491 | unsigned int irq; | ||
3492 | |||
3493 | if (oh->xlate_irq) | ||
3494 | irq = oh->xlate_irq((oh->mpu_irqs + i)->irq); | ||
3495 | else | ||
3496 | irq = (oh->mpu_irqs + i)->irq; | ||
3497 | (res + r)->name = (oh->mpu_irqs + i)->name; | ||
3498 | (res + r)->start = irq; | ||
3499 | (res + r)->end = irq; | ||
3500 | (res + r)->flags = IORESOURCE_IRQ; | ||
3501 | r++; | ||
3502 | } | ||
3503 | 3418 | ||
3504 | sdma_reqs_cnt = _count_sdma_reqs(oh); | 3419 | sdma_reqs_cnt = _count_sdma_reqs(oh); |
3505 | for (i = 0; i < sdma_reqs_cnt; i++) { | 3420 | for (i = 0; i < sdma_reqs_cnt; i++) { |
@@ -3578,20 +3493,13 @@ int omap_hwmod_get_resource_byname(struct omap_hwmod *oh, unsigned int type, | |||
3578 | const char *name, struct resource *rsrc) | 3493 | const char *name, struct resource *rsrc) |
3579 | { | 3494 | { |
3580 | int r; | 3495 | int r; |
3581 | unsigned int irq, dma; | 3496 | unsigned int dma; |
3582 | u32 pa_start, pa_end; | 3497 | u32 pa_start, pa_end; |
3583 | 3498 | ||
3584 | if (!oh || !rsrc) | 3499 | if (!oh || !rsrc) |
3585 | return -EINVAL; | 3500 | return -EINVAL; |
3586 | 3501 | ||
3587 | if (type == IORESOURCE_IRQ) { | 3502 | if (type == IORESOURCE_DMA) { |
3588 | r = _get_mpu_irq_by_name(oh, name, &irq); | ||
3589 | if (r) | ||
3590 | return r; | ||
3591 | |||
3592 | rsrc->start = irq; | ||
3593 | rsrc->end = irq; | ||
3594 | } else if (type == IORESOURCE_DMA) { | ||
3595 | r = _get_sdma_req_by_name(oh, name, &dma); | 3503 | r = _get_sdma_req_by_name(oh, name, &dma); |
3596 | if (r) | 3504 | if (r) |
3597 | return r; | 3505 | return r; |
diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h index 3f95c40008b8..b655bb3ffc56 100644 --- a/arch/arm/mach-omap2/omap_hwmod.h +++ b/arch/arm/mach-omap2/omap_hwmod.h | |||
@@ -150,20 +150,6 @@ extern struct omap_hwmod_sysc_fields omap_hwmod_sysc_type3; | |||
150 | #endif | 150 | #endif |
151 | 151 | ||
152 | /** | 152 | /** |
153 | * struct omap_hwmod_irq_info - MPU IRQs used by the hwmod | ||
154 | * @name: name of the IRQ channel (module local name) | ||
155 | * @irq: IRQ channel ID (should be non-negative except -1 = terminator) | ||
156 | * | ||
157 | * @name should be something short, e.g., "tx" or "rx". It is for use | ||
158 | * by platform_get_resource_byname(). It is defined locally to the | ||
159 | * hwmod. | ||
160 | */ | ||
161 | struct omap_hwmod_irq_info { | ||
162 | const char *name; | ||
163 | s16 irq; | ||
164 | }; | ||
165 | |||
166 | /** | ||
167 | * struct omap_hwmod_dma_info - DMA channels used by the hwmod | 153 | * struct omap_hwmod_dma_info - DMA channels used by the hwmod |
168 | * @name: name of the DMA channel (module local name) | 154 | * @name: name of the DMA channel (module local name) |
169 | * @dma_req: DMA request ID (should be non-negative except -1 = terminator) | 155 | * @dma_req: DMA request ID (should be non-negative except -1 = terminator) |
@@ -612,7 +598,6 @@ struct omap_hwmod_class { | |||
612 | * @name: name of the hwmod | 598 | * @name: name of the hwmod |
613 | * @class: struct omap_hwmod_class * to the class of this hwmod | 599 | * @class: struct omap_hwmod_class * to the class of this hwmod |
614 | * @od: struct omap_device currently associated with this hwmod (internal use) | 600 | * @od: struct omap_device currently associated with this hwmod (internal use) |
615 | * @mpu_irqs: ptr to an array of MPU IRQs | ||
616 | * @sdma_reqs: ptr to an array of System DMA request IDs | 601 | * @sdma_reqs: ptr to an array of System DMA request IDs |
617 | * @prcm: PRCM data pertaining to this hwmod | 602 | * @prcm: PRCM data pertaining to this hwmod |
618 | * @main_clk: main clock: OMAP clock name | 603 | * @main_clk: main clock: OMAP clock name |
@@ -656,7 +641,6 @@ struct omap_hwmod { | |||
656 | const char *name; | 641 | const char *name; |
657 | struct omap_hwmod_class *class; | 642 | struct omap_hwmod_class *class; |
658 | struct omap_device *od; | 643 | struct omap_device *od; |
659 | struct omap_hwmod_irq_info *mpu_irqs; | ||
660 | struct omap_hwmod_dma_info *sdma_reqs; | 644 | struct omap_hwmod_dma_info *sdma_reqs; |
661 | struct omap_hwmod_rst_info *rst_lines; | 645 | struct omap_hwmod_rst_info *rst_lines; |
662 | union { | 646 | union { |
@@ -676,7 +660,6 @@ struct omap_hwmod { | |||
676 | struct lock_class_key hwmod_key; /* unique lock class */ | 660 | struct lock_class_key hwmod_key; /* unique lock class */ |
677 | struct list_head node; | 661 | struct list_head node; |
678 | struct omap_hwmod_ocp_if *_mpu_port; | 662 | struct omap_hwmod_ocp_if *_mpu_port; |
679 | unsigned int (*xlate_irq)(unsigned int); | ||
680 | u32 flags; | 663 | u32 flags; |
681 | u8 mpu_rt_idx; | 664 | u8 mpu_rt_idx; |
682 | u8 response_lat; | 665 | u8 response_lat; |
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c index 65b1647092bd..dc6a81dbc127 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c | |||
@@ -155,7 +155,6 @@ static struct omap_dma_dev_attr dma_dev_attr = { | |||
155 | static struct omap_hwmod omap2420_dma_system_hwmod = { | 155 | static struct omap_hwmod omap2420_dma_system_hwmod = { |
156 | .name = "dma", | 156 | .name = "dma", |
157 | .class = &omap2xxx_dma_hwmod_class, | 157 | .class = &omap2xxx_dma_hwmod_class, |
158 | .mpu_irqs = omap2_dma_system_irqs, | ||
159 | .main_clk = "core_l3_ck", | 158 | .main_clk = "core_l3_ck", |
160 | .dev_attr = &dma_dev_attr, | 159 | .dev_attr = &dma_dev_attr, |
161 | .flags = HWMOD_NO_IDLEST, | 160 | .flags = HWMOD_NO_IDLEST, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c index 79127b35fe60..558f99fbcad8 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c | |||
@@ -153,7 +153,6 @@ static struct omap_dma_dev_attr dma_dev_attr = { | |||
153 | static struct omap_hwmod omap2430_dma_system_hwmod = { | 153 | static struct omap_hwmod omap2430_dma_system_hwmod = { |
154 | .name = "dma", | 154 | .name = "dma", |
155 | .class = &omap2xxx_dma_hwmod_class, | 155 | .class = &omap2xxx_dma_hwmod_class, |
156 | .mpu_irqs = omap2_dma_system_irqs, | ||
157 | .main_clk = "core_l3_ck", | 156 | .main_clk = "core_l3_ck", |
158 | .dev_attr = &dma_dev_attr, | 157 | .dev_attr = &dma_dev_attr, |
159 | .flags = HWMOD_NO_IDLEST, | 158 | .flags = HWMOD_NO_IDLEST, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c index cfaeb0f78cc8..28665d29f23f 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c | |||
@@ -65,21 +65,6 @@ struct omap_hwmod_class iva_hwmod_class = { | |||
65 | .name = "iva", | 65 | .name = "iva", |
66 | }; | 66 | }; |
67 | 67 | ||
68 | /* Common MPU IRQ line data */ | ||
69 | |||
70 | struct omap_hwmod_irq_info omap2_dispc_irqs[] = { | ||
71 | { .irq = 25 + OMAP_INTC_START, }, | ||
72 | { .irq = -1, }, | ||
73 | }; | ||
74 | |||
75 | struct omap_hwmod_irq_info omap2_dma_system_irqs[] = { | ||
76 | { .name = "0", .irq = 12 + OMAP_INTC_START, }, /* INT_24XX_SDMA_IRQ0 */ | ||
77 | { .name = "1", .irq = 13 + OMAP_INTC_START, }, /* INT_24XX_SDMA_IRQ1 */ | ||
78 | { .name = "2", .irq = 14 + OMAP_INTC_START, }, /* INT_24XX_SDMA_IRQ2 */ | ||
79 | { .name = "3", .irq = 15 + OMAP_INTC_START, }, /* INT_24XX_SDMA_IRQ3 */ | ||
80 | { .irq = -1, }, | ||
81 | }; | ||
82 | |||
83 | struct omap_hwmod_class_sysconfig omap2_hdq1w_sysc = { | 68 | struct omap_hwmod_class_sysconfig omap2_hdq1w_sysc = { |
84 | .rev_offs = 0x0, | 69 | .rev_offs = 0x0, |
85 | .sysc_offs = 0x14, | 70 | .sysc_offs = 0x14, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index c3276436b0ae..a331a4e4e3ca 100644 --- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | |||
@@ -647,7 +647,6 @@ static struct omap_hwmod_class omap3_dispc_hwmod_class = { | |||
647 | static struct omap_hwmod omap3xxx_dss_dispc_hwmod = { | 647 | static struct omap_hwmod omap3xxx_dss_dispc_hwmod = { |
648 | .name = "dss_dispc", | 648 | .name = "dss_dispc", |
649 | .class = &omap3_dispc_hwmod_class, | 649 | .class = &omap3_dispc_hwmod_class, |
650 | .mpu_irqs = omap2_dispc_irqs, | ||
651 | .main_clk = "dss1_alwon_fck", | 650 | .main_clk = "dss1_alwon_fck", |
652 | .prcm = { | 651 | .prcm = { |
653 | .omap2 = { | 652 | .omap2 = { |
@@ -1017,7 +1016,6 @@ static struct omap_hwmod_class omap3xxx_dma_hwmod_class = { | |||
1017 | static struct omap_hwmod omap3xxx_dma_system_hwmod = { | 1016 | static struct omap_hwmod omap3xxx_dma_system_hwmod = { |
1018 | .name = "dma", | 1017 | .name = "dma", |
1019 | .class = &omap3xxx_dma_hwmod_class, | 1018 | .class = &omap3xxx_dma_hwmod_class, |
1020 | .mpu_irqs = omap2_dma_system_irqs, | ||
1021 | .main_clk = "core_l3_ick", | 1019 | .main_clk = "core_l3_ick", |
1022 | .prcm = { | 1020 | .prcm = { |
1023 | .omap2 = { | 1021 | .omap2 = { |
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index 3e2d792fd9df..22d4799c9ce0 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
@@ -465,20 +465,10 @@ static struct omap_dma_dev_attr dma_dev_attr = { | |||
465 | }; | 465 | }; |
466 | 466 | ||
467 | /* dma_system */ | 467 | /* dma_system */ |
468 | static struct omap_hwmod_irq_info omap44xx_dma_system_irqs[] = { | ||
469 | { .name = "0", .irq = 12 + OMAP44XX_IRQ_GIC_START }, | ||
470 | { .name = "1", .irq = 13 + OMAP44XX_IRQ_GIC_START }, | ||
471 | { .name = "2", .irq = 14 + OMAP44XX_IRQ_GIC_START }, | ||
472 | { .name = "3", .irq = 15 + OMAP44XX_IRQ_GIC_START }, | ||
473 | { .irq = -1 } | ||
474 | }; | ||
475 | |||
476 | static struct omap_hwmod omap44xx_dma_system_hwmod = { | 468 | static struct omap_hwmod omap44xx_dma_system_hwmod = { |
477 | .name = "dma_system", | 469 | .name = "dma_system", |
478 | .class = &omap44xx_dma_hwmod_class, | 470 | .class = &omap44xx_dma_hwmod_class, |
479 | .clkdm_name = "l3_dma_clkdm", | 471 | .clkdm_name = "l3_dma_clkdm", |
480 | .mpu_irqs = omap44xx_dma_system_irqs, | ||
481 | .xlate_irq = omap4_xlate_irq, | ||
482 | .main_clk = "l3_div_ck", | 472 | .main_clk = "l3_div_ck", |
483 | .prcm = { | 473 | .prcm = { |
484 | .omap4 = { | 474 | .omap4 = { |
@@ -620,11 +610,6 @@ static struct omap_hwmod_class omap44xx_dispc_hwmod_class = { | |||
620 | }; | 610 | }; |
621 | 611 | ||
622 | /* dss_dispc */ | 612 | /* dss_dispc */ |
623 | static struct omap_hwmod_irq_info omap44xx_dss_dispc_irqs[] = { | ||
624 | { .irq = 25 + OMAP44XX_IRQ_GIC_START }, | ||
625 | { .irq = -1 } | ||
626 | }; | ||
627 | |||
628 | static struct omap_hwmod_dma_info omap44xx_dss_dispc_sdma_reqs[] = { | 613 | static struct omap_hwmod_dma_info omap44xx_dss_dispc_sdma_reqs[] = { |
629 | { .dma_req = 5 + OMAP44XX_DMA_REQ_START }, | 614 | { .dma_req = 5 + OMAP44XX_DMA_REQ_START }, |
630 | { .dma_req = -1 } | 615 | { .dma_req = -1 } |
@@ -639,8 +624,6 @@ static struct omap_hwmod omap44xx_dss_dispc_hwmod = { | |||
639 | .name = "dss_dispc", | 624 | .name = "dss_dispc", |
640 | .class = &omap44xx_dispc_hwmod_class, | 625 | .class = &omap44xx_dispc_hwmod_class, |
641 | .clkdm_name = "l3_dss_clkdm", | 626 | .clkdm_name = "l3_dss_clkdm", |
642 | .mpu_irqs = omap44xx_dss_dispc_irqs, | ||
643 | .xlate_irq = omap4_xlate_irq, | ||
644 | .sdma_reqs = omap44xx_dss_dispc_sdma_reqs, | 627 | .sdma_reqs = omap44xx_dss_dispc_sdma_reqs, |
645 | .main_clk = "dss_dss_clk", | 628 | .main_clk = "dss_dss_clk", |
646 | .prcm = { | 629 | .prcm = { |
@@ -675,11 +658,6 @@ static struct omap_hwmod_class omap44xx_dsi_hwmod_class = { | |||
675 | }; | 658 | }; |
676 | 659 | ||
677 | /* dss_dsi1 */ | 660 | /* dss_dsi1 */ |
678 | static struct omap_hwmod_irq_info omap44xx_dss_dsi1_irqs[] = { | ||
679 | { .irq = 53 + OMAP44XX_IRQ_GIC_START }, | ||
680 | { .irq = -1 } | ||
681 | }; | ||
682 | |||
683 | static struct omap_hwmod_dma_info omap44xx_dss_dsi1_sdma_reqs[] = { | 661 | static struct omap_hwmod_dma_info omap44xx_dss_dsi1_sdma_reqs[] = { |
684 | { .dma_req = 74 + OMAP44XX_DMA_REQ_START }, | 662 | { .dma_req = 74 + OMAP44XX_DMA_REQ_START }, |
685 | { .dma_req = -1 } | 663 | { .dma_req = -1 } |
@@ -693,8 +671,6 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = { | |||
693 | .name = "dss_dsi1", | 671 | .name = "dss_dsi1", |
694 | .class = &omap44xx_dsi_hwmod_class, | 672 | .class = &omap44xx_dsi_hwmod_class, |
695 | .clkdm_name = "l3_dss_clkdm", | 673 | .clkdm_name = "l3_dss_clkdm", |
696 | .mpu_irqs = omap44xx_dss_dsi1_irqs, | ||
697 | .xlate_irq = omap4_xlate_irq, | ||
698 | .sdma_reqs = omap44xx_dss_dsi1_sdma_reqs, | 674 | .sdma_reqs = omap44xx_dss_dsi1_sdma_reqs, |
699 | .main_clk = "dss_dss_clk", | 675 | .main_clk = "dss_dss_clk", |
700 | .prcm = { | 676 | .prcm = { |
@@ -709,11 +685,6 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = { | |||
709 | }; | 685 | }; |
710 | 686 | ||
711 | /* dss_dsi2 */ | 687 | /* dss_dsi2 */ |
712 | static struct omap_hwmod_irq_info omap44xx_dss_dsi2_irqs[] = { | ||
713 | { .irq = 84 + OMAP44XX_IRQ_GIC_START }, | ||
714 | { .irq = -1 } | ||
715 | }; | ||
716 | |||
717 | static struct omap_hwmod_dma_info omap44xx_dss_dsi2_sdma_reqs[] = { | 688 | static struct omap_hwmod_dma_info omap44xx_dss_dsi2_sdma_reqs[] = { |
718 | { .dma_req = 83 + OMAP44XX_DMA_REQ_START }, | 689 | { .dma_req = 83 + OMAP44XX_DMA_REQ_START }, |
719 | { .dma_req = -1 } | 690 | { .dma_req = -1 } |
@@ -727,8 +698,6 @@ static struct omap_hwmod omap44xx_dss_dsi2_hwmod = { | |||
727 | .name = "dss_dsi2", | 698 | .name = "dss_dsi2", |
728 | .class = &omap44xx_dsi_hwmod_class, | 699 | .class = &omap44xx_dsi_hwmod_class, |
729 | .clkdm_name = "l3_dss_clkdm", | 700 | .clkdm_name = "l3_dss_clkdm", |
730 | .mpu_irqs = omap44xx_dss_dsi2_irqs, | ||
731 | .xlate_irq = omap4_xlate_irq, | ||
732 | .sdma_reqs = omap44xx_dss_dsi2_sdma_reqs, | 701 | .sdma_reqs = omap44xx_dss_dsi2_sdma_reqs, |
733 | .main_clk = "dss_dss_clk", | 702 | .main_clk = "dss_dss_clk", |
734 | .prcm = { | 703 | .prcm = { |
@@ -763,11 +732,6 @@ static struct omap_hwmod_class omap44xx_hdmi_hwmod_class = { | |||
763 | }; | 732 | }; |
764 | 733 | ||
765 | /* dss_hdmi */ | 734 | /* dss_hdmi */ |
766 | static struct omap_hwmod_irq_info omap44xx_dss_hdmi_irqs[] = { | ||
767 | { .irq = 101 + OMAP44XX_IRQ_GIC_START }, | ||
768 | { .irq = -1 } | ||
769 | }; | ||
770 | |||
771 | static struct omap_hwmod_dma_info omap44xx_dss_hdmi_sdma_reqs[] = { | 735 | static struct omap_hwmod_dma_info omap44xx_dss_hdmi_sdma_reqs[] = { |
772 | { .dma_req = 75 + OMAP44XX_DMA_REQ_START }, | 736 | { .dma_req = 75 + OMAP44XX_DMA_REQ_START }, |
773 | { .dma_req = -1 } | 737 | { .dma_req = -1 } |
@@ -787,8 +751,6 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = { | |||
787 | * set idle mode by software. | 751 | * set idle mode by software. |
788 | */ | 752 | */ |
789 | .flags = HWMOD_SWSUP_SIDLE | HWMOD_OPT_CLKS_NEEDED, | 753 | .flags = HWMOD_SWSUP_SIDLE | HWMOD_OPT_CLKS_NEEDED, |
790 | .mpu_irqs = omap44xx_dss_hdmi_irqs, | ||
791 | .xlate_irq = omap4_xlate_irq, | ||
792 | .sdma_reqs = omap44xx_dss_hdmi_sdma_reqs, | 754 | .sdma_reqs = omap44xx_dss_hdmi_sdma_reqs, |
793 | .main_clk = "dss_48mhz_clk", | 755 | .main_clk = "dss_48mhz_clk", |
794 | .prcm = { | 756 | .prcm = { |
diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c index 9a67f013ebad..f2635b2a4787 100644 --- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c | |||
@@ -275,20 +275,10 @@ static struct omap_dma_dev_attr dma_dev_attr = { | |||
275 | }; | 275 | }; |
276 | 276 | ||
277 | /* dma_system */ | 277 | /* dma_system */ |
278 | static struct omap_hwmod_irq_info omap54xx_dma_system_irqs[] = { | ||
279 | { .name = "0", .irq = 12 + OMAP54XX_IRQ_GIC_START }, | ||
280 | { .name = "1", .irq = 13 + OMAP54XX_IRQ_GIC_START }, | ||
281 | { .name = "2", .irq = 14 + OMAP54XX_IRQ_GIC_START }, | ||
282 | { .name = "3", .irq = 15 + OMAP54XX_IRQ_GIC_START }, | ||
283 | { .irq = -1 } | ||
284 | }; | ||
285 | |||
286 | static struct omap_hwmod omap54xx_dma_system_hwmod = { | 278 | static struct omap_hwmod omap54xx_dma_system_hwmod = { |
287 | .name = "dma_system", | 279 | .name = "dma_system", |
288 | .class = &omap54xx_dma_hwmod_class, | 280 | .class = &omap54xx_dma_hwmod_class, |
289 | .clkdm_name = "dma_clkdm", | 281 | .clkdm_name = "dma_clkdm", |
290 | .mpu_irqs = omap54xx_dma_system_irqs, | ||
291 | .xlate_irq = omap4_xlate_irq, | ||
292 | .main_clk = "l3_iclk_div", | 282 | .main_clk = "l3_iclk_div", |
293 | .prcm = { | 283 | .prcm = { |
294 | .omap4 = { | 284 | .omap4 = { |
diff --git a/arch/arm/mach-omap2/omap_hwmod_common_data.h b/arch/arm/mach-omap2/omap_hwmod_common_data.h index f22e9cb39f4a..625a458ac2eb 100644 --- a/arch/arm/mach-omap2/omap_hwmod_common_data.h +++ b/arch/arm/mach-omap2/omap_hwmod_common_data.h | |||
@@ -104,28 +104,7 @@ extern struct omap_hwmod_dma_info omap2_mcbsp2_sdma_reqs[]; | |||
104 | extern struct omap_hwmod_dma_info omap2_mcbsp3_sdma_reqs[]; | 104 | extern struct omap_hwmod_dma_info omap2_mcbsp3_sdma_reqs[]; |
105 | 105 | ||
106 | /* Common IP block data across OMAP2/3 */ | 106 | /* Common IP block data across OMAP2/3 */ |
107 | extern struct omap_hwmod_irq_info omap2_timer1_mpu_irqs[]; | ||
108 | extern struct omap_hwmod_irq_info omap2_timer2_mpu_irqs[]; | ||
109 | extern struct omap_hwmod_irq_info omap2_timer3_mpu_irqs[]; | ||
110 | extern struct omap_hwmod_irq_info omap2_timer4_mpu_irqs[]; | ||
111 | extern struct omap_hwmod_irq_info omap2_timer5_mpu_irqs[]; | ||
112 | extern struct omap_hwmod_irq_info omap2_timer6_mpu_irqs[]; | ||
113 | extern struct omap_hwmod_irq_info omap2_timer7_mpu_irqs[]; | ||
114 | extern struct omap_hwmod_irq_info omap2_timer8_mpu_irqs[]; | ||
115 | extern struct omap_hwmod_irq_info omap2_timer9_mpu_irqs[]; | ||
116 | extern struct omap_hwmod_irq_info omap2_timer10_mpu_irqs[]; | ||
117 | extern struct omap_hwmod_irq_info omap2_timer11_mpu_irqs[]; | ||
118 | extern struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[]; | ||
119 | extern struct omap_hwmod_irq_info omap2_uart2_mpu_irqs[]; | ||
120 | extern struct omap_hwmod_irq_info omap2_uart3_mpu_irqs[]; | ||
121 | extern struct omap_hwmod_irq_info omap2_dispc_irqs[]; | ||
122 | extern struct omap_hwmod_irq_info omap2_i2c1_mpu_irqs[]; | ||
123 | extern struct omap_hwmod_irq_info omap2_i2c2_mpu_irqs[]; | ||
124 | extern struct omap_hwmod_irq_info omap2_dma_system_irqs[]; | ||
125 | extern struct omap_hwmod_irq_info omap2_mcspi1_mpu_irqs[]; | ||
126 | extern struct omap_hwmod_irq_info omap2_mcspi2_mpu_irqs[]; | ||
127 | extern struct omap_hwmod_addr_space omap2xxx_timer12_addrs[]; | 107 | extern struct omap_hwmod_addr_space omap2xxx_timer12_addrs[]; |
128 | extern struct omap_hwmod_irq_info omap2_hdq1w_mpu_irqs[]; | ||
129 | 108 | ||
130 | /* OMAP hwmod classes - forward declarations */ | 109 | /* OMAP hwmod classes - forward declarations */ |
131 | extern struct omap_hwmod_class l3_hwmod_class; | 110 | extern struct omap_hwmod_class l3_hwmod_class; |