Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a927ef89 authored by Robert Jarzmik's avatar Robert Jarzmik
Browse files

ARM: pxa: fix dm9000 platform data regression



Since dm9000 driver added support for a vcc regulator, platform data
based platforms have their ethernet broken, as the regulator claiming
returns -EPROBE_DEFER and prevents dm9000 loading.

This patch fixes this for all pxa boards using dm9000, by using the
specific regulator_has_full_constraints() function.

This was discovered and tested on the cm-x300 board.

Fixes: 7994fe55 ("dm9000: Add regulator and reset support to dm9000")
Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
Acked-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
parent d770e558
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <linux/ata_platform.h>
#include <linux/serial_8250.h>
#include <linux/gpio.h>
#include <linux/regulator/machine.h>

#include <asm/mach-types.h>
#include <asm/mach/arch.h>
@@ -144,6 +145,8 @@ static void __init capc7117_init(void)

	capc7117_uarts_init();
	capc7117_ide_init();

	regulator_has_full_constraints();
}

MACHINE_START(CAPC7117,
+3 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
#include <linux/syscore_ops.h>
#include <linux/irq.h>
#include <linux/gpio.h>
#include <linux/regulator/machine.h>

#include <linux/dm9000.h>
#include <linux/leds.h>
@@ -466,6 +467,8 @@ static void __init cmx2xx_init(void)
	cmx2xx_init_ac97();
	cmx2xx_init_touchscreen();
	cmx2xx_init_leds();

	regulator_has_full_constraints();
}

static void __init cmx2xx_init_irq(void)
+2 −0
Original line number Diff line number Diff line
@@ -835,6 +835,8 @@ static void __init cm_x300_init(void)
	cm_x300_init_ac97();
	cm_x300_init_wi2wi();
	cm_x300_init_bl();

	regulator_has_full_constraints();
}

static void __init cm_x300_fixup(struct tag *tags, char **cmdline)
+3 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
#include <linux/mtd/partitions.h>
#include <linux/mtd/physmap.h>
#include <linux/platform_device.h>
#include <linux/regulator/machine.h>
#include <linux/ucb1400.h>

#include <asm/mach/arch.h>
@@ -294,6 +295,8 @@ static void __init colibri_pxa270_init(void)
		printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n",
				colibri_pxa270_baseboard);
	}

	regulator_has_full_constraints();
}

/* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either
+2 −0
Original line number Diff line number Diff line
@@ -1306,6 +1306,8 @@ static void __init em_x270_init(void)
	em_x270_init_i2c();
	em_x270_init_camera();
	em_x270_userspace_consumers_init();

	regulator_has_full_constraints();
}

MACHINE_START(EM_X270, "Compulab EM-X270")
Loading