Merge tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[~shefty/rdma-dev.git] / arch / arm / mach-ux500 / board-mop500.c
index cd100d569f4d2165f5b18525610b8d7fce0e711a..574916b70b2e710215ca6fcb892286a4a3714719 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/platform_device.h>
+#include <linux/clk.h>
 #include <linux/io.h>
 #include <linux/i2c.h>
 #include <linux/platform_data/i2c-nomadik.h>
@@ -231,10 +232,7 @@ static struct platform_device snowball_sbnet_dev = {
 
 struct ab8500_platform_data ab8500_platdata = {
        .irq_base       = MOP500_AB8500_IRQ_BASE,
-       .regulator_reg_init = ab8500_regulator_reg_init,
-       .num_regulator_reg_init = ARRAY_SIZE(ab8500_regulator_reg_init),
-       .regulator      = ab8500_regulators,
-       .num_regulator  = ARRAY_SIZE(ab8500_regulators),
+       .regulator      = &ab8500_regulator_plat_data,
        .gpio           = &ab8500_gpio_pdata,
        .codec          = &ab8500_codec_pdata,
 };
@@ -472,6 +470,15 @@ static void mop500_prox_deactivate(struct device *dev)
        regulator_put(prox_regulator);
 }
 
+void mop500_snowball_ethernet_clock_enable(void)
+{
+       struct clk *clk;
+
+       clk = clk_get_sys("fsmc", NULL);
+       if (!IS_ERR(clk))
+               clk_prepare_enable(clk);
+}
+
 static struct cryp_platform_data u8500_cryp1_platform_data = {
                .mem_to_engine = {
                                .dir = STEDMA40_MEM_TO_PERIPH,
@@ -725,6 +732,8 @@ static void __init snowball_init_machine(void)
        mop500_audio_init(parent);
        mop500_uart_init(parent);
 
+       mop500_snowball_ethernet_clock_enable();
+
        /* This board has full regulator constraints */
        regulator_has_full_constraints();
 }