Commit d231f5cb authored by Peter Ujfalusi's avatar Peter Ujfalusi
Browse files

OMAP: McPDM: Convert McPDM device to omap_device



McPDM device is converted to omap device.

Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Jorge Eduardo Candelaria
Signed-off-by: Margarita Olaya Cabrera
Signed-off-by: default avatarLiam Girdwood <lrg@ti.com>
Signed-off-by: default avatarMisael Lopez Cruz <misael.lopez@ti.com>
Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: default avatarTony Lindgren <tony@atomide.com>
parent 0722d055
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -330,6 +330,38 @@ static void omap_init_audio(void)
static inline void omap_init_audio(void) {}
#endif

#if defined(CONFIG_SND_OMAP_SOC_MCPDM) || \
		defined(CONFIG_SND_OMAP_SOC_MCPDM_MODULE)

static struct omap_device_pm_latency omap_mcpdm_latency[] = {
	{
		.deactivate_func = omap_device_idle_hwmods,
		.activate_func = omap_device_enable_hwmods,
		.flags = OMAP_DEVICE_LATENCY_AUTO_ADJUST,
	},
};

static void omap_init_mcpdm(void)
{
	struct omap_hwmod *oh;
	struct omap_device *od;

	oh = omap_hwmod_lookup("mcpdm");
	if (!oh) {
		printk(KERN_ERR "Could not look up mcpdm hw_mod\n");
		return;
	}

	od = omap_device_build("omap-mcpdm", -1, oh, NULL, 0,
				omap_mcpdm_latency,
				ARRAY_SIZE(omap_mcpdm_latency), 0);
	if (IS_ERR(od))
		printk(KERN_ERR "Could not build omap_device for omap-mcpdm-dai\n");
}
#else
static inline void omap_init_mcpdm(void) {}
#endif

#if defined(CONFIG_SPI_OMAP24XX) || defined(CONFIG_SPI_OMAP24XX_MODULE)

#include <plat/mcspi.h>
@@ -683,6 +715,7 @@ static int __init omap2_init_devices(void)
	 * in alphabetical order so they're easier to sort through.
	 */
	omap_init_audio();
	omap_init_mcpdm();
	omap_init_camera();
	omap_init_mbox();
	omap_init_mcspi();
+0 −36
Original line number Diff line number Diff line
@@ -74,41 +74,6 @@ void omap_mcbsp_register_board_cfg(struct resource *res, int res_count,

/*-------------------------------------------------------------------------*/

#if defined(CONFIG_SND_OMAP_SOC_MCPDM) || \
		defined(CONFIG_SND_OMAP_SOC_MCPDM_MODULE)

static struct resource mcpdm_resources[] = {
	{
		.name		= "mcpdm_mem",
		.start		= OMAP44XX_MCPDM_BASE,
		.end		= OMAP44XX_MCPDM_BASE + SZ_4K,
		.flags		= IORESOURCE_MEM,
	},
	{
		.name		= "mcpdm_irq",
		.start		= OMAP44XX_IRQ_MCPDM,
		.end		= OMAP44XX_IRQ_MCPDM,
		.flags		= IORESOURCE_IRQ,
	},
};

static struct platform_device omap_mcpdm_device = {
	.name		= "omap-mcpdm",
	.id		= -1,
	.num_resources	= ARRAY_SIZE(mcpdm_resources),
	.resource	= mcpdm_resources,
};

static void omap_init_mcpdm(void)
{
	(void) platform_device_register(&omap_mcpdm_device);
}
#else
static inline void omap_init_mcpdm(void) {}
#endif

/*-------------------------------------------------------------------------*/

#if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) || \
	defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)

@@ -291,7 +256,6 @@ static int __init omap_init_devices(void)
	 * in alphabetical order so they're easier to sort through.
	 */
	omap_init_rng();
	omap_init_mcpdm();
	omap_init_uwire();
	return 0;
}