aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1/mcbsp.c
diff options
context:
space:
mode:
authorJarkko Nikula <jarkko.nikula@bitmer.com>2011-09-26 03:45:38 -0400
committerTony Lindgren <tony@atomide.com>2011-09-26 20:46:35 -0400
commit40246e0003f02160a116db249270129b0c600e95 (patch)
tree5a7184088f40a232a444cb3bd90ea7a4152239e6 /arch/arm/mach-omap1/mcbsp.c
parent00a327c05c31a19ae2e36cdb556ad283a751fc4b (diff)
ARM: OMAP: mcbsp: Move out omap_mcbsp_register_board_cfg from plat-omap/devices.c
Only OMAP1s are using omap_mcbsp_register_board_cfg after OMAP2+ hwmod conversion so it can be moved to mach-omap1/mcbsp.c. 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/arm/mach-omap1/mcbsp.c')
-rw-r--r--arch/arm/mach-omap1/mcbsp.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
index ab7395d84bc..3c985ac1dfc 100644
--- a/arch/arm/mach-omap1/mcbsp.c
+++ b/arch/arm/mach-omap1/mcbsp.c
@@ -31,6 +31,7 @@
31static int dsp_use; 31static int dsp_use;
32static struct clk *api_clk; 32static struct clk *api_clk;
33static struct clk *dsp_clk; 33static struct clk *dsp_clk;
34static struct platform_device **omap_mcbsp_devices;
34 35
35static void omap1_mcbsp_request(unsigned int id) 36static void omap1_mcbsp_request(unsigned int id)
36{ 37{
@@ -369,6 +370,37 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
369#define OMAP16XX_MCBSP_COUNT 0 370#define OMAP16XX_MCBSP_COUNT 0
370#endif 371#endif
371 372
373static void omap_mcbsp_register_board_cfg(struct resource *res, int res_count,
374 struct omap_mcbsp_platform_data *config, int size)
375{
376 int i;
377
378 omap_mcbsp_devices = kzalloc(size * sizeof(struct platform_device *),
379 GFP_KERNEL);
380 if (!omap_mcbsp_devices) {
381 printk(KERN_ERR "Could not register McBSP devices\n");
382 return;
383 }
384
385 for (i = 0; i < size; i++) {
386 struct platform_device *new_mcbsp;
387 int ret;
388
389 new_mcbsp = platform_device_alloc("omap-mcbsp", i + 1);
390 if (!new_mcbsp)
391 continue;
392 platform_device_add_resources(new_mcbsp, &res[i * res_count],
393 res_count);
394 new_mcbsp->dev.platform_data = &config[i];
395 ret = platform_device_add(new_mcbsp);
396 if (ret) {
397 platform_device_put(new_mcbsp);
398 continue;
399 }
400 omap_mcbsp_devices[i] = new_mcbsp;
401 }
402}
403
372static int __init omap1_mcbsp_init(void) 404static int __init omap1_mcbsp_init(void)
373{ 405{
374 if (!cpu_class_is_omap1()) 406 if (!cpu_class_is_omap1())