Skip to contentSkip to conversation

mtd: cfi_cmdset_0001: Fix compilation error if FORCE_WORD_WRITE is 1

PATCH In review Aleksander Jan Bajkowski 2 participants 3 messages Jul 7, 2024 – Jul 8, 2024 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

v2 cover mtd: cfi_cmdset_0001: Fix compilation error if FORCE_WORD_WRITE is 1

This patch fixes compilation errors when FORCE_WORD_WRITE is set to 1 and CONFIG_WERROR is enabled. CONFIG_WERROR was enabled by OpenWRT a year ago and this patch has been used downstream since then.

Changes in v2:
- Rebased on top of the master

Aleksander Jan Bajkowski (1):
mtd: cfi_cmdset_0001: Disable write buffer functions if
FORCE_WORD_WRITE is 1

 drivers/mtd/chips/cfi_cmdset_0001.c | 6 ++++++
 1 file changed, 6 insertions(+)
Signature · 6 lines
2.39.2


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
#1 lore raw

PATCH v2 1/1 mtd: cfi_cmdset_0001: Disable write buffer functions if FORCE_WORD_WRITE is 1

Some write buffer functions are not used when FORCE_WORD_WRITE is set to 1. So the compile warning messages are output if FORCE_WORD_WRITE is 1. To resolve this disable the write buffer functions if FORCE_WORD_WRITE is 1.

This is similar fix to: 557c759036fc3976a5358cef23e65a263853b93f.

---
 drivers/mtd/chips/cfi_cmdset_0001.c | 6 ++++++
 1 file changed, 6 insertions(+)
drivers/mtd/chips/cfi_cmdset_0001.c +6 -0
index c10693ba265b..5404637e54e2 100644
@@ -62,8 +62,10 @@
 
 static int cfi_intelext_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
 static int cfi_intelext_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
+#if !FORCE_WORD_WRITE
 static int cfi_intelext_write_buffers(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
 static int cfi_intelext_writev(struct mtd_info *, const struct kvec *, unsigned long, loff_t, size_t *);
+#endif
 static int cfi_intelext_erase_varsize(struct mtd_info *, struct erase_info *);
 static void cfi_intelext_sync (struct mtd_info *);
 static int cfi_intelext_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len);
@@ -305,6 +307,7 @@ static void fixup_use_point(struct mtd_info *mtd)
 	}
 }
 
+#if !FORCE_WORD_WRITE
 static void fixup_use_write_buffers(struct mtd_info *mtd)
 {
 	struct map_info *map = mtd->priv;
@@ -315,6 +318,7 @@ static void fixup_use_write_buffers(struct mtd_info *mtd)
 		mtd->_writev = cfi_intelext_writev;
 	}
 }
+#endif /* !FORCE_WORD_WRITE */
 
 /*
  * Some chips power-up with all sectors locked by default.
@@ -1720,6 +1724,7 @@ static int cfi_intelext_write_words (struct mtd_info *mtd, loff_t to , size_t le
 }
 
 
+#if !FORCE_WORD_WRITE
 static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
 				    unsigned long adr, const struct kvec **pvec,
 				    unsigned long *pvec_seek, int len)
@@ -1948,6 +1953,7 @@ static int cfi_intelext_write_buffers (struct mtd_info *mtd, loff_t to,
 
 	return cfi_intelext_writev(mtd, &vec, 1, to, retlen);
 }
+#endif /* !FORCE_WORD_WRITE */
 
 static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
 				      unsigned long adr, int len, void *thunk)
Signature · 6 lines
2.39.2


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
Acked-by on v2 1/1
#2 lore raw

Re: [PATCH v2 1/1] mtd: cfi_cmdset_0001: Disable write buffer functions if FORCE_WORD_WRITE is 1

Quoted 68 lines · Aleksander Jan Bajkowski

Some write buffer functions are not used when FORCE_WORD_WRITE is set to 1. So the compile warning messages are output if FORCE_WORD_WRITE is 1. To resolve this disable the write buffer functions if FORCE_WORD_WRITE is 1.

This is similar fix to: 557c759036fc3976a5358cef23e65a263853b93f.

---
 drivers/mtd/chips/cfi_cmdset_0001.c | 6 ++++++
 1 file changed, 6 insertions(+)
drivers/mtd/chips/cfi_cmdset_0001.c +1 -0
index c10693ba265b..5404637e54e2 100644
@@ -62,8 +62,10 @@
 
 static int cfi_intelext_read (struct mtd_info *, loff_t, size_t,
 size_t *, u_char *);
 static int cfi_intelext_write_words(struct mtd_info *, loff_t,
 size_t, size_t *, const u_char *);
+#if !FORCE_WORD_WRITE
 static int cfi_intelext_write_buffers(struct mtd_info *, loff_t,
 size_t, size_t *, const u_char *);
 static int cfi_intelext_writev(struct mtd_info *, const struct kvec

*, unsigned long, loff_t, size_t *);
+#endif
static int cfi_intelext_erase_varsize(struct mtd_info *, struct
erase_info *);
static void cfi_intelext_sync (struct mtd_info *); static int cfi_intelext_lock(struct mtd_info *mtd, loff_t ofs,
uint64_t len);

drivers/mtd/chips/cfi_cmdset_0001.c +2 -0
@@ -305,6 +307,7 @@ static void fixup_use_point(struct mtd_info *mtd)
 	}
 }
 
+#if !FORCE_WORD_WRITE
 static void fixup_use_write_buffers(struct mtd_info *mtd)
 {
 	struct map_info *map = mtd->priv;
@@ -315,6 +318,7 @@ static void fixup_use_write_buffers(struct mtd_info 
 *mtd)
 		mtd->_writev = cfi_intelext_writev;
 	}
 }
+#endif /* !FORCE_WORD_WRITE */
 
 /*

* Some chips power-up with all sectors locked by default.

drivers/mtd/chips/cfi_cmdset_0001.c +0 -0
@@ -1720,6 +1724,7 @@ static int cfi_intelext_write_words (struct

mtd_info *mtd, loff_t to , size_t le
}

+#if !FORCE_WORD_WRITE
static int __xipram do_write_buffer(struct map_info *map, struct
flchip *chip,

drivers/mtd/chips/cfi_cmdset_0001.c +1 -0
 				    unsigned long adr, const struct kvec **pvec,
 				    unsigned long *pvec_seek, int len)
@@ -1948,6 +1953,7 @@ static int cfi_intelext_write_buffers (struct
 mtd_info *mtd, loff_t to,
 
 	return cfi_intelext_writev(mtd, &vec, 1, to, retlen);
 }
+#endif /* !FORCE_WORD_WRITE */
 
 static int __xipram do_erase_oneblock(struct map_info *map, struct
Quoted 2 lines

flchip *chip,
unsigned long adr, int len, void *thunk)

Thank you for sending this patch upstream.

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/