diff options
| author | Tom Rini <[email protected]> | 2021-09-28 13:57:56 -0400 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2021-09-28 13:57:56 -0400 |
| commit | b5d7a200a81097fddef7ba5ec42e330d49fa2f33 (patch) | |
| tree | 1fa564e36db8678724af5817e5163060f2852d54 /include | |
| parent | 0b9bcf665cd98fe9db0956c894006b250a7d465f (diff) | |
| parent | 24ea366add54b8ca753eb3259bff8b50693dc8ef (diff) | |
Merge branch '2021-09-28-regression-fixes'
- Reintroduce creating internally the "nor%d" style names, in order to
fix some use U-Boot use-cases involving the "mtd" command.
- Fix a regression over the default SPI bus mode shown by having the
compiled default actually start being used. The correct default here
is 0.
- Fix ethernet on imx7d-sdb
- Fix a regression with MTD NAND devices when OF_LIVE is enabled
Diffstat (limited to 'include')
| -rw-r--r-- | include/dm/device.h | 3 | ||||
| -rw-r--r-- | include/linux/mtd/rawnand.h | 6 | ||||
| -rw-r--r-- | include/linux/mtd/spi-nor.h | 2 | ||||
| -rw-r--r-- | include/mtd.h | 5 | ||||
| -rw-r--r-- | include/mtd/cfi_flash.h | 8 |
5 files changed, 19 insertions, 5 deletions
diff --git a/include/dm/device.h b/include/dm/device.h index 0a9718a5b81..9d0ca6a550e 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 66febc6b721..2fba9dc317e 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 7ddc4ba2bf2..4ceeae623de 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 b569331edb0..f9e5082446a 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 4963c89642f..a1af6fc200f 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 |
