Merge tag 'trace-v5.0-pre' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[sfrench/cifs-2.6.git] / arch / arm / mach-davinci / board-da850-evm.c
index 44bca048dfd0d5d75b65954d5a178308f036469c..1fdc9283a8c50f5b458c94b26f84eb202ed7dc32 100644 (file)
 #include <linux/spi/flash.h>
 
 #include <mach/common.h>
-#include "cp_intc.h"
 #include <mach/da8xx.h>
 #include <mach/mux.h>
+
+#include "irqs.h"
 #include "sram.h"
 
 #include <asm/mach-types.h>
@@ -150,32 +151,6 @@ static struct spi_board_info da850evm_spi_info[] = {
        },
 };
 
-#ifdef CONFIG_MTD
-static void da850_evm_m25p80_notify_add(struct mtd_info *mtd)
-{
-       char *mac_addr = davinci_soc_info.emac_pdata->mac_addr;
-       size_t retlen;
-
-       if (!strcmp(mtd->name, "MAC-Address")) {
-               mtd_read(mtd, 0, ETH_ALEN, &retlen, mac_addr);
-               if (retlen == ETH_ALEN)
-                       pr_info("Read MAC addr from SPI Flash: %pM\n",
-                               mac_addr);
-       }
-}
-
-static struct mtd_notifier da850evm_spi_notifier = {
-       .add    = da850_evm_m25p80_notify_add,
-};
-
-static void da850_evm_setup_mac_addr(void)
-{
-       register_mtd_user(&da850evm_spi_notifier);
-}
-#else
-static void da850_evm_setup_mac_addr(void) { }
-#endif
-
 static struct mtd_partition da850_evm_norflash_partition[] = {
        {
                .name           = "bootloaders + env",
@@ -1064,6 +1039,17 @@ static const short da850_evm_rmii_pins[] = {
        -1
 };
 
+static struct gpiod_hog da850_evm_emac_gpio_hogs[] = {
+       {
+               .chip_label     = "davinci_gpio",
+               .chip_hwnum     = DA850_MII_MDIO_CLKEN_PIN,
+               .line_name      = "mdio_clk_en",
+               .lflags         = 0,
+               /* dflags set in da850_evm_config_emac() */
+       },
+       { }
+};
+
 static int __init da850_evm_config_emac(void)
 {
        void __iomem *cfg_chip3_base;
@@ -1102,14 +1088,9 @@ static int __init da850_evm_config_emac(void)
        if (ret)
                pr_warn("%s:GPIO(2,6) mux setup failed\n", __func__);
 
-       ret = gpio_request(DA850_MII_MDIO_CLKEN_PIN, "mdio_clk_en");
-       if (ret) {
-               pr_warn("Cannot open GPIO %d\n", DA850_MII_MDIO_CLKEN_PIN);
-               return ret;
-       }
-
-       /* Enable/Disable MII MDIO clock */
-       gpio_direction_output(DA850_MII_MDIO_CLKEN_PIN, rmii_en);
+       da850_evm_emac_gpio_hogs[0].dflags = rmii_en ? GPIOD_OUT_HIGH
+                                                    : GPIOD_OUT_LOW;
+       gpiod_add_hogs(da850_evm_emac_gpio_hogs);
 
        soc_info->emac_pdata->phy_id = DA850_EVM_PHY_ID;
 
@@ -1494,8 +1475,6 @@ static __init void da850_evm_init(void)
        if (ret)
                pr_warn("%s: SATA registration failed: %d\n", __func__, ret);
 
-       da850_evm_setup_mac_addr();
-
        ret = da8xx_register_rproc();
        if (ret)
                pr_warn("%s: dsp/rproc registration failed: %d\n",
@@ -1521,7 +1500,7 @@ static void __init da850_evm_map_io(void)
 MACHINE_START(DAVINCI_DA850_EVM, "DaVinci DA850/OMAP-L138/AM18x EVM")
        .atag_offset    = 0x100,
        .map_io         = da850_evm_map_io,
-       .init_irq       = cp_intc_init,
+       .init_irq       = da850_init_irq,
        .init_time      = da850_init_time,
        .init_machine   = da850_evm_init,
        .init_late      = davinci_init_late,