Commit ef8f8f04 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Thomas Bogendoerfer
Browse files

MIPS: Alchemy: only build mmc support helpers if au1xmmc is enabled



While commit d4a5c59a ("mmc: au1xmmc: force non-modular build and
remove symbol_get usage") to be built in, it can still build a kernel
without MMC support and thuse no mmc_detect_change symbol at all.

Add ifdefs to build the mmc support code in the alchemy arch code
conditional on mmc support.

Fixes: d4a5c59a ("mmc: au1xmmc: force non-modular build and remove symbol_get usage")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent 6465e260
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ static struct platform_device db1x00_audio_dev = {

/******************************************************************************/

#ifdef CONFIG_MMC_AU1X
static irqreturn_t db1100_mmc_cd(int irq, void *ptr)
{
	mmc_detect_change(ptr, msecs_to_jiffies(500));
@@ -369,6 +370,7 @@ static struct platform_device db1100_mmc1_dev = {
	.num_resources	= ARRAY_SIZE(au1100_mmc1_res),
	.resource	= au1100_mmc1_res,
};
#endif /* CONFIG_MMC_AU1X */

/******************************************************************************/

@@ -440,8 +442,10 @@ static struct platform_device *db1x00_devs[] = {

static struct platform_device *db1100_devs[] = {
	&au1100_lcd_device,
#ifdef CONFIG_MMC_AU1X
	&db1100_mmc0_dev,
	&db1100_mmc1_dev,
#endif
};

int __init db1000_dev_setup(void)
+6 −0
Original line number Diff line number Diff line
@@ -326,6 +326,7 @@ static struct platform_device db1200_ide_dev = {

/**********************************************************************/

#ifdef CONFIG_MMC_AU1X
/* SD carddetects:  they're supposed to be edge-triggered, but ack
 * doesn't seem to work (CPLD Rev 2).  Instead, the screaming one
 * is disabled and its counterpart enabled.  The 200ms timeout is
@@ -584,6 +585,7 @@ static struct platform_device pb1200_mmc1_dev = {
	.num_resources	= ARRAY_SIZE(au1200_mmc1_res),
	.resource	= au1200_mmc1_res,
};
#endif /* CONFIG_MMC_AU1X */

/**********************************************************************/

@@ -751,7 +753,9 @@ static struct platform_device db1200_audiodma_dev = {
static struct platform_device *db1200_devs[] __initdata = {
	NULL,		/* PSC0, selected by S6.8 */
	&db1200_ide_dev,
#ifdef CONFIG_MMC_AU1X
	&db1200_mmc0_dev,
#endif
	&au1200_lcd_dev,
	&db1200_eth_dev,
	&db1200_nand_dev,
@@ -762,7 +766,9 @@ static struct platform_device *db1200_devs[] __initdata = {
};

static struct platform_device *pb1200_devs[] __initdata = {
#ifdef CONFIG_MMC_AU1X
	&pb1200_mmc1_dev,
#endif
};

/* Some peripheral base addresses differ on the PB1200 */
+4 −0
Original line number Diff line number Diff line
@@ -450,6 +450,7 @@ static struct platform_device db1300_ide_dev = {

/**********************************************************************/

#ifdef CONFIG_MMC_AU1X
static irqreturn_t db1300_mmc_cd(int irq, void *ptr)
{
	disable_irq_nosync(irq);
@@ -632,6 +633,7 @@ static struct platform_device db1300_sd0_dev = {
	.resource	= au1300_sd0_res,
	.num_resources	= ARRAY_SIZE(au1300_sd0_res),
};
#endif /* CONFIG_MMC_AU1X */

/**********************************************************************/

@@ -767,8 +769,10 @@ static struct platform_device *db1300_dev[] __initdata = {
	&db1300_5waysw_dev,
	&db1300_nand_dev,
	&db1300_ide_dev,
#ifdef CONFIG_MMC_AU1X
	&db1300_sd0_dev,
	&db1300_sd1_dev,
#endif
	&db1300_lcd_dev,
	&db1300_ac97_dev,
	&db1300_i2s_dev,