ARM: OMAP: Move omap_mmc_add() to mach-omap1
Now that omap2420 is using hwmod for MMC, this code is omap1 only used on omap1. Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
parent
2fdad5c971
commit
5ff391d8ac
3 changed files with 43 additions and 57 deletions
|
@ -144,6 +144,49 @@ static inline void omap1_mmc_mux(struct omap_mmc_platform_data *mmc_controller,
|
|||
}
|
||||
}
|
||||
|
||||
#define OMAP_MMC_NR_RES 2
|
||||
|
||||
/*
|
||||
* Register MMC devices.
|
||||
*/
|
||||
static int __init omap_mmc_add(const char *name, int id, unsigned long base,
|
||||
unsigned long size, unsigned int irq,
|
||||
struct omap_mmc_platform_data *data)
|
||||
{
|
||||
struct platform_device *pdev;
|
||||
struct resource res[OMAP_MMC_NR_RES];
|
||||
int ret;
|
||||
|
||||
pdev = platform_device_alloc(name, id);
|
||||
if (!pdev)
|
||||
return -ENOMEM;
|
||||
|
||||
memset(res, 0, OMAP_MMC_NR_RES * sizeof(struct resource));
|
||||
res[0].start = base;
|
||||
res[0].end = base + size - 1;
|
||||
res[0].flags = IORESOURCE_MEM;
|
||||
res[1].start = res[1].end = irq;
|
||||
res[1].flags = IORESOURCE_IRQ;
|
||||
|
||||
ret = platform_device_add_resources(pdev, res, ARRAY_SIZE(res));
|
||||
if (ret == 0)
|
||||
ret = platform_device_add_data(pdev, data, sizeof(*data));
|
||||
if (ret)
|
||||
goto fail;
|
||||
|
||||
ret = platform_device_add(pdev);
|
||||
if (ret)
|
||||
goto fail;
|
||||
|
||||
/* return device handle to board setup code */
|
||||
data->dev = &pdev->dev;
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
platform_device_put(pdev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void __init omap1_init_mmc(struct omap_mmc_platform_data **mmc_data,
|
||||
int nr_controllers)
|
||||
{
|
||||
|
|
|
@ -28,54 +28,6 @@
|
|||
#include <plat/menelaus.h>
|
||||
#include <plat/omap44xx.h>
|
||||
|
||||
#if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) || \
|
||||
defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
|
||||
|
||||
#define OMAP_MMC_NR_RES 2
|
||||
|
||||
/*
|
||||
* Register MMC devices. Called from mach-omap1 and mach-omap2 device init.
|
||||
*/
|
||||
int __init omap_mmc_add(const char *name, int id, unsigned long base,
|
||||
unsigned long size, unsigned int irq,
|
||||
struct omap_mmc_platform_data *data)
|
||||
{
|
||||
struct platform_device *pdev;
|
||||
struct resource res[OMAP_MMC_NR_RES];
|
||||
int ret;
|
||||
|
||||
pdev = platform_device_alloc(name, id);
|
||||
if (!pdev)
|
||||
return -ENOMEM;
|
||||
|
||||
memset(res, 0, OMAP_MMC_NR_RES * sizeof(struct resource));
|
||||
res[0].start = base;
|
||||
res[0].end = base + size - 1;
|
||||
res[0].flags = IORESOURCE_MEM;
|
||||
res[1].start = res[1].end = irq;
|
||||
res[1].flags = IORESOURCE_IRQ;
|
||||
|
||||
ret = platform_device_add_resources(pdev, res, ARRAY_SIZE(res));
|
||||
if (ret == 0)
|
||||
ret = platform_device_add_data(pdev, data, sizeof(*data));
|
||||
if (ret)
|
||||
goto fail;
|
||||
|
||||
ret = platform_device_add(pdev);
|
||||
if (ret)
|
||||
goto fail;
|
||||
|
||||
/* return device handle to board setup code */
|
||||
data->dev = &pdev->dev;
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
platform_device_put(pdev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
#if defined(CONFIG_HW_RANDOM_OMAP) || defined(CONFIG_HW_RANDOM_OMAP_MODULE)
|
||||
|
|
|
@ -177,9 +177,6 @@ extern void omap_mmc_notify_cover_event(struct device *dev, int slot,
|
|||
void omap1_init_mmc(struct omap_mmc_platform_data **mmc_data,
|
||||
int nr_controllers);
|
||||
void omap242x_init_mmc(struct omap_mmc_platform_data **mmc_data);
|
||||
int omap_mmc_add(const char *name, int id, unsigned long base,
|
||||
unsigned long size, unsigned int irq,
|
||||
struct omap_mmc_platform_data *data);
|
||||
#else
|
||||
static inline void omap1_init_mmc(struct omap_mmc_platform_data **mmc_data,
|
||||
int nr_controllers)
|
||||
|
@ -188,12 +185,6 @@ static inline void omap1_init_mmc(struct omap_mmc_platform_data **mmc_data,
|
|||
static inline void omap242x_init_mmc(struct omap_mmc_platform_data **mmc_data)
|
||||
{
|
||||
}
|
||||
static inline int omap_mmc_add(const char *name, int id, unsigned long base,
|
||||
unsigned long size, unsigned int irq,
|
||||
struct omap_mmc_platform_data *data)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue