diff options
author | Jarkko Nikula <jarkko.nikula@bitmer.com> | 2011-09-26 10:45:43 +0300 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-09-26 17:48:18 -0700 |
commit | ac6747ca0d2e01ed55281d1cc95b5dc646735a20 (patch) | |
tree | 9696ff219bc6cc23cbe22829287f0cedd7152931 /arch | |
parent | 7bba67ab3aa629f88e17786b07177b76b925cb0e (diff) | |
download | blackbird-op-linux-ac6747ca0d2e01ed55281d1cc95b5dc646735a20.tar.gz blackbird-op-linux-ac6747ca0d2e01ed55281d1cc95b5dc646735a20.zip |
ARM: OMAP: mcbsp: Use per instance register cache size
Rationale here is to remove one global variable and to make possible to have
variable size McBSP register maps inside SoC.
Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/plat-omap/include/plat/mcbsp.h | 3 | ||||
-rw-r--r-- | arch/arm/plat-omap/mcbsp.c | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h b/arch/arm/plat-omap/include/plat/mcbsp.h index 0fad63c7df18..648344a89a94 100644 --- a/arch/arm/plat-omap/include/plat/mcbsp.h +++ b/arch/arm/plat-omap/include/plat/mcbsp.h @@ -359,6 +359,7 @@ struct omap_mcbsp { u16 max_tx_thres; u16 max_rx_thres; void *reg_cache; + int reg_cache_size; }; /** @@ -370,7 +371,7 @@ struct omap_mcbsp_dev_attr { }; extern struct omap_mcbsp **mcbsp_ptr; -extern int omap_mcbsp_count, omap_mcbsp_cache_size; +extern int omap_mcbsp_count; #define omap_mcbsp_check_valid_id(id) (id < omap_mcbsp_count) #define id_to_mcbsp_ptr(id) mcbsp_ptr[id]; diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c index 234ab16e8399..3ad536ea6c37 100644 --- a/arch/arm/plat-omap/mcbsp.c +++ b/arch/arm/plat-omap/mcbsp.c @@ -31,7 +31,7 @@ #include "../mach-omap2/cm-regbits-34xx.h" struct omap_mcbsp **mcbsp_ptr; -int omap_mcbsp_count, omap_mcbsp_cache_size; +int omap_mcbsp_count; static void omap_mcbsp_write(struct omap_mcbsp *mcbsp, u16 reg, u32 val) { @@ -678,7 +678,7 @@ int omap_mcbsp_request(unsigned int id) } mcbsp = id_to_mcbsp_ptr(id); - reg_cache = kzalloc(omap_mcbsp_cache_size, GFP_KERNEL); + reg_cache = kzalloc(mcbsp->reg_cache_size, GFP_KERNEL); if (!reg_cache) { return -ENOMEM; } @@ -1225,7 +1225,7 @@ static int __devinit omap_mcbsp_probe(struct platform_device *pdev) } } mcbsp->phys_base = res->start; - omap_mcbsp_cache_size = resource_size(res); + mcbsp->reg_cache_size = resource_size(res); mcbsp->io_base = ioremap(res->start, resource_size(res)); if (!mcbsp->io_base) { ret = -ENOMEM; |