summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/dm/device.h3
-rw-r--r--include/linux/mtd/rawnand.h6
-rw-r--r--include/linux/mtd/spi-nor.h2
-rw-r--r--include/mtd.h5
-rw-r--r--include/mtd/cfi_flash.h8
5 files changed, 19 insertions, 5 deletions
diff --git a/include/dm/device.h b/include/dm/device.h
index 0a9718a5b8..9d0ca6a550 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -207,8 +207,9 @@ struct udevice_rt {
u32 flags_;
};
-/* Maximum sequence number supported */
+/* Maximum sequence number supported and associated string length */
#define DM_MAX_SEQ 999
+#define DM_MAX_SEQ_STR 3
/* Returns the operations for a device */
#define device_get_ops(dev) (dev->driver->ops)
diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h
index 66febc6b72..2fba9dc317 100644
--- a/include/linux/mtd/rawnand.h
+++ b/include/linux/mtd/rawnand.h
@@ -891,7 +891,7 @@ struct nand_chip {
void __iomem *IO_ADDR_R;
void __iomem *IO_ADDR_W;
- int flash_node;
+ ofnode flash_node;
uint8_t (*read_byte)(struct mtd_info *mtd);
u16 (*read_word)(struct mtd_info *mtd);
@@ -973,12 +973,12 @@ struct nand_chip {
static inline void nand_set_flash_node(struct nand_chip *chip,
ofnode node)
{
- chip->flash_node = ofnode_to_offset(node);
+ chip->flash_node = node;
}
static inline ofnode nand_get_flash_node(struct nand_chip *chip)
{
- return offset_to_ofnode(chip->flash_node);
+ return chip->flash_node;
}
static inline struct nand_chip *mtd_to_nand(struct mtd_info *mtd)
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
index 7ddc4ba2bf..4ceeae623d 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -7,6 +7,7 @@
#ifndef __LINUX_MTD_SPI_NOR_H
#define __LINUX_MTD_SPI_NOR_H
+#include <mtd.h>
#include <linux/bitops.h>
#include <linux/mtd/cfi.h>
#include <linux/mtd/mtd.h>
@@ -561,6 +562,7 @@ struct spi_nor {
int (*ready)(struct spi_nor *nor);
void *priv;
+ char mtd_name[MTD_NAME_SIZE(MTD_DEV_TYPE_NOR)];
/* Compatibility for spi_flash, remove once sf layer is merged with mtd */
const char *name;
u32 size;
diff --git a/include/mtd.h b/include/mtd.h
index b569331edb..f9e5082446 100644
--- a/include/mtd.h
+++ b/include/mtd.h
@@ -6,10 +6,15 @@
#ifndef _MTD_H_
#define _MTD_H_
+#include <dm/device.h>
+#include <jffs2/load_kernel.h>
#include <linux/mtd/mtd.h>
int mtd_probe_devices(void);
void board_mtdparts_default(const char **mtdids, const char **mtdparts);
+/* compute the max size for the string associated to a dev type */
+#define MTD_NAME_SIZE(type) (sizeof(MTD_DEV_TYPE(type)) + DM_MAX_SEQ_STR)
+
#endif /* _MTD_H_ */
diff --git a/include/mtd/cfi_flash.h b/include/mtd/cfi_flash.h
index 4963c89642..a1af6fc200 100644
--- a/include/mtd/cfi_flash.h
+++ b/include/mtd/cfi_flash.h
@@ -157,11 +157,17 @@ struct cfi_pri_hdr {
* Use CONFIG_SYS_MAX_FLASH_BANKS_DETECT if defined
*/
#if defined(CONFIG_SYS_MAX_FLASH_BANKS_DETECT)
-#define CONFIG_SYS_MAX_FLASH_BANKS (cfi_flash_num_flash_banks)
#define CFI_MAX_FLASH_BANKS CONFIG_SYS_MAX_FLASH_BANKS_DETECT
+/* map to cfi_flash_num_flash_banks only when supported */
+#if IS_ENABLED(CONFIG_FLASH_CFI_DRIVER) && \
+ (!IS_ENABLED(CONFIG_SPL_BUILD) || IS_ENABLED(CONFIG_SPL_MTD_SUPPORT))
+#define CONFIG_SYS_MAX_FLASH_BANKS (cfi_flash_num_flash_banks)
/* board code can update this variable before CFI detection */
extern int cfi_flash_num_flash_banks;
#else
+#define CONFIG_SYS_MAX_FLASH_BANKS CONFIG_SYS_MAX_FLASH_BANKS_DETECT
+#endif
+#else
#define CFI_MAX_FLASH_BANKS CONFIG_SYS_MAX_FLASH_BANKS
#endif