mtd: spi-nor: spansion: Remove NO_SFDP_FLAGS from s28hs512t info
authorTakahiro Kuwano <Takahiro.Kuwano@infineon.com>
Wed, 31 Aug 2022 04:59:04 +0000 (13:59 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 09:53:27 +0000 (11:53 +0200)
[ Upstream commit db391efe765cc6cfc0ffc8d8ef146dc8e6816a7e ]

Read, Page Program, and Sector Erase settings are done in SFDP so we can
remove NO_SFDP_FLAGS from s28hs512t info. Since the default_init() is no
longer called after removing NO_SFDP_FLAGS, the initialization in the
default_init() is moved to late_init().

Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Link: https://lore.kernel.org/r/12e468992f5d0cbd474abff3203100cc8163d4e5.1661915569.git.Takahiro.Kuwano@infineon.com
Stable-dep-of: 9fd0945fe6fa ("mtd: spi-nor: spansion: Enable JFFS2 write buffer for Infineon s28hx SEMPER flash")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mtd/spi-nor/spansion.c

index 7ac2ad1a8d576f511c68097377095977803d8867..6bbbfc9c215b8605b6481ab23e212177cc57def5 100644 (file)
@@ -280,12 +280,6 @@ static int cypress_nor_octal_dtr_enable(struct spi_nor *nor, bool enable)
                        cypress_nor_octal_dtr_dis(nor);
 }
 
-static void s28hs512t_default_init(struct spi_nor *nor)
-{
-       nor->params->octal_dtr_enable = cypress_nor_octal_dtr_enable;
-       nor->params->writesize = 16;
-}
-
 static void s28hs512t_post_sfdp_fixup(struct spi_nor *nor)
 {
        /*
@@ -321,10 +315,16 @@ static int s28hs512t_post_bfpt_fixup(struct spi_nor *nor,
        return cypress_nor_set_page_size(nor);
 }
 
+static void s28hs512t_late_init(struct spi_nor *nor)
+{
+       nor->params->octal_dtr_enable = cypress_nor_octal_dtr_enable;
+       nor->params->writesize = 16;
+}
+
 static const struct spi_nor_fixups s28hs512t_fixups = {
-       .default_init = s28hs512t_default_init,
        .post_sfdp = s28hs512t_post_sfdp_fixup,
        .post_bfpt = s28hs512t_post_bfpt_fixup,
+       .late_init = s28hs512t_late_init,
 };
 
 static int
@@ -459,8 +459,7 @@ static const struct flash_info spansion_nor_parts[] = {
        { "cy15x104q",  INFO6(0x042cc2, 0x7f7f7f, 512 * 1024, 1)
                FLAGS(SPI_NOR_NO_ERASE) },
        { "s28hs512t",   INFO(0x345b1a,      0, 256 * 1024, 256)
-               NO_SFDP_FLAGS(SECT_4K | SPI_NOR_OCTAL_DTR_READ |
-                             SPI_NOR_OCTAL_DTR_PP)
+               PARSE_SFDP
                .fixups = &s28hs512t_fixups,
        },
 };