From 89d3ba44ca9221dd9b5e31c4ce7ae0a497e89b46 Mon Sep 17 00:00:00 2001
From: curuvar <58759586+curuvar@users.noreply.github.com>
Date: Mon, 5 Sep 2022 14:34:58 -0400
Subject: [PATCH] Fixes to RP2040 SMART flash and documentation
---
.../boards/adafruit-feather-rp2040/index.rst | 6 ++++
.../rp2040/boards/adafruit-kb2040/index.rst | 6 ++++
.../boards/adafruit-qt-py-rp2040/index.rst | 6 ++++
.../rp2040/boards/pimoroni-tiny2040/index.rst | 6 ++++
.../boards/raspberrypi-pico-w/index.rst | 9 ++++-
.../rp2040/boards/raspberrypi-pico/index.rst | 6 ++++
.../rp2040/adafruit-feather-rp2040/README.txt | 2 +-
boards/arm/rp2040/adafruit-kb2040/README.txt | 2 +-
.../rp2040/adafruit-qt-py-rp2040/README.txt | 2 +-
.../arm/rp2040/pimoroni-tiny2040/README.txt | 2 +-
.../arm/rp2040/raspberrypi-pico-w/README.txt | 2 +-
boards/arm/rp2040/raspberrypi-pico/README.txt | 2 +-
.../ieee80211/bcm43xxx/bcmf_gspi_f2_frame.c | 2 +-
.../ieee80211/bcm43xxx/bcmf_gspi_f2_frame.h | 2 +-
fs/smartfs/smartfs.h | 14 +++++---
fs/smartfs/smartfs_smart.c | 36 ++-----------------
fs/smartfs/smartfs_utils.c | 4 +--
17 files changed, 60 insertions(+), 49 deletions(-)
diff --git a/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/index.rst b/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/index.rst
index 2804c50eab..9bbfe545e9 100644
--- a/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/index.rst
+++ b/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/index.rst
@@ -156,6 +156,12 @@ nsh
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
+nsh-flash
+---------
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps
+with SMART flash filesystem.
+
nshsram
-------
diff --git a/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/index.rst b/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/index.rst
index d3074d5b26..3babaa5c4c 100644
--- a/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/index.rst
+++ b/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/index.rst
@@ -132,6 +132,12 @@ nsh
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
+nsh-flash
+---------
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps
+with SMART flash filesystem.
+
nshsram
-------
diff --git a/Documentation/platforms/arm/rp2040/boards/adafruit-qt-py-rp2040/index.rst b/Documentation/platforms/arm/rp2040/boards/adafruit-qt-py-rp2040/index.rst
index 3052d078e6..93f363df5f 100644
--- a/Documentation/platforms/arm/rp2040/boards/adafruit-qt-py-rp2040/index.rst
+++ b/Documentation/platforms/arm/rp2040/boards/adafruit-qt-py-rp2040/index.rst
@@ -100,6 +100,12 @@ nsh
Basic NuttShell configuration (console enabled in UART1, at 115200 bps).
+nsh-flash
+---------
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps
+with SMART flash filesystem.
+
nshsram
-------
diff --git a/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/index.rst b/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/index.rst
index e4b61efd11..3ef289a096 100644
--- a/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/index.rst
+++ b/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/index.rst
@@ -97,6 +97,12 @@ nsh
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
+nsh-flash
+---------
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps
+with SMART flash filesystem.
+
nshsram
-------
diff --git a/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico-w/index.rst b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico-w/index.rst
index b72b96b42d..0d94d0bc13 100644
--- a/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico-w/index.rst
+++ b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico-w/index.rst
@@ -1,5 +1,5 @@
===============================
-Raspberry Pi Pico
+Raspberry Pi Pico W
===============================
The `Raspberry Pi Pico `_ is a general purpose board supplied by
@@ -38,6 +38,7 @@ Buttons and LEDs
================
LED controlled by GPIO0 of the wireless chip (not the RP2040 processor).
+Use rp2040_extra_gpio_put(0,value) to control this LED.
A BOOTSEL button, which if held down when power is first
applied to the board, will cause the RP2040 to boot into programming
@@ -179,6 +180,12 @@ nsh
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
+nsh-flash
+---------
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps
+with SMART flash filesystem.
+
nshsram
-------
diff --git a/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/index.rst b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/index.rst
index f4585c6e66..196cf03733 100644
--- a/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/index.rst
+++ b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/index.rst
@@ -158,6 +158,12 @@ nsh
Basic NuttShell configuration (console enabled in UART0, at 115200 bps).
+nsh-flash
+---------
+
+Basic NuttShell configuration (console enabled in UART0, at 115200 bps
+with SMART flash filesystem.
+
nshsram
-------
diff --git a/boards/arm/rp2040/adafruit-feather-rp2040/README.txt b/boards/arm/rp2040/adafruit-feather-rp2040/README.txt
index 80f2a72af0..313f36672f 100644
--- a/boards/arm/rp2040/adafruit-feather-rp2040/README.txt
+++ b/boards/arm/rp2040/adafruit-feather-rp2040/README.txt
@@ -71,7 +71,7 @@ Defconfigs
- nsh
Minimum configuration with NuttShell
-- nsh_flash
+- nsh-flash
NuttX shell with SMART flash filesystem.
- nshsram
diff --git a/boards/arm/rp2040/adafruit-kb2040/README.txt b/boards/arm/rp2040/adafruit-kb2040/README.txt
index 4c725d2166..082dcba688 100644
--- a/boards/arm/rp2040/adafruit-kb2040/README.txt
+++ b/boards/arm/rp2040/adafruit-kb2040/README.txt
@@ -70,7 +70,7 @@ Defconfigs
- nsh
Minimum configuration with NuttShell
-- nsh_flash
+- nsh-flash
NuttX shell with SMART flash filesystem.
- nshsram
diff --git a/boards/arm/rp2040/adafruit-qt-py-rp2040/README.txt b/boards/arm/rp2040/adafruit-qt-py-rp2040/README.txt
index 039eb52964..925782094b 100644
--- a/boards/arm/rp2040/adafruit-qt-py-rp2040/README.txt
+++ b/boards/arm/rp2040/adafruit-qt-py-rp2040/README.txt
@@ -65,7 +65,7 @@ Defconfigs
- nsh
Minimum configuration with NuttShell
-- nsh_flash
+- nsh-flash
NuttX shell with SMART flash filesystem.
- nshsram
diff --git a/boards/arm/rp2040/pimoroni-tiny2040/README.txt b/boards/arm/rp2040/pimoroni-tiny2040/README.txt
index 4eb1ab821c..76668788a1 100644
--- a/boards/arm/rp2040/pimoroni-tiny2040/README.txt
+++ b/boards/arm/rp2040/pimoroni-tiny2040/README.txt
@@ -69,7 +69,7 @@ Defconfigs
- nsh
Minimum configuration with NuttShell
-- nsh_flash
+- nsh-flash
NuttX shell with SMART flash filesystem.
- nshsram
diff --git a/boards/arm/rp2040/raspberrypi-pico-w/README.txt b/boards/arm/rp2040/raspberrypi-pico-w/README.txt
index 1757187c4d..4940494200 100644
--- a/boards/arm/rp2040/raspberrypi-pico-w/README.txt
+++ b/boards/arm/rp2040/raspberrypi-pico-w/README.txt
@@ -72,7 +72,7 @@ Defconfigs
- nsh
Minimum configuration with NuttShell
-- nsh_flash
+- nsh-flash
NuttX shell with SMART flash filesystem.
- nshsram
diff --git a/boards/arm/rp2040/raspberrypi-pico/README.txt b/boards/arm/rp2040/raspberrypi-pico/README.txt
index 86d60167e7..a6826e0f7b 100644
--- a/boards/arm/rp2040/raspberrypi-pico/README.txt
+++ b/boards/arm/rp2040/raspberrypi-pico/README.txt
@@ -71,7 +71,7 @@ Defconfigs
- nsh
Minimum configuration with NuttShell
-- nsh_flash
+- nsh-flash
NuttX shell with SMART flash filesystem.
- nshsram
diff --git a/drivers/wireless/ieee80211/bcm43xxx/bcmf_gspi_f2_frame.c b/drivers/wireless/ieee80211/bcm43xxx/bcmf_gspi_f2_frame.c
index c534982baa..586d636eea 100644
--- a/drivers/wireless/ieee80211/bcm43xxx/bcmf_gspi_f2_frame.c
+++ b/drivers/wireless/ieee80211/bcm43xxx/bcmf_gspi_f2_frame.c
@@ -129,7 +129,7 @@ int process_f2_frame_header(FAR bcmf_interface_dev_t *gbus,
****************************************************************************/
/****************************************************************************
- * Name: read_f2_frame
+ * Name: bcmf_gspi_read_f2_frame
*
* Description:
* Read and process an F2 frame.
diff --git a/drivers/wireless/ieee80211/bcm43xxx/bcmf_gspi_f2_frame.h b/drivers/wireless/ieee80211/bcm43xxx/bcmf_gspi_f2_frame.h
index bad14cba45..06ae58fda2 100644
--- a/drivers/wireless/ieee80211/bcm43xxx/bcmf_gspi_f2_frame.h
+++ b/drivers/wireless/ieee80211/bcm43xxx/bcmf_gspi_f2_frame.h
@@ -32,7 +32,7 @@
****************************************************************************/
/****************************************************************************
- * Name: read_f2_frame
+ * Name: bcmf_gspi_read_f2_frame
*
* Description:
* Read and process an F2 frame.
diff --git a/fs/smartfs/smartfs.h b/fs/smartfs/smartfs.h
index d00d836bf6..0e66875c7d 100644
--- a/fs/smartfs/smartfs.h
+++ b/fs/smartfs/smartfs.h
@@ -199,15 +199,21 @@
#ifdef CONFIG_SMARTFS_ALIGNED_ACCESS
# define SMARTFS_NEXTSECTOR(h) (smartfs_rdle16(h->nextsector))
-# define SMARTFS_SET_NEXTSECTOR(h, v) smartfs_wrle16(h->nextsector, v)
+# define SMARTFS_SET_NEXTSECTOR(h, v) smartfs_wrle16(h->nextsector, \
+ (uint16_t)(v))
+
# define SMARTFS_USED(h) (smartfs_rdle16(h->used))
-# define SMARTFS_SET_USED(h, v) smartfs_wrle16(h->used, v)
+# define SMARTFS_SET_USED(h, v) smartfs_wrle16(h->used, \
+ (uint16_t)(v))
#else
# define SMARTFS_NEXTSECTOR(h) (*((uint16_t *)h->nextsector))
-# define SMARTFS_SET_NEXTSECTOR(h, v) ((*((uint16_t *)h->nextsector)) = v)
+# define SMARTFS_SET_NEXTSECTOR(h, v) ((*((uint16_t *)h->nextsector)) = \
+ (uint16_t)(v))
+
# define SMARTFS_USED(h) (*((uint16_t *)h->used))
-# define SMARTFS_SET_USED(h, v) ((*((uint16_t *)h->used)) = v)
+# define SMARTFS_SET_USED(h, v) ((*((uint16_t *)h->used)) = \
+ (uint16_t)(v))
#endif
#ifdef CONFIG_MTD_SMART_ENABLE_CRC
diff --git a/fs/smartfs/smartfs_smart.c b/fs/smartfs/smartfs_smart.c
index 9cebba5c99..9b48562a0a 100644
--- a/fs/smartfs/smartfs_smart.c
+++ b/fs/smartfs/smartfs_smart.c
@@ -45,10 +45,6 @@
#include "smartfs.h"
-#ifdef CONFIG_DEBUG_FS_INFO
-# include
-#endif
-
/****************************************************************************
* Private Type
****************************************************************************/
@@ -532,8 +528,6 @@ static ssize_t smartfs_read(FAR struct file *filep, char *buffer,
DEBUGASSERT(filep->f_priv != NULL && filep->f_inode != NULL);
- finfo("Reading %u bytes\n", (unsigned) buflen);
-
/* Recover our private data from the struct file instance */
sf = filep->f_priv;
@@ -639,18 +633,6 @@ static ssize_t smartfs_read(FAR struct file *filep, char *buffer,
/* Return the number of bytes we read */
-#ifdef CONFIG_DEBUG_FS_INFO
- finfo("Read %lu bytes:", bytesread);
- for (uint32_t i = 0; i < bytesread; ++i)
- {
- if ((i & 0x0f) == 0) printf("\n ");
-
- printf("%02x, ", buffer[i]);
- }
-
- printf("\n");
-#endif
-
ret = bytesread;
errout_with_semaphore:
@@ -675,18 +657,6 @@ static ssize_t smartfs_write(FAR struct file *filep, const char *buffer,
DEBUGASSERT(filep->f_priv != NULL && filep->f_inode != NULL);
-#ifdef CONFIG_DEBUG_FS_INFO
- finfo("Writing %lu bytes:", (uint32_t)buflen);
- for (uint32_t i = 0; i < buflen; ++i)
- {
- if ((i & 0x0f) == 0) printf("\n ");
-
- printf("%02x, ", buffer[i]);
- }
-
- printf("\n");
-#endif
-
/* Recover our private data from the struct file instance */
sf = filep->f_priv;
@@ -882,7 +852,7 @@ static ssize_t smartfs_write(FAR struct file *filep, const char *buffer,
/* Copy the new sector to the old one and chain it */
header = (struct smartfs_chain_header_s *) sf->buffer;
- SMARTFS_SET_NEXTSECTOR(header, (uint16_t) ret);
+ SMARTFS_SET_NEXTSECTOR(header, ret);
/* Now sync the file to write this sector out */
@@ -938,7 +908,7 @@ static ssize_t smartfs_write(FAR struct file *filep, const char *buffer,
/* Copy the new sector to the old one and chain it */
header = (struct smartfs_chain_header_s *) fs->fs_rwbuffer;
- SMARTFS_SET_NEXTSECTOR(header, (uint16_t) ret);
+ SMARTFS_SET_NEXTSECTOR(header, ret);
readwrite.offset = offsetof(struct smartfs_chain_header_s,
nextsector);
readwrite.buffer = (uint8_t *) header->nextsector;
@@ -971,8 +941,6 @@ static ssize_t smartfs_write(FAR struct file *filep, const char *buffer,
ret = byteswritten;
- finfo("Wrote %u bytes\n", (unsigned) byteswritten);
-
errout_with_semaphore:
smartfs_semgive(fs);
return ret;
diff --git a/fs/smartfs/smartfs_utils.c b/fs/smartfs/smartfs_utils.c
index ef2d019c3a..24267ca65f 100644
--- a/fs/smartfs/smartfs_utils.c
+++ b/fs/smartfs/smartfs_utils.c
@@ -2031,7 +2031,7 @@ int smartfs_extendfile(FAR struct smartfs_mountpt_s *fs,
/* Copy the new sector to the old one and chain it */
header = (struct smartfs_chain_header_s *) sf->buffer;
- SMARTFS_SET_NEXTSECTOR(header, (uint16_t)ret);
+ SMARTFS_SET_NEXTSECTOR(header, ret);
/* Now sync the file to write this sector out */
@@ -2087,7 +2087,7 @@ int smartfs_extendfile(FAR struct smartfs_mountpt_s *fs,
/* Copy the new sector to the old one and chain it */
header = (struct smartfs_chain_header_s *)fs->fs_rwbuffer;
- SMARTFS_SET_NEXTSECTOR(header, (uint16_t)ret);
+ SMARTFS_SET_NEXTSECTOR(header, ret);
readwrite.offset = offsetof(struct smartfs_chain_header_s,
nextsector);