diff options
| author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2012-11-21 16:15:17 -0700 | 
|---|---|---|
| committer | Paul Walmsley <paul@pwsan.com> | 2012-11-21 16:15:17 -0700 | 
| commit | dad4191d79bded6674529084bcf842c00e4d874a (patch) | |
| tree | 72d072bf30441da7e745ba28c10af91ce570b40e /arch/arm/mach-omap2/omap_device.c | |
| parent | e6d3a8b0bdcd8f323488a52927682190aee5488e (diff) | |
| download | olio-linux-3.10-dad4191d79bded6674529084bcf842c00e4d874a.tar.xz olio-linux-3.10-dad4191d79bded6674529084bcf842c00e4d874a.zip  | |
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 0ef934fec36..8917a088120 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)  /**   * omap_device_count_resources - count number of struct resource entries needed   * @od: struct omap_device * + * @flags: Type of resources to include when counting (IRQ/DMA/MEM)   *   * Count the number of struct resource entries needed for this   * omap_device @od.  Used by omap_device_build_ss() to determine how   * much memory to allocate before calling   * omap_device_fill_resources().  Returns the count.   */ -static int omap_device_count_resources(struct omap_device *od) +static int omap_device_count_resources(struct omap_device *od, +				       unsigned long flags)  {  	int c = 0;  	int i;  	for (i = 0; i < od->hwmods_cnt; i++) -		c += omap_hwmod_count_resources(od->hwmods[i]); +		c += omap_hwmod_count_resources(od->hwmods[i], flags);  	pr_debug("omap_device: %s: counted %d total resources across %d hwmods\n",  		 od->pdev->name, c, od->hwmods_cnt); @@ -557,7 +559,10 @@ struct omap_device *omap_device_alloc(struct platform_device *pdev,  	od->hwmods = hwmods;  	od->pdev = pdev; -	res_count = omap_device_count_resources(od); +	/* Count all resources for the device */ +	res_count = omap_device_count_resources(od, IORESOURCE_IRQ | +						    IORESOURCE_DMA | +						    IORESOURCE_MEM);  	/*  	 * DT Boot:  	 *   OF framework will construct the resource structure (currently  |