Messages in this thread Patch in this message | | | From | Michael Walle <> | Subject | [RFC PATCH v1 6/6] mtd: spi-nor: introduce support for displaying deprecation message | Date | Fri, 12 Apr 2024 15:44:05 +0200 |
| |
SPI-NOR will automatically detect the attached flash device most of the time. We cannot easily find out if boards are using a given flash. Therefore, introduce a (temporary) flag to display a message on boot if support for a given flash device is scheduled to be removed in the future.
Signed-off-by: Michael Walle <mwalle@kernel.org> --- drivers/mtd/spi-nor/core.c | 12 ++++++++++++ drivers/mtd/spi-nor/core.h | 1 + 2 files changed, 13 insertions(+)
diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c index 58d310427d35..a294eef2e34a 100644 --- a/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c @@ -3312,6 +3312,7 @@ static const struct flash_info *spi_nor_get_flash_info(struct spi_nor *nor, const char *name) { const struct flash_info *jinfo = NULL, *info = NULL; + const char *deprecated = NULL; if (name) info = spi_nor_match_name(nor, name); @@ -3326,6 +3327,17 @@ static const struct flash_info *spi_nor_get_flash_info(struct spi_nor *nor, return jinfo; } + if (info && (info->flags & SPI_NOR_DEPRECATED)) + deprecated = info->name; + else if (jinfo && (jinfo->flags & SPI_NOR_DEPRECATED)) + deprecated = jinfo->name; + + if (deprecated) + pr_warn("Your board or device tree is using a SPI NOR flash (%s) with\n" + "deprecated driver support. It will be removed in future kernel\n" + "version. If you feel this shouldn't be the case, please contact\n" + "us at linux-mtd@lists.infradead.org\n", deprecated); + /* * If caller has specified name of flash model that can normally be * detected using JEDEC, let's verify it. diff --git a/drivers/mtd/spi-nor/core.h b/drivers/mtd/spi-nor/core.h index 8552e31b1b07..0317d8e253f4 100644 --- a/drivers/mtd/spi-nor/core.h +++ b/drivers/mtd/spi-nor/core.h @@ -524,6 +524,7 @@ struct flash_info { #define SPI_NOR_NO_ERASE BIT(6) #define SPI_NOR_QUAD_PP BIT(8) #define SPI_NOR_RWW BIT(9) +#define SPI_NOR_DEPRECATED BIT(15) u8 no_sfdp_flags; #define SPI_NOR_SKIP_SFDP BIT(0) -- 2.39.2
| |