This is an automated email from the ASF dual-hosted git repository.

jerzy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git

commit 188617c688c6ac65805da02a0431a7bc5cd73e4e
Author: Jerzy Kasenberg <[email protected]>
AuthorDate: Fri Jun 6 20:31:05 2025 +0200

    drivers/bmp280: Register command statically
    
    Now bmp280 shell command is registered at link time to
    reduce memory footprint.
    
    Signed-off-by: Jerzy Kasenberg <[email protected]>
---
 hw/drivers/sensors/bmp280/pkg.yml            |  8 ++++++++
 hw/drivers/sensors/bmp280/src/bmp280_shell.c | 15 ++++-----------
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/hw/drivers/sensors/bmp280/pkg.yml 
b/hw/drivers/sensors/bmp280/pkg.yml
index c5065306d..003c272e7 100644
--- a/hw/drivers/sensors/bmp280/pkg.yml
+++ b/hw/drivers/sensors/bmp280/pkg.yml
@@ -42,5 +42,13 @@ pkg.deps.BUS_DRIVER_PRESENT:
 pkg.req_apis:
     - stats
 
+pkg.whole_archive: true
+
+pkg.source_files:
+    - src/bmp280.c
+
+pkg.source_files.BMP280_CLI:
+    - src/bmp280_shell.c
+
 pkg.deps.BMP280_CLI:
     - "@apache-mynewt-core/util/parse"
diff --git a/hw/drivers/sensors/bmp280/src/bmp280_shell.c 
b/hw/drivers/sensors/bmp280/src/bmp280_shell.c
index 3b0c0e558..573a5d1c2 100644
--- a/hw/drivers/sensors/bmp280/src/bmp280_shell.c
+++ b/hw/drivers/sensors/bmp280/src/bmp280_shell.c
@@ -31,13 +31,6 @@
 #include "shell/shell.h"
 #include "parse/parse.h"
 
-static int bmp280_shell_cmd(int argc, char **argv);
-
-static struct shell_cmd bmp280_shell_cmd_struct = {
-    .sc_cmd = "bmp280",
-    .sc_cmd_func = bmp280_shell_cmd
-};
-
 #if MYNEWT_VAL(BUS_DRIVER_PRESENT)
 static struct sensor_itf g_sensor_itf;
 #else
@@ -76,7 +69,7 @@ bmp280_shell_err_invalid_arg(char *cmd_name)
 static int
 bmp280_shell_help(void)
 {
-    console_printf("%s cmd [flags...]\n", bmp280_shell_cmd_struct.sc_cmd);
+    console_printf("bmp280 cmd [flags...]\n");
     console_printf("cmd:\n");
     console_printf("\tr    [n_samples]\n");
     console_printf("\tmode [0-sleep | 1/2-forced | 3-normal]\n");
@@ -434,10 +427,12 @@ static const struct bus_spi_node_cfg bmp280_raw_cfg = {
 
 #endif
 
+MAKE_SHELL_CMD(bmp280, bmp280_shell_cmd, NULL)
+
 int
 bmp280_shell_init(void)
 {
-    int rc;
+    int rc = 0;
 
 #if MYNEWT_VAL(BUS_DRIVER_PRESENT)
     struct os_dev *dev = NULL;
@@ -457,8 +452,6 @@ bmp280_shell_init(void)
         console_printf("Failed to create bmp280_raw device\n");
     }
 #endif
-    rc = shell_cmd_register(&bmp280_shell_cmd_struct);
-    SYSINIT_PANIC_ASSERT(rc == 0);
 
     return rc;
 }

Reply via email to