You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by je...@apache.org on 2025/11/07 16:53:20 UTC
(mynewt-core) 20/26: drivers/adp5061: Register command statically
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 15a3bfcad25d949df9a0be247b5ff3c31ac64ac1
Author: Jerzy Kasenberg <je...@codecoup.pl>
AuthorDate: Fri Jun 6 19:21:44 2025 +0200
drivers/adp5061: Register command statically
Now adp5061 shell command is registered at link time to
reduce memory footprint.
No change in functionality.
Signed-off-by: Jerzy Kasenberg <je...@apache.org>
---
hw/drivers/chg_ctrl/adp5061/pkg.yml | 2 ++
hw/drivers/chg_ctrl/adp5061/src/adp5061.c | 4 ----
hw/drivers/chg_ctrl/adp5061/src/adp5061_shell.c | 17 ++++-------------
3 files changed, 6 insertions(+), 17 deletions(-)
diff --git a/hw/drivers/chg_ctrl/adp5061/pkg.yml b/hw/drivers/chg_ctrl/adp5061/pkg.yml
index 8bc3c8df4..41af0bf6a 100644
--- a/hw/drivers/chg_ctrl/adp5061/pkg.yml
+++ b/hw/drivers/chg_ctrl/adp5061/pkg.yml
@@ -39,3 +39,5 @@ pkg.deps.!BUS_DRIVER_PRESENT||ADP5061_USE_CHARGE_CONTROL:
pkg.deps.ADP5061_CLI:
- '@apache-mynewt-core/sys/shell'
- '@apache-mynewt-core/util/parse'
+
+pkg.whole_archive: true
diff --git a/hw/drivers/chg_ctrl/adp5061/src/adp5061.c b/hw/drivers/chg_ctrl/adp5061/src/adp5061.c
index 6e681d6c7..7a15a77e0 100644
--- a/hw/drivers/chg_ctrl/adp5061/src/adp5061.c
+++ b/hw/drivers/chg_ctrl/adp5061/src/adp5061.c
@@ -674,10 +674,6 @@ adp5061_init(struct os_dev *dev, void *arg)
}
#endif /* ADP5061_USE_CHARGE_CONTROL */
-#if MYNEWT_VAL(ADP5061_CLI)
- adp5061_shell_init(adp5061);
-#endif
-
return 0;
err:
return rc;
diff --git a/hw/drivers/chg_ctrl/adp5061/src/adp5061_shell.c b/hw/drivers/chg_ctrl/adp5061/src/adp5061_shell.c
index 184b78732..0cad5dbe1 100644
--- a/hw/drivers/chg_ctrl/adp5061/src/adp5061_shell.c
+++ b/hw/drivers/chg_ctrl/adp5061/src/adp5061_shell.c
@@ -624,13 +624,6 @@ static const struct adp5061_reg adp5061_device_regs[] = {
#define NUM_DEVICE_REGS (sizeof(adp5061_device_regs)\
/sizeof(adp5061_device_regs[0]))
-static int adp5061_shell_cmd(int argc, char **argv);
-
-static const struct shell_cmd adp5061_shell_cmd_struct = {
- .sc_cmd = "adp5061",
- .sc_cmd_func = adp5061_shell_cmd
-};
-
static int
adp5061_shell_err_too_many_args(const char *cmd_name)
{
@@ -665,7 +658,7 @@ adp5061_shell_err_missing_arg(const char *cmd_name)
static int
adp5061_shell_help(void)
{
- console_printf("%s cmd\n", adp5061_shell_cmd_struct.sc_cmd);
+ console_printf("adp5061 cmd\n");
console_printf("cmd:\n");
console_printf("\thelp\n");
#if MYNEWT_VAL(ADP5061_CLI_DECODE)
@@ -970,16 +963,14 @@ adp5061_shell_cmd(int argc, char **argv)
return adp5061_shell_err_unknown_arg(argv[1]);
}
+MAKE_SHELL_CMD(adp5061, adp5061_shell_cmd, NULL);
+
int
adp5061_shell_init(struct adp5061_dev *dev)
{
- int rc;
-
adp5061_dev = dev;
- rc = shell_cmd_register(&adp5061_shell_cmd_struct);
- SYSINIT_PANIC_ASSERT(rc == 0);
- return rc;
+ return 0;
}
#endif