forked from Minki/linux
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>
This commit is contained in:
parent
00a327c05c
commit
40246e0003
@ -31,6 +31,7 @@
|
|||||||
static int dsp_use;
|
static int dsp_use;
|
||||||
static struct clk *api_clk;
|
static struct clk *api_clk;
|
||||||
static struct clk *dsp_clk;
|
static struct clk *dsp_clk;
|
||||||
|
static struct platform_device **omap_mcbsp_devices;
|
||||||
|
|
||||||
static void omap1_mcbsp_request(unsigned int id)
|
static void omap1_mcbsp_request(unsigned int id)
|
||||||
{
|
{
|
||||||
@ -369,6 +370,37 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
|
|||||||
#define OMAP16XX_MCBSP_COUNT 0
|
#define OMAP16XX_MCBSP_COUNT 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static void omap_mcbsp_register_board_cfg(struct resource *res, int res_count,
|
||||||
|
struct omap_mcbsp_platform_data *config, int size)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
omap_mcbsp_devices = kzalloc(size * sizeof(struct platform_device *),
|
||||||
|
GFP_KERNEL);
|
||||||
|
if (!omap_mcbsp_devices) {
|
||||||
|
printk(KERN_ERR "Could not register McBSP devices\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < size; i++) {
|
||||||
|
struct platform_device *new_mcbsp;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
new_mcbsp = platform_device_alloc("omap-mcbsp", i + 1);
|
||||||
|
if (!new_mcbsp)
|
||||||
|
continue;
|
||||||
|
platform_device_add_resources(new_mcbsp, &res[i * res_count],
|
||||||
|
res_count);
|
||||||
|
new_mcbsp->dev.platform_data = &config[i];
|
||||||
|
ret = platform_device_add(new_mcbsp);
|
||||||
|
if (ret) {
|
||||||
|
platform_device_put(new_mcbsp);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
omap_mcbsp_devices[i] = new_mcbsp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int __init omap1_mcbsp_init(void)
|
static int __init omap1_mcbsp_init(void)
|
||||||
{
|
{
|
||||||
if (!cpu_class_is_omap1())
|
if (!cpu_class_is_omap1())
|
||||||
|
@ -26,54 +26,8 @@
|
|||||||
#include <plat/mmc.h>
|
#include <plat/mmc.h>
|
||||||
#include <mach/gpio.h>
|
#include <mach/gpio.h>
|
||||||
#include <plat/menelaus.h>
|
#include <plat/menelaus.h>
|
||||||
#include <plat/mcbsp.h>
|
|
||||||
#include <plat/omap44xx.h>
|
#include <plat/omap44xx.h>
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#if defined(CONFIG_OMAP_MCBSP) || defined(CONFIG_OMAP_MCBSP_MODULE)
|
|
||||||
|
|
||||||
static struct platform_device **omap_mcbsp_devices;
|
|
||||||
|
|
||||||
void omap_mcbsp_register_board_cfg(struct resource *res, int res_count,
|
|
||||||
struct omap_mcbsp_platform_data *config, int size)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
omap_mcbsp_devices = kzalloc(size * sizeof(struct platform_device *),
|
|
||||||
GFP_KERNEL);
|
|
||||||
if (!omap_mcbsp_devices) {
|
|
||||||
printk(KERN_ERR "Could not register McBSP devices\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < size; i++) {
|
|
||||||
struct platform_device *new_mcbsp;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
new_mcbsp = platform_device_alloc("omap-mcbsp", i + 1);
|
|
||||||
if (!new_mcbsp)
|
|
||||||
continue;
|
|
||||||
platform_device_add_resources(new_mcbsp, &res[i * res_count],
|
|
||||||
res_count);
|
|
||||||
new_mcbsp->dev.platform_data = &config[i];
|
|
||||||
ret = platform_device_add(new_mcbsp);
|
|
||||||
if (ret) {
|
|
||||||
platform_device_put(new_mcbsp);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
omap_mcbsp_devices[i] = new_mcbsp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
void omap_mcbsp_register_board_cfg(struct resource *res, int res_count,
|
|
||||||
struct omap_mcbsp_platform_data *config, int size)
|
|
||||||
{ }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#if defined(CONFIG_SND_OMAP_SOC_MCPDM) || \
|
#if defined(CONFIG_SND_OMAP_SOC_MCPDM) || \
|
||||||
defined(CONFIG_SND_OMAP_SOC_MCPDM_MODULE)
|
defined(CONFIG_SND_OMAP_SOC_MCPDM_MODULE)
|
||||||
|
|
||||||
|
@ -407,8 +407,6 @@ extern int omap_mcbsp_count, omap_mcbsp_cache_size;
|
|||||||
#define id_to_mcbsp_ptr(id) mcbsp_ptr[id];
|
#define id_to_mcbsp_ptr(id) mcbsp_ptr[id];
|
||||||
|
|
||||||
int omap_mcbsp_init(void);
|
int omap_mcbsp_init(void);
|
||||||
void omap_mcbsp_register_board_cfg(struct resource *res, int res_count,
|
|
||||||
struct omap_mcbsp_platform_data *config, int size);
|
|
||||||
void omap_mcbsp_config(unsigned int id, const struct omap_mcbsp_reg_cfg * config);
|
void omap_mcbsp_config(unsigned int id, const struct omap_mcbsp_reg_cfg * config);
|
||||||
#ifdef CONFIG_ARCH_OMAP3
|
#ifdef CONFIG_ARCH_OMAP3
|
||||||
void omap_mcbsp_set_tx_threshold(unsigned int id, u16 threshold);
|
void omap_mcbsp_set_tx_threshold(unsigned int id, u16 threshold);
|
||||||
|
Loading…
Reference in New Issue
Block a user