aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2017-10-10 17:27:19 -0400
committerTony Lindgren <tony@atomide.com>2017-10-10 17:27:19 -0400
commitfe97874a41bf911350bae6bda7fc044d12c76a4a (patch)
treeeea07fbd29d510bef970d923cf9db611bf4b6ebf
parent3da521672568702c58767de69b5b0b58c8095fae (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.h1
-rw-r--r--arch/arm/mach-omap2/omap4-common.c24
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c100
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.h17
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2420_data.c1
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2430_data.c1
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c15
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_3xxx_data.c2
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_44xx_data.c38
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_54xx_data.c10
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_common_data.h21
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);
225extern struct device *omap2_get_l3_device(void); 225extern struct device *omap2_get_l3_device(void);
226extern struct device *omap4_get_dsp_device(void); 226extern struct device *omap4_get_dsp_device(void);
227 227
228unsigned int omap4_xlate_irq(unsigned int hwirq);
229void omap_gic_of_init(void); 228void 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
300static struct device_node *intc_node; 300static struct device_node *intc_node;
301 301
302unsigned 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
326void __init omap_gic_of_init(void) 302void __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 */
1112static 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 */
1190static 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)
3481int omap_hwmod_fill_resources(struct omap_hwmod *oh, struct resource *res) 3411int 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 */
161struct 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 = {
155static struct omap_hwmod omap2420_dma_system_hwmod = { 155static 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 = {
153static struct omap_hwmod omap2430_dma_system_hwmod = { 153static 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
70struct omap_hwmod_irq_info omap2_dispc_irqs[] = {
71 { .irq = 25 + OMAP_INTC_START, },
72 { .irq = -1, },
73};
74
75struct 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
83struct omap_hwmod_class_sysconfig omap2_hdq1w_sysc = { 68struct 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 = {
647static struct omap_hwmod omap3xxx_dss_dispc_hwmod = { 647static 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 = {
1017static struct omap_hwmod omap3xxx_dma_system_hwmod = { 1016static 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 */
468static 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
476static struct omap_hwmod omap44xx_dma_system_hwmod = { 468static 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 */
623static struct omap_hwmod_irq_info omap44xx_dss_dispc_irqs[] = {
624 { .irq = 25 + OMAP44XX_IRQ_GIC_START },
625 { .irq = -1 }
626};
627
628static struct omap_hwmod_dma_info omap44xx_dss_dispc_sdma_reqs[] = { 613static 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 */
678static struct omap_hwmod_irq_info omap44xx_dss_dsi1_irqs[] = {
679 { .irq = 53 + OMAP44XX_IRQ_GIC_START },
680 { .irq = -1 }
681};
682
683static struct omap_hwmod_dma_info omap44xx_dss_dsi1_sdma_reqs[] = { 661static 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 */
712static struct omap_hwmod_irq_info omap44xx_dss_dsi2_irqs[] = {
713 { .irq = 84 + OMAP44XX_IRQ_GIC_START },
714 { .irq = -1 }
715};
716
717static struct omap_hwmod_dma_info omap44xx_dss_dsi2_sdma_reqs[] = { 688static 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 */
766static struct omap_hwmod_irq_info omap44xx_dss_hdmi_irqs[] = {
767 { .irq = 101 + OMAP44XX_IRQ_GIC_START },
768 { .irq = -1 }
769};
770
771static struct omap_hwmod_dma_info omap44xx_dss_hdmi_sdma_reqs[] = { 735static 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 */
278static 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
286static struct omap_hwmod omap54xx_dma_system_hwmod = { 278static 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[];
104extern struct omap_hwmod_dma_info omap2_mcbsp3_sdma_reqs[]; 104extern 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 */
107extern struct omap_hwmod_irq_info omap2_timer1_mpu_irqs[];
108extern struct omap_hwmod_irq_info omap2_timer2_mpu_irqs[];
109extern struct omap_hwmod_irq_info omap2_timer3_mpu_irqs[];
110extern struct omap_hwmod_irq_info omap2_timer4_mpu_irqs[];
111extern struct omap_hwmod_irq_info omap2_timer5_mpu_irqs[];
112extern struct omap_hwmod_irq_info omap2_timer6_mpu_irqs[];
113extern struct omap_hwmod_irq_info omap2_timer7_mpu_irqs[];
114extern struct omap_hwmod_irq_info omap2_timer8_mpu_irqs[];
115extern struct omap_hwmod_irq_info omap2_timer9_mpu_irqs[];
116extern struct omap_hwmod_irq_info omap2_timer10_mpu_irqs[];
117extern struct omap_hwmod_irq_info omap2_timer11_mpu_irqs[];
118extern struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[];
119extern struct omap_hwmod_irq_info omap2_uart2_mpu_irqs[];
120extern struct omap_hwmod_irq_info omap2_uart3_mpu_irqs[];
121extern struct omap_hwmod_irq_info omap2_dispc_irqs[];
122extern struct omap_hwmod_irq_info omap2_i2c1_mpu_irqs[];
123extern struct omap_hwmod_irq_info omap2_i2c2_mpu_irqs[];
124extern struct omap_hwmod_irq_info omap2_dma_system_irqs[];
125extern struct omap_hwmod_irq_info omap2_mcspi1_mpu_irqs[];
126extern struct omap_hwmod_irq_info omap2_mcspi2_mpu_irqs[];
127extern struct omap_hwmod_addr_space omap2xxx_timer12_addrs[]; 107extern struct omap_hwmod_addr_space omap2xxx_timer12_addrs[];
128extern struct omap_hwmod_irq_info omap2_hdq1w_mpu_irqs[];
129 108
130/* OMAP hwmod classes - forward declarations */ 109/* OMAP hwmod classes - forward declarations */
131extern struct omap_hwmod_class l3_hwmod_class; 110extern struct omap_hwmod_class l3_hwmod_class;