diff options
author | Jarkko Nikula <jarkko.nikula@bitmer.com> | 2011-09-26 03:45:38 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-09-26 20:46:35 -0400 |
commit | 40246e0003f02160a116db249270129b0c600e95 (patch) | |
tree | 5a7184088f40a232a444cb3bd90ea7a4152239e6 /arch/arm/mach-omap1/mcbsp.c | |
parent | 00a327c05c31a19ae2e36cdb556ad283a751fc4b (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.c | 32 |
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 @@ | |||
31 | static int dsp_use; | 31 | static int dsp_use; |
32 | static struct clk *api_clk; | 32 | static struct clk *api_clk; |
33 | static struct clk *dsp_clk; | 33 | static struct clk *dsp_clk; |
34 | static struct platform_device **omap_mcbsp_devices; | ||
34 | 35 | ||
35 | static void omap1_mcbsp_request(unsigned int id) | 36 | static 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 | ||
373 | static 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 | |||
372 | static int __init omap1_mcbsp_init(void) | 404 | static int __init omap1_mcbsp_init(void) |
373 | { | 405 | { |
374 | if (!cpu_class_is_omap1()) | 406 | if (!cpu_class_is_omap1()) |