diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2012-11-21 18:15:17 -0500 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2012-11-21 18:15:17 -0500 |
commit | dad4191d79bded6674529084bcf842c00e4d874a (patch) | |
tree | 72d072bf30441da7e745ba28c10af91ce570b40e /arch/arm/mach-omap2/omap_device.c | |
parent | e6d3a8b0bdcd8f323488a52927682190aee5488e (diff) |
ARM: OMAP2+: hwmod: Add possibility to count hwmod resources based on type
Add flags parameter for omap_hwmod_count_resources() so users can tell which
type of resources they are interested when counting them in hwmod database.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: BenoƮt Cousson <b-cousson@ti.com>
[paul@pwsan.com: updated to apply]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2/omap_device.c')
-rw-r--r-- | arch/arm/mach-omap2/omap_device.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c index 0ef934fec364..8917a0881206 100644 --- a/arch/arm/mach-omap2/omap_device.c +++ b/arch/arm/mach-omap2/omap_device.c | |||
@@ -441,19 +441,21 @@ int omap_device_get_context_loss_count(struct platform_device *pdev) | |||
441 | /** | 441 | /** |
442 | * omap_device_count_resources - count number of struct resource entries needed | 442 | * omap_device_count_resources - count number of struct resource entries needed |
443 | * @od: struct omap_device * | 443 | * @od: struct omap_device * |
444 | * @flags: Type of resources to include when counting (IRQ/DMA/MEM) | ||
444 | * | 445 | * |
445 | * Count the number of struct resource entries needed for this | 446 | * Count the number of struct resource entries needed for this |
446 | * omap_device @od. Used by omap_device_build_ss() to determine how | 447 | * omap_device @od. Used by omap_device_build_ss() to determine how |
447 | * much memory to allocate before calling | 448 | * much memory to allocate before calling |
448 | * omap_device_fill_resources(). Returns the count. | 449 | * omap_device_fill_resources(). Returns the count. |
449 | */ | 450 | */ |
450 | static int omap_device_count_resources(struct omap_device *od) | 451 | static int omap_device_count_resources(struct omap_device *od, |
452 | unsigned long flags) | ||
451 | { | 453 | { |
452 | int c = 0; | 454 | int c = 0; |
453 | int i; | 455 | int i; |
454 | 456 | ||
455 | for (i = 0; i < od->hwmods_cnt; i++) | 457 | for (i = 0; i < od->hwmods_cnt; i++) |
456 | c += omap_hwmod_count_resources(od->hwmods[i]); | 458 | c += omap_hwmod_count_resources(od->hwmods[i], flags); |
457 | 459 | ||
458 | pr_debug("omap_device: %s: counted %d total resources across %d hwmods\n", | 460 | pr_debug("omap_device: %s: counted %d total resources across %d hwmods\n", |
459 | od->pdev->name, c, od->hwmods_cnt); | 461 | od->pdev->name, c, od->hwmods_cnt); |
@@ -557,7 +559,10 @@ struct omap_device *omap_device_alloc(struct platform_device *pdev, | |||
557 | od->hwmods = hwmods; | 559 | od->hwmods = hwmods; |
558 | od->pdev = pdev; | 560 | od->pdev = pdev; |
559 | 561 | ||
560 | res_count = omap_device_count_resources(od); | 562 | /* Count all resources for the device */ |
563 | res_count = omap_device_count_resources(od, IORESOURCE_IRQ | | ||
564 | IORESOURCE_DMA | | ||
565 | IORESOURCE_MEM); | ||
561 | /* | 566 | /* |
562 | * DT Boot: | 567 | * DT Boot: |
563 | * OF framework will construct the resource structure (currently | 568 | * OF framework will construct the resource structure (currently |