aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/include/plat/omap_hwmod.h
diff options
context:
space:
mode:
authorPaul Walmsley <paul@pwsan.com>2011-07-09 21:14:06 -0400
committerPaul Walmsley <paul@pwsan.com>2011-07-09 21:14:06 -0400
commit212738a4499d278254ed6fdb400e3b4be4cb1de2 (patch)
treecaa57aa80c343a20eaa7a5e32b7205132b561669 /arch/arm/plat-omap/include/plat/omap_hwmod.h
parentded11383fc14a7483cf30700ffc253caf37c9933 (diff)
omap_hwmod: use a terminator record with omap_hwmod_mpu_irqs arrays
Previously, struct omap_hwmod_mpu_irqs arrays were unterminated; and users of these arrays used the ARRAY_SIZE() macro to determine the length of the array. However, ARRAY_SIZE() only works when the array is in the same scope as the macro user. So far this hasn't been a problem. However, to reduce duplicated data, a subsequent patch will move common data to a separate, shared file. When this is done, ARRAY_SIZE() will no longer be usable. This patch removes ARRAY_SIZE() usage for struct omap_hwmod_mpu_irqs arrays and uses a sentinel value (irq == -1) as the array terminator instead. Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/plat-omap/include/plat/omap_hwmod.h')
-rw-r--r--arch/arm/plat-omap/include/plat/omap_hwmod.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
index 523e0b585b6c..3bd6d1d9c0da 100644
--- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
@@ -98,7 +98,7 @@ struct omap_hwmod_mux_info {
98/** 98/**
99 * struct omap_hwmod_irq_info - MPU IRQs used by the hwmod 99 * struct omap_hwmod_irq_info - MPU IRQs used by the hwmod
100 * @name: name of the IRQ channel (module local name) 100 * @name: name of the IRQ channel (module local name)
101 * @irq_ch: IRQ channel ID 101 * @irq: IRQ channel ID (should be non-negative except -1 = terminator)
102 * 102 *
103 * @name should be something short, e.g., "tx" or "rx". It is for use 103 * @name should be something short, e.g., "tx" or "rx". It is for use
104 * by platform_get_resource_byname(). It is defined locally to the 104 * by platform_get_resource_byname(). It is defined locally to the
@@ -106,7 +106,7 @@ struct omap_hwmod_mux_info {
106 */ 106 */
107struct omap_hwmod_irq_info { 107struct omap_hwmod_irq_info {
108 const char *name; 108 const char *name;
109 u16 irq; 109 s16 irq;
110}; 110};
111 111
112/** 112/**
@@ -466,7 +466,7 @@ struct omap_hwmod_class {
466 * @name: name of the hwmod 466 * @name: name of the hwmod
467 * @class: struct omap_hwmod_class * to the class of this hwmod 467 * @class: struct omap_hwmod_class * to the class of this hwmod
468 * @od: struct omap_device currently associated with this hwmod (internal use) 468 * @od: struct omap_device currently associated with this hwmod (internal use)
469 * @mpu_irqs: ptr to an array of MPU IRQs (see also mpu_irqs_cnt) 469 * @mpu_irqs: ptr to an array of MPU IRQs
470 * @sdma_reqs: ptr to an array of System DMA request IDs (see sdma_reqs_cnt) 470 * @sdma_reqs: ptr to an array of System DMA request IDs (see sdma_reqs_cnt)
471 * @prcm: PRCM data pertaining to this hwmod 471 * @prcm: PRCM data pertaining to this hwmod
472 * @main_clk: main clock: OMAP clock name 472 * @main_clk: main clock: OMAP clock name
@@ -480,7 +480,6 @@ struct omap_hwmod_class {
480 * @_sysc_cache: internal-use hwmod flags 480 * @_sysc_cache: internal-use hwmod flags
481 * @_mpu_rt_va: cached register target start address (internal use) 481 * @_mpu_rt_va: cached register target start address (internal use)
482 * @_mpu_port_index: cached MPU register target slave ID (internal use) 482 * @_mpu_port_index: cached MPU register target slave ID (internal use)
483 * @mpu_irqs_cnt: number of @mpu_irqs
484 * @sdma_reqs_cnt: number of @sdma_reqs 483 * @sdma_reqs_cnt: number of @sdma_reqs
485 * @opt_clks_cnt: number of @opt_clks 484 * @opt_clks_cnt: number of @opt_clks
486 * @master_cnt: number of @master entries 485 * @master_cnt: number of @master entries
@@ -529,7 +528,6 @@ struct omap_hwmod {
529 u16 flags; 528 u16 flags;
530 u8 _mpu_port_index; 529 u8 _mpu_port_index;
531 u8 response_lat; 530 u8 response_lat;
532 u8 mpu_irqs_cnt;
533 u8 sdma_reqs_cnt; 531 u8 sdma_reqs_cnt;
534 u8 rst_lines_cnt; 532 u8 rst_lines_cnt;
535 u8 opt_clks_cnt; 533 u8 opt_clks_cnt;