common: Drop init.h from common header
[pandora-u-boot.git] / drivers / mtd / cfi_flash.c
index da44e61..16cdfe3 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2002-2004
  * Brad Kemp, Seranoa Networks, Brad.Kemp@seranoa.com
@@ -10,8 +11,6 @@
  *
  * Copyright (C) 2006
  * Tolunay Orkun <listmember@orkun.us>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 /* The DEBUG define must be before common to enable debugging */
 #include <common.h>
 #include <console.h>
 #include <dm.h>
+#include <env.h>
 #include <errno.h>
 #include <fdt_support.h>
+#include <flash.h>
+#include <init.h>
+#include <irq_func.h>
 #include <asm/processor.h>
 #include <asm/io.h>
 #include <asm/byteorder.h>
 #include <asm/unaligned.h>
-#include <environment.h>
+#include <env_internal.h>
 #include <mtd/cfi_flash.h>
 #include <watchdog.h>
 
@@ -178,7 +181,8 @@ __maybe_weak u64 flash_read64(void *addr)
 /*-----------------------------------------------------------------------
  */
 #if defined(CONFIG_ENV_IS_IN_FLASH) || defined(CONFIG_ENV_ADDR_REDUND) || \
-       (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE)
+       (defined(CONFIG_SYS_MONITOR_BASE) && \
+       (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE))
 static flash_info_t *flash_get_info(ulong base)
 {
        int i;
@@ -2329,7 +2333,8 @@ static void flash_protect_default(void)
 #endif
 
        /* Monitor protection ON by default */
-#if (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE) && \
+#if defined(CONFIG_SYS_MONITOR_BASE) && \
+       (CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE) && \
        (!defined(CONFIG_MONITOR_IS_IN_RAM))
        flash_protect(FLAG_PROTECT_SET,
                      CONFIG_SYS_MONITOR_BASE,
@@ -2461,27 +2466,28 @@ unsigned long flash_init(void)
 #ifdef CONFIG_CFI_FLASH /* for driver model */
 static int cfi_flash_probe(struct udevice *dev)
 {
-       void *blob = (void *)gd->fdt_blob;
-       int node = dev_of_offset(dev);
        const fdt32_t *cell;
-       phys_addr_t addr;
-       int parent, addrc, sizec;
+       int addrc, sizec;
        int len, idx;
 
-       parent = fdt_parent_offset(blob, node);
-       fdt_support_default_count_cells(blob, parent, &addrc, &sizec);
-       /* decode regs, there may be multiple reg tuples. */
-       cell = fdt_getprop(blob, node, "reg", &len);
+       addrc = dev_read_addr_cells(dev);
+       sizec = dev_read_size_cells(dev);
+
+       /* decode regs; there may be multiple reg tuples. */
+       cell = dev_read_prop(dev, "reg", &len);
        if (!cell)
                return -ENOENT;
        idx = 0;
        len /= sizeof(fdt32_t);
        while (idx < len) {
-               addr = fdt_translate_address((void *)blob,
-                                            node, cell + idx);
+               phys_addr_t addr;
+
+               addr = dev_translate_address(dev, cell + idx);
+
                flash_info[cfi_flash_num_flash_banks].dev = dev;
                flash_info[cfi_flash_num_flash_banks].base = addr;
                cfi_flash_num_flash_banks++;
+
                idx += addrc + sizec;
        }
        gd->bd->bi_flashstart = flash_info[0].base;